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

[01/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Updated Branches:
  refs/heads/master ec00a6fb7 -> 65b12f45b


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/settings.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/settings.py b/tools/marvin/build/lib/marvin/settings.py
deleted file mode 100644
index a31e182..0000000
--- a/tools/marvin/build/lib/marvin/settings.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-# Settings for the XML test runner
-
-# Use this setting to choose between a verbose and a non-verbose output.
-TEST_OUTPUT_VERBOSE = 2.
-
-# If your test methods contains docstrings, you can display such docstrings
-# instead of display the test name (ex: module.TestCase.test_method).
-# In order to use this feature, you have to enable verbose output by setting
-# TEST_OUTPUT_VERBOSE = 2.
-
-TEST_OUTPUT_DESCRIPTIONS = True

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/testSetupSuccess.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/testSetupSuccess.py b/tools/marvin/build/lib/marvin/testSetupSuccess.py
deleted file mode 100644
index 1701626..0000000
--- a/tools/marvin/build/lib/marvin/testSetupSuccess.py
+++ /dev/null
@@ -1,98 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import marvin
-import unittest
-from marvin.cloudstackTestCase import *
-from marvin.cloudstackAPI import *
-from time import sleep as delay
-
-
-class TestSetupSuccess(cloudstackTestCase):
-    """
-    Test to verify if the cloudstack is ready to launch tests upon
-    1. Verify that system VMs are up and running in all zones
-    2. Verify that built-in templates are Ready in all zones
-    """
-    @classmethod
-    def setUpClass(cls):
-        testClient = super(TestSetupSuccess, cls).getClsTestClient()
-        cls.apiClient = testClient.getApiClient()
-
-        zones = listZones.listZonesCmd()
-        cls.zones_list = cls.apiClient.listZones(zones)
-        cls.retry = 2
-
-    def test_systemVmReady(self):
-        """
-        system VMs need to be ready and Running for each zone in cloudstack
-        """
-        for z in self.zones_list:
-            retry = self.retry
-            while retry != 0:
-                self.debug("looking for system VMs in zone: %s, %s" %
-                           (z.id, z.name))
-                sysvms = listSystemVms.listSystemVmsCmd()
-                sysvms.zoneid = z.id
-                sysvms.state = 'Running'
-                sysvms_list = self.apiClient.listSystemVms(sysvms)
-                if sysvms_list is not None and len(sysvms_list) == 2:
-                    assert len(sysvms_list) == 2
-                    self.debug("found %d system VMs running {%s}" %
-                               (len(sysvms_list), sysvms_list))
-                    break
-                retry = retry - 1
-                delay(60)  # wait a minute for retry
-            self.assertNotEqual(retry, 0,
-                                "system VMs not Running in zone %s" %
-                                z.name)
-
-    def test_templateBuiltInReady(self):
-        """
-        built-in templates CentOS to be ready
-        """
-        for z in self.zones_list:
-            retry = self.retry
-            while retry != 0:
-                self.debug("Looking for at least one ready builtin template")
-                templates = listTemplates.listTemplatesCmd()
-                templates.templatefilter = 'featured'
-                templates.listall = 'true'
-                templates_list = self.apiClient.listTemplates(templates)
-                if templates_list is not None:
-                    builtins = [tmpl
-                                for tmpl in templates_list
-                                if tmpl.templatetype == 'BUILTIN'
-                                and tmpl.isready]
-                    if len(builtins) > 0:
-                        self.debug("Found %d builtins ready for use %s" %
-                                   (len(builtins), builtins))
-                        break
-                retry = retry - 1
-                delay(60)  # wait a minute for retry
-            self.assertNotEqual(retry, 0,
-                                "builtIn templates not ready in zone %s" %
-                                z.name)
-
-    def test_deployVmWithBuiltIn(self):
-        """
-        Deploys a VM with the built-in CentOS template
-        """
-
-    @classmethod
-    def tearDownClass(cls):
-        pass

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/marvin/integration/lib/utils.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/utils.py b/tools/marvin/marvin/integration/lib/utils.py
index d2bfb8f..58a9bf9 100644
--- a/tools/marvin/marvin/integration/lib/utils.py
+++ b/tools/marvin/marvin/integration/lib/utils.py
@@ -118,7 +118,7 @@ def is_server_ssh_ready(ipaddress, port, username, password, retries=20, retryin
     @Name: is_server_ssh_ready
     @Input: timeout: tcp connection timeout flag,
             others information need to be added
-    @Output:object for SshClient    
+    @Output:object for remoteSSHClient
     Name of the function is little misnomer and is not
               verifying anything as such mentioned
     '''
@@ -129,12 +129,12 @@ def is_server_ssh_ready(ipaddress, port, username, password, retries=20, retryin
             port=port,
             user=username,
             passwd=password,
-            keyPairFiles=keyPairFileLocation,
+            keyPairFileLocation=keyPairFileLocation,
             retries=retries,
             delay=retryinterv,
             timeout=timeout)
     except Exception, e:
-        raise Exception("SSH connection has Failed. Waited %ss. Error is %s" % (retries * retryinterv, str(e)))
+        raise Exception("SSH connection has Failed. Waited %ss. Error is %s" % (retries * retryinterv, e))
     else:
         return ssh
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/marvin/integration/lib/utils.py.rej
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/utils.py.rej b/tools/marvin/marvin/integration/lib/utils.py.rej
deleted file mode 100644
index acae528..0000000
--- a/tools/marvin/marvin/integration/lib/utils.py.rej
+++ /dev/null
@@ -1,10 +0,0 @@
-diff a/tools/marvin/marvin/integration/lib/utils.py b/tools/marvin/marvin/integration/lib/utils.py	(rejected hunks)
-@@ -118,7 +118,7 @@ def is_server_ssh_ready(ipaddress, port, username, password, retries=20, retryin
-     @Name: is_server_ssh_ready
-     @Input: timeout: tcp connection timeout flag,
-             others information need to be added
--    @Output:object for remoteSSHClient
-+    @Output:object for SshClient
-     Name of the function is little misnomer and is not 
-               verifying anything as such mentioned
-     '''

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/marvin/remoteSSHClient.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/remoteSSHClient.py b/tools/marvin/marvin/remoteSSHClient.py
new file mode 100644
index 0000000..c9720e3
--- /dev/null
+++ b/tools/marvin/marvin/remoteSSHClient.py
@@ -0,0 +1,182 @@
+# 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.
+
+import paramiko
+import time
+import cloudstackException
+import contextlib
+import logging
+from marvin.codes import (
+    SUCCESS, FAIL, INVALID_INPUT, EXCEPTION_OCCURRED
+    )
+from contextlib import closing
+
+
+class remoteSSHClient(object):
+    '''
+    Added timeout flag for ssh connect calls.Default to 3.0 seconds
+    '''
+    def __init__(self, host, port, user, passwd, retries=20, delay=30,
+                 log_lvl=logging.INFO, keyPairFiles=None, timeout=10.0):
+        self.host = None
+        self.port = 22
+        self.user = user
+        self.passwd = passwd
+        self.keyPairFiles = keyPairFiles
+        self.ssh = paramiko.SSHClient()
+        self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
+        self.logger = logging.getLogger('sshClient')
+        self.retryCnt = 0
+        self.delay = 0
+        self.timeout = 3.0
+        ch = logging.StreamHandler()
+        ch.setLevel(log_lvl)
+        self.logger.addHandler(ch)
+
+        #Check invalid host value and raise exception
+        #Atleast host is required for connection
+        if host is not None and host != '':
+            self.host = host
+        if retries is not None and retries > 0:
+            self.retryCnt = retries
+        if delay is not None and delay > 0:
+            self.delay = delay
+        if timeout is not None and timeout > 0:
+            self.timeout = timeout
+        if port is not None or port >= 0:
+            self.port = port
+        if self.createConnection() == FAIL:
+            raise cloudstackException.\
+                internalError("Connection Failed")
+
+    def execute(self, command):
+        stdin, stdout, stderr = self.ssh.exec_command(command)
+        output = stdout.readlines()
+        errors = stderr.readlines()
+        results = []
+        if output is not None and len(output) == 0:
+            if errors is not None and len(errors) > 0:
+                for error in errors:
+                    results.append(error.rstrip())
+
+        else:
+            for strOut in output:
+                results.append(strOut.rstrip())
+        self.logger.debug("{Cmd: %s via Host: %s} {returns: %s}" %
+                          (command, str(self.host), results))
+        return results
+
+    def createConnection(self):
+        '''
+        @Name: createConnection
+        @Desc: Creates an ssh connection for
+               retries mentioned,along with sleep mentioned
+        @Output: SUCCESS on successful connection
+                 FAIL If connection through ssh failed
+        '''
+        ret = FAIL
+        while self.retryCnt >= 0:
+            try:
+                self.logger.debug("SSH Connection: Host:%s User:%s\
+                                   Port:%s KeyPairFile: %s" %
+                                  (self.host, self.user, str(self.port),
+                                   str(self.keyPairFiles)))
+                if self.keyPairFiles is None:
+                    self.ssh.connect(hostname=self.host,
+                                     port=self.port,
+                                     username=self.user,
+                                     password=self.passwd,
+                                     timeout=self.timeout)
+                else:
+                    self.ssh.connect(hostname=self.host,
+                                     port=self.port,
+                                     username=self.user,
+                                     password=self.passwd,
+                                     key_filename=self.keyPairFiles,
+                                     timeout=self.timeout,
+                                     look_for_keys=False
+                                     )
+                ret = SUCCESS
+                break
+            except Exception as se:
+                self.retryCnt = self.retryCnt - 1
+                if self.retryCnt == 0:
+                    break
+                time.sleep(self.delay)
+        return ret
+
+    def runCommand(self, command):
+        '''
+        @Name: runCommand
+        @Desc: Runs a command over ssh and
+               returns the result along with status code
+        @Input: command to execute
+        @Output: 1: status of command executed.
+                 Default to None
+                 SUCCESS : If command execution is successful
+                 FAIL    : If command execution has failed
+                 EXCEPTION_OCCURRED: Exception occurred while executing
+                                     command
+                 INVALID_INPUT : If invalid value for command is passed
+                 2: stdin,stdout,stderr values of command output
+        '''
+        excep_msg = ''
+        ret = {"status": None, "stdin": None, "stdout": None, "stderr": None}
+        if command is None or command == '':
+            ret["status"] = INVALID_INPUT
+            return ret
+        try:
+            status_check = 1
+            stdin, stdout, stderr = self.ssh.exec_command(command)
+            output = stdout.readlines()
+            errors = stderr.readlines()
+            inp = stdin.readlines()
+            ret["stdin"] = inp
+            ret["stdout"] = output
+            ret["stderr"] = errors
+            if stdout is not None:
+                status_check = stdout.channel.recv_exit_status()
+            if status_check == 0:
+                ret["status"] = SUCCESS
+            else:
+                ret["status"] = FAIL
+        except Exception as e:
+            excep_msg = str(e)
+            ret["status"] = EXCEPTION_OCCURRED
+        finally:
+            self.logger.debug(" Host: %s Cmd: %s Output:%s Exception: %s" %
+                              (self.host, command, str(ret), excep_msg))
+            return ret
+
+    def scp(self, srcFile, destPath):
+        transport = paramiko.Transport((self.host, int(self.port)))
+        transport.connect(username=self.user, password=self.passwd)
+        sftp = paramiko.SFTPClient.from_transport(transport)
+        try:
+            sftp.put(srcFile, destPath)
+        except IOError, e:
+            raise e
+
+    def close(self):
+            if self.ssh is not None:
+                self.ssh.close()
+
+
+if __name__ == "__main__":
+    with contextlib.closing(remoteSSHClient("10.223.75.10", 22, "root",
+                                            "password")) as ssh:
+        print ssh.execute("ls -l")

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/marvin/sshClient.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/sshClient.py b/tools/marvin/marvin/sshClient.py
deleted file mode 100644
index 58f2602..0000000
--- a/tools/marvin/marvin/sshClient.py
+++ /dev/null
@@ -1,182 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import paramiko
-import time
-import cloudstackException
-import contextlib
-import logging
-from marvin.codes import (
-    SUCCESS, FAIL, INVALID_INPUT, EXCEPTION_OCCURRED
-    )
-from contextlib import closing
-
-
-class SshClient(object):
-    '''
-    Added timeout flag for ssh connect calls.Default to 3.0 seconds
-    '''
-    def __init__(self, host, port, user, passwd, retries=20, delay=30,
-                 log_lvl=logging.INFO, keyPairFiles=None, timeout=10.0):
-        self.host = None
-        self.port = 22
-        self.user = user
-        self.passwd = passwd
-        self.keyPairFiles = keyPairFiles
-        self.ssh = paramiko.SSHClient()
-        self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
-        self.logger = logging.getLogger('sshClient')
-        self.retryCnt = 0
-        self.delay = 0
-        self.timeout = 3.0
-        ch = logging.StreamHandler()
-        ch.setLevel(log_lvl)
-        self.logger.addHandler(ch)
-
-        #Check invalid host value and raise exception
-        #Atleast host is required for connection
-        if host is not None and host != '':
-            self.host = host
-        if retries is not None and retries > 0:
-            self.retryCnt = retries
-        if delay is not None and delay > 0:
-            self.delay = delay
-        if timeout is not None and timeout > 0:
-            self.timeout = timeout
-        if port is not None or port >= 0:
-            self.port = port
-        if self.createConnection() == FAIL:
-            raise cloudstackException.\
-                internalError("Connection Failed")
-
-    def execute(self, command):
-        stdin, stdout, stderr = self.ssh.exec_command(command)
-        output = stdout.readlines()
-        errors = stderr.readlines()
-        results = []
-        if output is not None and len(output) == 0:
-            if errors is not None and len(errors) > 0:
-                for error in errors:
-                    results.append(error.rstrip())
-
-        else:
-            for strOut in output:
-                results.append(strOut.rstrip())
-        self.logger.debug("{Cmd: %s via Host: %s} {returns: %s}" %
-                          (command, str(self.host), results))
-        return results
-
-    def createConnection(self):
-        '''
-        @Name: createConnection
-        @Desc: Creates an ssh connection for
-               retries mentioned,along with sleep mentioned
-        @Output: SUCCESS on successful connection
-                 FAIL If connection through ssh failed
-        '''
-        ret = FAIL
-        while self.retryCnt >= 0:
-            try:
-                self.logger.debug("SSH Connection: Host:%s User:%s\
-                                   Port:%s" %
-                                  (self.host, self.user, str(self.port)
-                                   ))
-                if self.keyPairFiles is None:
-                    self.ssh.connect(hostname=self.host,
-                                     port=self.port,
-                                     username=self.user,
-                                     password=self.passwd,
-                                     timeout=self.timeout)
-                else:
-                    self.ssh.connect(hostname=self.host,
-                                     port=self.port,
-                                     username=self.user,
-                                     password=self.passwd,
-                                     key_filename=self.keyPairFiles,
-                                     timeout=self.timeout,
-                                     look_for_keys=False
-                                     )
-                ret = SUCCESS
-                break
-            except Exception as se:
-                self.retryCnt = self.retryCnt - 1
-                if self.retryCnt == 0:
-                    break
-                time.sleep(self.delay)
-        return ret
-
-    def runCommand(self, command):
-        '''
-        @Name: runCommand
-        @Desc: Runs a command over ssh and
-               returns the result along with status code
-        @Input: command to execute
-        @Output: 1: status of command executed.
-                 Default to None
-                 SUCCESS : If command execution is successful
-                 FAIL    : If command execution has failed
-                 EXCEPTION_OCCURRED: Exception occurred while executing
-                                     command
-                 INVALID_INPUT : If invalid value for command is passed
-                 2: stdin,stdout,stderr values of command output
-        '''
-        excep_msg = ''
-        ret = {"status": None, "stdin": None, "stdout": None, "stderr": None}
-        if command is None or command == '':
-            ret["status"] = INVALID_INPUT
-            return ret
-        try:
-            status_check = 1
-            stdin, stdout, stderr = self.ssh.exec_command(command)
-            output = stdout.readlines()
-            errors = stderr.readlines()
-            inp = stdin.readlines()
-            ret["stdin"] = inp
-            ret["stdout"] = output
-            ret["stderr"] = errors
-            if stdout is not None:
-                status_check = stdout.channel.recv_exit_status()
-            if status_check == 0:
-                ret["status"] = SUCCESS
-            else:
-                ret["status"] = FAIL
-        except Exception as e:
-            excep_msg = str(e)
-            ret["status"] = EXCEPTION_OCCURRED
-        finally:
-            self.logger.debug(" Host: %s Cmd: %s Output:%s Exception: %s" %
-                              (self.host, command, str(ret), excep_msg))
-            return ret
-
-    def scp(self, srcFile, destPath):
-        transport = paramiko.Transport((self.host, int(self.port)))
-        transport.connect(username=self.user, password=self.passwd)
-        sftp = paramiko.SFTPClient.from_transport(transport)
-        try:
-            sftp.put(srcFile, destPath)
-        except IOError, e:
-            raise e
-
-    def close(self):
-            if self.ssh is not None:
-                self.ssh.close()
-
-
-if __name__ == "__main__":
-    with contextlib.closing(SshClient("10.223.75.10", 22, "root",
-                                            "password")) as ssh:
-        print ssh.execute("ls -l")


[15/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listNics.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listNics.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listNics.py
deleted file mode 100644
index d2a663a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listNics.py
+++ /dev/null
@@ -1,72 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""list the vm nics  IP to NIC"""
-from baseCmd import *
-from baseResponse import *
-class listNicsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the vm"""
-        """Required"""
-        self.virtualmachineid = None
-        """List by keyword"""
-        self.keyword = None
-        """the ID of the nic to to list IPs"""
-        self.nicid = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = ["virtualmachineid",]
-
-class listNicsResponse (baseResponse):
-    def __init__(self):
-        """the ID of the nic"""
-        self.id = None
-        """the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """the gateway of the nic"""
-        self.gateway = None
-        """the IPv6 address of network"""
-        self.ip6address = None
-        """the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """the ip address of the nic"""
-        self.ipaddress = None
-        """true if nic is default, false otherwise"""
-        self.isdefault = None
-        """the isolation uri of the nic"""
-        self.isolationuri = None
-        """true if nic is default, false otherwise"""
-        self.macaddress = None
-        """the netmask of the nic"""
-        self.netmask = None
-        """the ID of the corresponding network"""
-        self.networkid = None
-        """the name of the corresponding network"""
-        self.networkname = None
-        """the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """the traffic type of the nic"""
-        self.traffictype = None
-        """the type of the nic"""
-        self.type = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listOsCategories.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listOsCategories.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listOsCategories.py
deleted file mode 100644
index 6289315..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listOsCategories.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all supported OS categories for this cloud."""
-from baseCmd import *
-from baseResponse import *
-class listOsCategoriesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list Os category by id"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """list os category by name"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listOsCategoriesResponse (baseResponse):
-    def __init__(self):
-        """the ID of the OS category"""
-        self.id = None
-        """the name of the OS category"""
-        self.name = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listOsTypes.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listOsTypes.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listOsTypes.py
deleted file mode 100644
index 426a32d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listOsTypes.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all supported OS types for this cloud."""
-from baseCmd import *
-from baseResponse import *
-class listOsTypesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list os by description"""
-        self.description = None
-        """list by Os type Id"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """list by Os Category id"""
-        self.oscategoryid = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listOsTypesResponse (baseResponse):
-    def __init__(self):
-        """the ID of the OS type"""
-        self.id = None
-        """the name/description of the OS type"""
-        self.description = None
-        """the ID of the OS category"""
-        self.oscategoryid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listPhysicalNetworks.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listPhysicalNetworks.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listPhysicalNetworks.py
deleted file mode 100644
index 4cc7164..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listPhysicalNetworks.py
+++ /dev/null
@@ -1,61 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists physical networks"""
-from baseCmd import *
-from baseResponse import *
-class listPhysicalNetworksCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list physical network by id"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """search by name"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """the Zone ID for the physical network"""
-        self.zoneid = None
-        self.required = []
-
-class listPhysicalNetworksResponse (baseResponse):
-    def __init__(self):
-        """the uuid of the physical network"""
-        self.id = None
-        """Broadcast domain range of the physical network"""
-        self.broadcastdomainrange = None
-        """the domain id of the physical network owner"""
-        self.domainid = None
-        """isolation methods"""
-        self.isolationmethods = None
-        """name of the physical network"""
-        self.name = None
-        """the speed of the physical network"""
-        self.networkspeed = None
-        """state of the physical network"""
-        self.state = None
-        """comma separated tag"""
-        self.tags = None
-        """the vlan of the physical network"""
-        self.vlan = None
-        """zone id of the physical network"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listPods.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listPods.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listPods.py
deleted file mode 100644
index 64868d9..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listPods.py
+++ /dev/null
@@ -1,88 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all Pods."""
-from baseCmd import *
-from baseResponse import *
-class listPodsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list pods by allocation state"""
-        self.allocationstate = None
-        """list Pods by ID"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """list Pods by name"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """flag to display the capacity of the pods"""
-        self.showcapacities = None
-        """list Pods by Zone ID"""
-        self.zoneid = None
-        self.required = []
-
-class listPodsResponse (baseResponse):
-    def __init__(self):
-        """the ID of the Pod"""
-        self.id = None
-        """the allocation state of the Pod"""
-        self.allocationstate = None
-        """the ending IP for the Pod"""
-        self.endip = None
-        """the gateway of the Pod"""
-        self.gateway = None
-        """the name of the Pod"""
-        self.name = None
-        """the netmask of the Pod"""
-        self.netmask = None
-        """the starting IP for the Pod"""
-        self.startip = None
-        """the Zone ID of the Pod"""
-        self.zoneid = None
-        """the Zone name of the Pod"""
-        self.zonename = None
-        """the capacity of the Pod"""
-        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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listPortForwardingRules.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listPortForwardingRules.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listPortForwardingRules.py
deleted file mode 100644
index 02e9666..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listPortForwardingRules.py
+++ /dev/null
@@ -1,104 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all port forwarding rules for an IP address."""
-from baseCmd import *
-from baseResponse import *
-class listPortForwardingRulesCmd (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
-        """Lists rule with the specified ID."""
-        self.id = None
-        """the id of IP address of the port forwarding services"""
-        self.ipaddressid = 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
-        """list objects by project"""
-        self.projectid = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        self.required = []
-
-class listPortForwardingRulesResponse (baseResponse):
-    def __init__(self):
-        """the ID of the port forwarding rule"""
-        self.id = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """the public ip address for the port forwarding rule"""
-        self.ipaddress = None
-        """the public ip address id for the port forwarding rule"""
-        self.ipaddressid = None
-        """the ending port of port forwarding rule's private port range"""
-        self.privateendport = None
-        """the starting port of port forwarding rule's private port range"""
-        self.privateport = None
-        """the protocol of the port forwarding rule"""
-        self.protocol = None
-        """the ending port of port forwarding rule's private port range"""
-        self.publicendport = None
-        """the starting port of port forwarding rule's public port range"""
-        self.publicport = None
-        """the state of the rule"""
-        self.state = None
-        """the VM display name for the port forwarding rule"""
-        self.virtualmachinedisplayname = None
-        """the VM ID for the port forwarding rule"""
-        self.virtualmachineid = None
-        """the VM name for the port forwarding rule"""
-        self.virtualmachinename = None
-        """the vm ip address for the port forwarding rule"""
-        self.vmguestip = None
-        """the list of resource tags associated with the rule"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listPortableIpRanges.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listPortableIpRanges.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listPortableIpRanges.py
deleted file mode 100644
index 8f1c4d9..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listPortableIpRanges.py
+++ /dev/null
@@ -1,78 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""list portable IP ranges"""
-from baseCmd import *
-from baseResponse import *
-class listPortableIpRangesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Id of the portable ip range"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """Id of a Region"""
-        self.regionid = None
-        self.required = []
-
-class listPortableIpRangesResponse (baseResponse):
-    def __init__(self):
-        """portable IP range ID"""
-        self.id = None
-        """the end ip of the portable IP range"""
-        self.endip = None
-        """the gateway of the VLAN IP range"""
-        self.gateway = None
-        """the netmask of the VLAN IP range"""
-        self.netmask = None
-        """Region Id in which portable ip range is provisioned"""
-        self.regionid = None
-        """the start ip of the portable IP range"""
-        self.startip = None
-        """the ID or VID of the VLAN."""
-        self.vlan = None
-        """List of portable IP and association with zone/network/vpc details that are part of GSLB rule"""
-        self.portableipaddress = []
-
-class portableipaddress:
-    def __init__(self):
-        """"the account ID the portable IP address is associated with"""
-        self.accountid = None
-        """"date the portal IP address was acquired"""
-        self.allocated = None
-        """"the domain ID the portable IP address is associated with"""
-        self.domainid = None
-        """"public IP address"""
-        self.ipaddress = None
-        """"the ID of the Network where ip belongs to"""
-        self.networkid = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"Region Id in which global load balancer is created"""
-        self.regionid = None
-        """"State of the ip address. Can be: Allocatin, Allocated and Releasing"""
-        self.state = None
-        """"VPC the ip belongs to"""
-        self.vpcid = None
-        """"the ID of the zone the public IP address belongs to"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listPrivateGateways.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listPrivateGateways.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listPrivateGateways.py
deleted file mode 100644
index 86695f2..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listPrivateGateways.py
+++ /dev/null
@@ -1,89 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List private gateways"""
-from baseCmd import *
-from baseResponse import *
-class listPrivateGatewaysCmd (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 private gateway by id"""
-        self.id = None
-        """list gateways by ip address"""
-        self.ipaddress = 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
-        """list objects by project"""
-        self.projectid = None
-        """list gateways by state"""
-        self.state = None
-        """list gateways by vlan"""
-        self.vlan = None
-        """list gateways by vpc"""
-        self.vpcid = None
-        self.required = []
-
-class listPrivateGatewaysResponse (baseResponse):
-    def __init__(self):
-        """the id of the private gateway"""
-        self.id = None
-        """the account associated with the private gateway"""
-        self.account = None
-        """ACL Id set for private gateway"""
-        self.aclid = None
-        """the domain associated with the private gateway"""
-        self.domain = None
-        """the ID of the domain associated with the private gateway"""
-        self.domainid = None
-        """the gateway"""
-        self.gateway = None
-        """the private gateway's ip address"""
-        self.ipaddress = None
-        """the private gateway's netmask"""
-        self.netmask = None
-        """the physical network id"""
-        self.physicalnetworkid = None
-        """the project name of the private gateway"""
-        self.project = None
-        """the project id of the private gateway"""
-        self.projectid = None
-        """Souce Nat enable status"""
-        self.sourcenatsupported = None
-        """State of the gateway, can be Creating, Ready, Deleting"""
-        self.state = None
-        """the network implementation uri for the private gateway"""
-        self.vlan = None
-        """VPC the private gateaway belongs to"""
-        self.vpcid = None
-        """zone id of the private gateway"""
-        self.zoneid = None
-        """the name of the zone the private gateway belongs to"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listProjectAccounts.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listProjectAccounts.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listProjectAccounts.py
deleted file mode 100644
index 2b085c3..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listProjectAccounts.py
+++ /dev/null
@@ -1,151 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists project's accounts"""
-from baseCmd import *
-from baseResponse import *
-class listProjectAccountsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """id of the project"""
-        """Required"""
-        self.projectid = None
-        """list accounts of the project by account name"""
-        self.account = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list accounts of the project by role"""
-        self.role = None
-        self.required = ["projectid",]
-
-class listProjectAccountsResponse (baseResponse):
-    def __init__(self):
-        """the id of the project"""
-        self.id = None
-        """the account name of the project's owner"""
-        self.account = None
-        """the total number of cpu cores available to be created for this project"""
-        self.cpuavailable = None
-        """the total number of cpu cores the project can own"""
-        self.cpulimit = None
-        """the total number of cpu cores owned by project"""
-        self.cputotal = None
-        """the displaytext of the project"""
-        self.displaytext = None
-        """the domain name where the project belongs to"""
-        self.domain = None
-        """the domain id the project belongs to"""
-        self.domainid = None
-        """the total number of public ip addresses available for this project to acquire"""
-        self.ipavailable = None
-        """the total number of public ip addresses this project can acquire"""
-        self.iplimit = None
-        """the total number of public ip addresses allocated for this project"""
-        self.iptotal = None
-        """the total memory (in MB) available to be created for this project"""
-        self.memoryavailable = None
-        """the total memory (in MB) the project can own"""
-        self.memorylimit = None
-        """the total memory (in MB) owned by project"""
-        self.memorytotal = None
-        """the name of the project"""
-        self.name = None
-        """the total number of networks available to be created for this project"""
-        self.networkavailable = None
-        """the total number of networks the project can own"""
-        self.networklimit = None
-        """the total number of networks owned by project"""
-        self.networktotal = None
-        """the total primary storage space (in GiB) available to be used for this project"""
-        self.primarystorageavailable = None
-        """the total primary storage space (in GiB) the project can own"""
-        self.primarystoragelimit = None
-        """the total primary storage space (in GiB) owned by project"""
-        self.primarystoragetotal = None
-        """the total secondary storage space (in GiB) available to be used for this project"""
-        self.secondarystorageavailable = None
-        """the total secondary storage space (in GiB) the project can own"""
-        self.secondarystoragelimit = None
-        """the total secondary storage space (in GiB) owned by project"""
-        self.secondarystoragetotal = None
-        """the total number of snapshots available for this project"""
-        self.snapshotavailable = None
-        """the total number of snapshots which can be stored by this project"""
-        self.snapshotlimit = None
-        """the total number of snapshots stored by this project"""
-        self.snapshottotal = None
-        """the state of the project"""
-        self.state = None
-        """the total number of templates available to be created by this project"""
-        self.templateavailable = None
-        """the total number of templates which can be created by this project"""
-        self.templatelimit = None
-        """the total number of templates which have been created by this project"""
-        self.templatetotal = None
-        """the total number of virtual machines available for this project to acquire"""
-        self.vmavailable = None
-        """the total number of virtual machines that can be deployed by this project"""
-        self.vmlimit = None
-        """the total number of virtual machines running for this project"""
-        self.vmrunning = None
-        """the total number of virtual machines stopped for this project"""
-        self.vmstopped = None
-        """the total number of virtual machines deployed by this project"""
-        self.vmtotal = None
-        """the total volume available for this project"""
-        self.volumeavailable = None
-        """the total volume which can be used by this project"""
-        self.volumelimit = None
-        """the total volume being used by this project"""
-        self.volumetotal = None
-        """the total number of vpcs available to be created for this project"""
-        self.vpcavailable = None
-        """the total number of vpcs the project can own"""
-        self.vpclimit = None
-        """the total number of vpcs owned by project"""
-        self.vpctotal = None
-        """the list of resource tags associated with vm"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listProjectInvitations.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listProjectInvitations.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listProjectInvitations.py
deleted file mode 100644
index a5ef32b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listProjectInvitations.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists projects and provides detailed information for listed projects"""
-from baseCmd import *
-from baseResponse import *
-class listProjectInvitationsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list resources by account. Must be used with the domainId parameter."""
-        self.account = None
-        """if true, list only active invitations - having Pending state and ones that are not timed out yet"""
-        self.activeonly = None
-        """list only resources belonging to the domain specified"""
-        self.domainid = None
-        """list invitations by id"""
-        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
-        """list by project id"""
-        self.projectid = None
-        """list invitations by state"""
-        self.state = None
-        self.required = []
-
-class listProjectInvitationsResponse (baseResponse):
-    def __init__(self):
-        """the id of the invitation"""
-        self.id = None
-        """the account name of the project's owner"""
-        self.account = None
-        """the domain name where the project belongs to"""
-        self.domain = None
-        """the domain id the project belongs to"""
-        self.domainid = None
-        """the email the invitation was sent to"""
-        self.email = None
-        """the name of the project"""
-        self.project = None
-        """the id of the project"""
-        self.projectid = None
-        """the invitation state"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listProjects.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listProjects.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listProjects.py
deleted file mode 100644
index a60d355..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listProjects.py
+++ /dev/null
@@ -1,162 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists projects and provides detailed information for listed projects"""
-from baseCmd import *
-from baseResponse import *
-class listProjectsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list resources by account. Must be used with the domainId parameter."""
-        self.account = None
-        """list projects by display text"""
-        self.displaytext = None
-        """list only resources belonging to the domain specified"""
-        self.domainid = None
-        """list projects by project ID"""
-        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
-        """list projects by name"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list projects by state"""
-        self.state = None
-        """List projects by tags (key/value pairs)"""
-        self.tags = []
-        self.required = []
-
-class listProjectsResponse (baseResponse):
-    def __init__(self):
-        """the id of the project"""
-        self.id = None
-        """the account name of the project's owner"""
-        self.account = None
-        """the total number of cpu cores available to be created for this project"""
-        self.cpuavailable = None
-        """the total number of cpu cores the project can own"""
-        self.cpulimit = None
-        """the total number of cpu cores owned by project"""
-        self.cputotal = None
-        """the displaytext of the project"""
-        self.displaytext = None
-        """the domain name where the project belongs to"""
-        self.domain = None
-        """the domain id the project belongs to"""
-        self.domainid = None
-        """the total number of public ip addresses available for this project to acquire"""
-        self.ipavailable = None
-        """the total number of public ip addresses this project can acquire"""
-        self.iplimit = None
-        """the total number of public ip addresses allocated for this project"""
-        self.iptotal = None
-        """the total memory (in MB) available to be created for this project"""
-        self.memoryavailable = None
-        """the total memory (in MB) the project can own"""
-        self.memorylimit = None
-        """the total memory (in MB) owned by project"""
-        self.memorytotal = None
-        """the name of the project"""
-        self.name = None
-        """the total number of networks available to be created for this project"""
-        self.networkavailable = None
-        """the total number of networks the project can own"""
-        self.networklimit = None
-        """the total number of networks owned by project"""
-        self.networktotal = None
-        """the total primary storage space (in GiB) available to be used for this project"""
-        self.primarystorageavailable = None
-        """the total primary storage space (in GiB) the project can own"""
-        self.primarystoragelimit = None
-        """the total primary storage space (in GiB) owned by project"""
-        self.primarystoragetotal = None
-        """the total secondary storage space (in GiB) available to be used for this project"""
-        self.secondarystorageavailable = None
-        """the total secondary storage space (in GiB) the project can own"""
-        self.secondarystoragelimit = None
-        """the total secondary storage space (in GiB) owned by project"""
-        self.secondarystoragetotal = None
-        """the total number of snapshots available for this project"""
-        self.snapshotavailable = None
-        """the total number of snapshots which can be stored by this project"""
-        self.snapshotlimit = None
-        """the total number of snapshots stored by this project"""
-        self.snapshottotal = None
-        """the state of the project"""
-        self.state = None
-        """the total number of templates available to be created by this project"""
-        self.templateavailable = None
-        """the total number of templates which can be created by this project"""
-        self.templatelimit = None
-        """the total number of templates which have been created by this project"""
-        self.templatetotal = None
-        """the total number of virtual machines available for this project to acquire"""
-        self.vmavailable = None
-        """the total number of virtual machines that can be deployed by this project"""
-        self.vmlimit = None
-        """the total number of virtual machines running for this project"""
-        self.vmrunning = None
-        """the total number of virtual machines stopped for this project"""
-        self.vmstopped = None
-        """the total number of virtual machines deployed by this project"""
-        self.vmtotal = None
-        """the total volume available for this project"""
-        self.volumeavailable = None
-        """the total volume which can be used by this project"""
-        self.volumelimit = None
-        """the total volume being used by this project"""
-        self.volumetotal = None
-        """the total number of vpcs available to be created for this project"""
-        self.vpcavailable = None
-        """the total number of vpcs the project can own"""
-        self.vpclimit = None
-        """the total number of vpcs owned by project"""
-        self.vpctotal = None
-        """the list of resource tags associated with vm"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listPublicIpAddresses.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listPublicIpAddresses.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listPublicIpAddresses.py
deleted file mode 100644
index 79913f8..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listPublicIpAddresses.py
+++ /dev/null
@@ -1,156 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all public ip addresses"""
-from baseCmd import *
-from baseResponse import *
-class listPublicIpAddressesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list resources by account. Must be used with the domainId parameter."""
-        self.account = None
-        """limits search results to allocated public IP addresses"""
-        self.allocatedonly = None
-        """lists all public IP addresses associated to the network specified"""
-        self.associatednetworkid = None
-        """list only resources belonging to the domain specified"""
-        self.domainid = None
-        """list only ips used for load balancing"""
-        self.forloadbalancing = None
-        """the virtual network for the IP address"""
-        self.forvirtualnetwork = None
-        """lists ip address by id"""
-        self.id = None
-        """lists the specified IP address"""
-        self.ipaddress = None
-        """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
-        self.isrecursive = None
-        """list only source nat ip addresses"""
-        self.issourcenat = None
-        """list only static nat ip addresses"""
-        self.isstaticnat = 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
-        """lists all public IP addresses by physical network id"""
-        self.physicalnetworkid = None
-        """list objects by project"""
-        self.projectid = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        """lists all public IP addresses by VLAN ID"""
-        self.vlanid = None
-        """List ips belonging to the VPC"""
-        self.vpcid = None
-        """lists all public IP addresses by Zone ID"""
-        self.zoneid = None
-        self.required = []
-
-class listPublicIpAddressesResponse (baseResponse):
-    def __init__(self):
-        """public IP address id"""
-        self.id = None
-        """the account the public IP address is associated with"""
-        self.account = None
-        """date the public IP address was acquired"""
-        self.allocated = None
-        """the ID of the Network associated with the IP address"""
-        self.associatednetworkid = None
-        """the name of the Network associated with the IP address"""
-        self.associatednetworkname = None
-        """the domain the public IP address is associated with"""
-        self.domain = None
-        """the domain ID the public IP address is associated with"""
-        self.domainid = None
-        """the virtual network for the IP address"""
-        self.forvirtualnetwork = None
-        """public IP address"""
-        self.ipaddress = None
-        """is public IP portable across the zones"""
-        self.isportable = None
-        """true if the IP address is a source nat address, false otherwise"""
-        self.issourcenat = None
-        """true if this ip is for static nat, false otherwise"""
-        self.isstaticnat = None
-        """true if this ip is system ip (was allocated as a part of deployVm or createLbRule)"""
-        self.issystem = None
-        """the ID of the Network where ip belongs to"""
-        self.networkid = None
-        """the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """purpose of the IP address. In Acton this value is not null for Ips with isSystem=true, and can have either StaticNat or LB value"""
-        self.purpose = None
-        """State of the ip address. Can be: Allocatin, Allocated and Releasing"""
-        self.state = None
-        """virutal machine display name the ip address is assigned to (not null only for static nat Ip)"""
-        self.virtualmachinedisplayname = None
-        """virutal machine id the ip address is assigned to (not null only for static nat Ip)"""
-        self.virtualmachineid = None
-        """virutal machine name the ip address is assigned to (not null only for static nat Ip)"""
-        self.virtualmachinename = None
-        """the ID of the VLAN associated with the IP address. This parameter is visible to ROOT admins only"""
-        self.vlanid = None
-        """the VLAN associated with the IP address"""
-        self.vlanname = None
-        """virutal machine (dnat) ip address (not null only for static nat Ip)"""
-        self.vmipaddress = None
-        """VPC the ip belongs to"""
-        self.vpcid = None
-        """the ID of the zone the public IP address belongs to"""
-        self.zoneid = None
-        """the name of the zone the public IP address belongs to"""
-        self.zonename = None
-        """the list of resource tags associated with ip address"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listRegions.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listRegions.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listRegions.py
deleted file mode 100644
index 8549945..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listRegions.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists Regions"""
-from baseCmd import *
-from baseResponse import *
-class listRegionsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """List Region by region ID."""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """List Region by region name."""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listRegionsResponse (baseResponse):
-    def __init__(self):
-        """the ID of the region"""
-        self.id = None
-        """the end point of the region"""
-        self.endpoint = None
-        """true if GSLB service is enabled in the region, false otherwise"""
-        self.gslbserviceenabled = None
-        """the name of the region"""
-        self.name = None
-        """true if security groups support is enabled, false otherwise"""
-        self.portableipserviceenabled = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listRemoteAccessVpns.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listRemoteAccessVpns.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listRemoteAccessVpns.py
deleted file mode 100644
index dfedf4a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listRemoteAccessVpns.py
+++ /dev/null
@@ -1,70 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists remote access vpns"""
-from baseCmd import *
-from baseResponse import *
-class listRemoteAccessVpnsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """public ip address id of the vpn server"""
-        """Required"""
-        self.publicipid = None
-        """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
-        """list objects by project"""
-        self.projectid = None
-        self.required = ["publicipid",]
-
-class listRemoteAccessVpnsResponse (baseResponse):
-    def __init__(self):
-        """the id of the remote access vpn"""
-        self.id = None
-        """the account of the remote access vpn"""
-        self.account = None
-        """the domain name of the account of the remote access vpn"""
-        self.domain = None
-        """the domain id of the account of the remote access vpn"""
-        self.domainid = None
-        """the range of ips to allocate to the clients"""
-        self.iprange = None
-        """the ipsec preshared key"""
-        self.presharedkey = None
-        """the project name of the vpn"""
-        self.project = None
-        """the project id of the vpn"""
-        self.projectid = None
-        """the public ip address of the vpn server"""
-        self.publicip = None
-        """the public ip address of the vpn server"""
-        self.publicipid = None
-        """the state of the rule"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listResourceDetails.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listResourceDetails.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listResourceDetails.py
deleted file mode 100644
index 133e489..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listResourceDetails.py
+++ /dev/null
@@ -1,71 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List resource detail(s)"""
-from baseCmd import *
-from baseResponse import *
-class listResourceDetailsCmd (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 key"""
-        self.key = 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
-        """list objects by project"""
-        self.projectid = None
-        """list by resource id"""
-        self.resourceid = None
-        """list by resource type"""
-        self.resourcetype = None
-        self.required = []
-
-class listResourceDetailsResponse (baseResponse):
-    def __init__(self):
-        """the account associated with the tag"""
-        self.account = None
-        """customer associated with the tag"""
-        self.customer = None
-        """the domain associated with the tag"""
-        self.domain = None
-        """the ID of the domain associated with the tag"""
-        self.domainid = None
-        """tag key name"""
-        self.key = None
-        """the project name where tag belongs to"""
-        self.project = None
-        """the project id the tag belongs to"""
-        self.projectid = None
-        """id of the resource"""
-        self.resourceid = None
-        """resource type"""
-        self.resourcetype = None
-        """tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listResourceLimits.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listResourceLimits.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listResourceLimits.py
deleted file mode 100644
index d608f34..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listResourceLimits.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists resource limits."""
-from baseCmd import *
-from baseResponse import *
-class listResourceLimitsCmd (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
-        """Lists resource limits by ID."""
-        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
-        """list objects by project"""
-        self.projectid = None
-        """Type of resource to update. Values are 0, 1, 2, 3, and 4.0 - Instance. Number of instances a user can create. 1 - IP. Number of public IP addresses an account can own. 2 - Volume. Number of disk volumes an account can own.3 - Snapshot. Number of snapshots an account can own.4 - Template. Number of templates an account can register/create.5 - Project. Number of projects an account can own.6 - Network. Number of networks an account can own.7 - VPC. Number of VPC an account can own.8 - CPU. Number of CPU an account can allocate for his resources.9 - Memory. Amount of RAM an account can allocate for his resources.10 - Primary Storage. Amount of Primary storage an account can allocate for his resoruces.11 - Secondary Storage. Amount of Secondary storage an account can allocate for his resources."""
-        self.resourcetype = None
-        self.required = []
-
-class listResourceLimitsResponse (baseResponse):
-    def __init__(self):
-        """the account of the resource limit"""
-        self.account = None
-        """the domain name of the resource limit"""
-        self.domain = None
-        """the domain ID of the resource limit"""
-        self.domainid = None
-        """the maximum number of the resource. A -1 means the resource currently has no limit."""
-        self.max = None
-        """the project name of the resource limit"""
-        self.project = None
-        """the project id of the resource limit"""
-        self.projectid = None
-        """resource type. Values include 0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11. See the resourceType parameter for more information on these values."""
-        self.resourcetype = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listRouters.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listRouters.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listRouters.py
deleted file mode 100644
index a640aae..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listRouters.py
+++ /dev/null
@@ -1,182 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List routers."""
-from baseCmd import *
-from baseResponse import *
-class listRoutersCmd (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
-        """if true is passed for this parameter, list only VPC routers"""
-        self.forvpc = None
-        """the host ID of the router"""
-        self.hostid = None
-        """the ID of the disk router"""
-        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 name of the router"""
-        self.name = None
-        """list by network id"""
-        self.networkid = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """the Pod ID of the router"""
-        self.podid = None
-        """list objects by project"""
-        self.projectid = None
-        """the state of the router"""
-        self.state = None
-        """List networks by VPC"""
-        self.vpcid = None
-        """the Zone ID of the router"""
-        self.zoneid = None
-        self.required = []
-
-class listRoutersResponse (baseResponse):
-    def __init__(self):
-        """the id of the router"""
-        self.id = None
-        """the account associated with the router"""
-        self.account = None
-        """the date and time the router was created"""
-        self.created = None
-        """the first DNS for the router"""
-        self.dns1 = None
-        """the second DNS for the router"""
-        self.dns2 = None
-        """the domain associated with the router"""
-        self.domain = None
-        """the domain ID associated with the router"""
-        self.domainid = None
-        """the gateway for the router"""
-        self.gateway = None
-        """the guest IP address for the router"""
-        self.guestipaddress = None
-        """the guest MAC address for the router"""
-        self.guestmacaddress = None
-        """the guest netmask for the router"""
-        self.guestnetmask = None
-        """the ID of the corresponding guest network"""
-        self.guestnetworkid = None
-        """the host ID for the router"""
-        self.hostid = None
-        """the hostname for the router"""
-        self.hostname = None
-        """the first IPv6 DNS for the router"""
-        self.ip6dns1 = None
-        """the second IPv6 DNS for the router"""
-        self.ip6dns2 = None
-        """if this router is an redundant virtual router"""
-        self.isredundantrouter = None
-        """the link local IP address for the router"""
-        self.linklocalip = None
-        """the link local MAC address for the router"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the router"""
-        self.linklocalnetmask = None
-        """the ID of the corresponding link local network"""
-        self.linklocalnetworkid = None
-        """the name of the router"""
-        self.name = None
-        """the network domain for the router"""
-        self.networkdomain = None
-        """the Pod ID for the router"""
-        self.podid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """the public IP address for the router"""
-        self.publicip = None
-        """the public MAC address for the router"""
-        self.publicmacaddress = None
-        """the public netmask for the router"""
-        self.publicnetmask = None
-        """the ID of the corresponding public network"""
-        self.publicnetworkid = None
-        """the state of redundant virtual router"""
-        self.redundantstate = None
-        """role of the domain router"""
-        self.role = None
-        """the version of scripts"""
-        self.scriptsversion = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """the state of the router"""
-        self.state = None
-        """the template ID for the router"""
-        self.templateid = None
-        """the version of template"""
-        self.templateversion = None
-        """VPC the router belongs to"""
-        self.vpcid = None
-        """the Zone ID for the router"""
-        self.zoneid = None
-        """the Zone name for the router"""
-        self.zonename = None
-        """the list of nics associated with the router"""
-        self.nic = []
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listS3s.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listS3s.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listS3s.py
deleted file mode 100644
index 602411e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listS3s.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists S3s"""
-from baseCmd import *
-from baseResponse import *
-class listS3sCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listS3sResponse (baseResponse):
-    def __init__(self):
-        """the ID of the image store"""
-        self.id = None
-        """the details of the image store"""
-        self.details = None
-        """the name of the image store"""
-        self.name = None
-        """the protocol of the image store"""
-        self.protocol = None
-        """the provider name of the image store"""
-        self.providername = None
-        """the scope of the image store"""
-        self.scope = None
-        """the url of the image store"""
-        self.url = None
-        """the Zone ID of the image store"""
-        self.zoneid = None
-        """the Zone name of the image store"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listSSHKeyPairs.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listSSHKeyPairs.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listSSHKeyPairs.py
deleted file mode 100644
index 8f38bec..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listSSHKeyPairs.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List registered keypairs"""
-from baseCmd import *
-from baseResponse import *
-class listSSHKeyPairsCmd (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
-        """A public key fingerprint to look for"""
-        self.fingerprint = 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
-        """A key pair name to look for"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list objects by project"""
-        self.projectid = None
-        self.required = []
-
-class listSSHKeyPairsResponse (baseResponse):
-    def __init__(self):
-        """Fingerprint of the public key"""
-        self.fingerprint = None
-        """Name of the keypair"""
-        self.name = None
-        """Private key"""
-        self.privatekey = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listSecondaryStagingStores.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listSecondaryStagingStores.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listSecondaryStagingStores.py
deleted file mode 100644
index 0fa0696..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listSecondaryStagingStores.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists secondary staging stores."""
-from baseCmd import *
-from baseResponse import *
-class listSecondaryStagingStoresCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the staging store"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """the name of the staging store"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """the staging store protocol"""
-        self.protocol = None
-        """the staging store provider"""
-        self.provider = None
-        """the Zone ID for the staging store"""
-        self.zoneid = None
-        self.required = []
-
-class listSecondaryStagingStoresResponse (baseResponse):
-    def __init__(self):
-        """the ID of the image store"""
-        self.id = None
-        """the details of the image store"""
-        self.details = None
-        """the name of the image store"""
-        self.name = None
-        """the protocol of the image store"""
-        self.protocol = None
-        """the provider name of the image store"""
-        self.providername = None
-        """the scope of the image store"""
-        self.scope = None
-        """the url of the image store"""
-        self.url = None
-        """the Zone ID of the image store"""
-        self.zoneid = None
-        """the Zone name of the image store"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listSecurityGroups.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listSecurityGroups.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listSecurityGroups.py
deleted file mode 100644
index d3cf2cd..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listSecurityGroups.py
+++ /dev/null
@@ -1,144 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists security groups"""
-from baseCmd import *
-from baseResponse import *
-class listSecurityGroupsCmd (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 security 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
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list objects by project"""
-        self.projectid = None
-        """lists security groups by name"""
-        self.securitygroupname = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        """lists security groups by virtual machine id"""
-        self.virtualmachineid = None
-        self.required = []
-
-class listSecurityGroupsResponse (baseResponse):
-    def __init__(self):
-        """the ID of the security group"""
-        self.id = None
-        """the account owning the security group"""
-        self.account = None
-        """the description of the security group"""
-        self.description = None
-        """the domain name of the security group"""
-        self.domain = None
-        """the domain ID of the security group"""
-        self.domainid = None
-        """the name of the security group"""
-        self.name = None
-        """the project name of the group"""
-        self.project = None
-        """the project id of the group"""
-        self.projectid = None
-        """the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """the list of resource tags associated with the rule"""
-        self.tags = []
-        """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
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-


[03/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/integration/lib/base.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/integration/lib/base.py b/tools/marvin/build/lib/marvin/integration/lib/base.py
deleted file mode 100644
index 4f15137..0000000
--- a/tools/marvin/build/lib/marvin/integration/lib/base.py
+++ /dev/null
@@ -1,3593 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-""" Base class for all Cloudstack resources
-    -Virtual machine, Volume, Snapshot etc
-"""
-
-import marvin
-from utils import is_server_ssh_ready, random_gen
-from marvin.cloudstackAPI import *
-# Import System modules
-import time
-import hashlib
-import base64
-
-
-class Domain:
-    """ Domain Life Cycle """
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, name=None, networkdomain=None,
-               parentdomainid=None):
-        """Creates an domain"""
-
-        cmd = createDomain.createDomainCmd()
-
-        if "domainUUID" in services:
-            cmd.domainid = "-".join([services["domainUUID"], random_gen()])
-
-        if name:
-            cmd.name = "-".join([name, random_gen()])
-        elif "name" in services:
-            cmd.name = "-".join([services["name"], random_gen()])
-
-        if networkdomain:
-            cmd.networkdomain = networkdomain
-        elif "networkdomain" in services:
-            cmd.networkdomain = services["networkdomain"]
-
-        if parentdomainid:
-            cmd.parentdomainid = parentdomainid
-        elif "parentdomainid" in services:
-            cmd.parentdomainid = services["parentdomainid"]
-        try:
-            domain = apiclient.createDomain(cmd)
-            if domain is not None:
-                return Domain(domain.__dict__)
-        except Exception as e:
-            raise e
-
-    def delete(self, apiclient, cleanup=None):
-        """Delete an domain"""
-        cmd = deleteDomain.deleteDomainCmd()
-        cmd.id = self.id
-        if cleanup:
-            cmd.cleanup = cleanup
-        apiclient.deleteDomain(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """Lists domains"""
-        cmd = listDomains.listDomainsCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listDomains(cmd))
-
-
-class Account:
-    """ Account Life Cycle """
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, admin=False, domainid=None):
-        """Creates an account"""
-        cmd = createAccount.createAccountCmd()
-
-        # 0 - User, 1 - Root Admin, 2 - Domain Admin
-        cmd.accounttype = 2 if (admin and domainid) else int(admin)
-
-        cmd.email = services["email"]
-        cmd.firstname = services["firstname"]
-        cmd.lastname = services["lastname"]
-
-        cmd.password = services["password"]
-        cmd.username = "-".join([services["username"], random_gen(id=apiclient.id)])
-
-        if "accountUUID" in services:
-            cmd.accountid =  "-".join([services["accountUUID"],random_gen()])
-
-        if "userUUID" in services:
-            cmd.userid = "-".join([services["userUUID"],random_gen()])
-
-
-        if domainid:
-            cmd.domainid = domainid
-        account = apiclient.createAccount(cmd)
-
-        return Account(account.__dict__)
-
-    def delete(self, apiclient):
-        """Delete an account"""
-        cmd = deleteAccount.deleteAccountCmd()
-        cmd.id = self.id
-        apiclient.deleteAccount(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """Lists accounts and provides detailed account information for
-        listed accounts"""
-
-        cmd = listAccounts.listAccountsCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listAccounts(cmd))
-
-
-class User:
-    """ User Life Cycle """
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, account, domainid):
-        cmd = createUser.createUserCmd()
-        """Creates an user"""
-
-        cmd.account = account
-        cmd.domainid = domainid
-        cmd.email = services["email"]
-        cmd.firstname = services["firstname"]
-        cmd.lastname = services["lastname"]
-
-        if "userUUID" in services:
-            cmd.userid = "-".join([services["userUUID"],random_gen()])
-
-        cmd.password = services["password"]
-        cmd.username = "-".join([services["username"], random_gen()])
-        user = apiclient.createUser(cmd)
-
-        return User(user.__dict__)
-
-    def delete(self, apiclient):
-        """Delete an account"""
-        cmd = deleteUser.deleteUserCmd()
-        cmd.id = self.id
-        apiclient.deleteUser(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """Lists users and provides detailed account information for
-        listed users"""
-
-        cmd = listUsers.listUsersCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listUsers(cmd))
-
-    @classmethod
-    def registerUserKeys(cls, apiclient, userid):
-        cmd = registerUserKeys.registerUserKeysCmd()
-        cmd.id = userid
-        return apiclient.registerUserKeys(cmd)
-
-    def update(self, apiclient, **kwargs):
-        """Updates the user details"""
-
-        cmd = updateUser.updateUserCmd()
-        cmd.id = self.id
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return (apiclient.updateUser(cmd))
-
-    @classmethod
-    def update(cls, apiclient, id, **kwargs):
-        """Updates the user details (class method)"""
-
-        cmd = updateUser.updateUserCmd()
-        cmd.id = id
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return (apiclient.updateUser(cmd))
-
-    @classmethod
-    def login(cls, apiclient, username, password, domain=None, domainid=None):
-        """Logins to the CloudStack"""
-
-        cmd = login.loginCmd()
-        cmd.username = username
-        cmd.password = password
-        if domain:
-            cmd.domain = domain
-        if domainid:
-            cmd.domainId = domainid
-        return apiclient.login(cmd)
-
-
-class VirtualMachine:
-    """Manage virtual machine lifecycle"""
-
-    def __init__(self, items, services):
-        self.__dict__.update(items)
-        if "username" in services:
-            self.username = services["username"]
-        else:
-            self.username = 'root'
-        if "password" in services:
-            self.password = services["password"]
-        else:
-            self.password = 'password'
-        if "ssh_port" in services:
-            self.ssh_port = services["ssh_port"]
-        else:
-            self.ssh_port = 22
-        self.ssh_client = None
-        # extract out the ipaddress
-        self.ipaddress = self.nic[0].ipaddress
-
-    @classmethod
-    def ssh_access_group(cls, apiclient, cmd):
-        """
-        Programs the security group with SSH access before deploying virtualmachine
-        @return:
-        """
-        zone_list = Zone.list(
-            apiclient,
-            id=cmd.zoneid if cmd.zoneid else None,
-            domainid=cmd.domainid if cmd.domainid else None
-        )
-        zone = zone_list[0]
-        #check if security groups settings is enabled for the zone
-        if zone.securitygroupsenabled:
-            list_security_groups = SecurityGroup.list(
-                apiclient,
-                securitygroupname="basic_sec_grp"
-            )
-
-            if not isinstance(list_security_groups, list):
-                basic_mode_security_group = SecurityGroup.create(
-                    apiclient,
-                    {"name": "basic_sec_grp"}
-                )
-                sec_grp_services = {
-                    "protocol": "TCP",
-                    "startport": 22,
-                    "endport": 22,
-                    "cidrlist": "0.0.0.0/0"
-                }
-                #Authorize security group for above ingress rule
-                basic_mode_security_group.authorize(apiclient, sec_grp_services, account=cmd.account,
-                    domainid=cmd.domainid)
-            else:
-                basic_mode_security_group = list_security_groups[0]
-
-            if isinstance(cmd.securitygroupids, list):
-                cmd.securitygroupids.append(basic_mode_security_group.id)
-            else:
-                cmd.securitygroupids = [basic_mode_security_group.id]
-
-    @classmethod
-    def access_ssh_over_nat(cls, apiclient, services, virtual_machine, allow_egress=False):
-        """
-        Program NAT and PF rules to open up ssh access to deployed guest
-        @return:
-        """
-        public_ip = PublicIPAddress.create(
-            apiclient=apiclient,
-            accountid=virtual_machine.account,
-            zoneid=virtual_machine.zoneid,
-            domainid=virtual_machine.domainid,
-            services=services
-        )
-        FireWallRule.create(
-            apiclient=apiclient,
-            ipaddressid=public_ip.ipaddress.id,
-            protocol='TCP',
-            cidrlist=['0.0.0.0/0'],
-            startport=22,
-            endport=22
-        )
-        nat_rule = NATRule.create(
-            apiclient=apiclient,
-            virtual_machine=virtual_machine,
-            services=services,
-            ipaddressid=public_ip.ipaddress.id
-        )
-        if allow_egress:
-            EgressFireWallRule.create(
-                apiclient=apiclient,
-                networkid=virtual_machine.nic[0].networkid,
-                protocol='All',
-                cidrlist='0.0.0.0/0'
-            )
-        virtual_machine.ssh_ip = nat_rule.ipaddress
-        virtual_machine.public_ip = nat_rule.ipaddress
-
-    @classmethod
-    def create(cls, apiclient, services, templateid=None, accountid=None,
-                    domainid=None, zoneid=None, networkids=None, serviceofferingid=None,
-                    securitygroupids=None, projectid=None, startvm=None,
-                    diskofferingid=None, affinitygroupnames=None, affinitygroupids=None, group=None,
-                    hostid=None, keypair=None, ipaddress=None, mode='default', method='GET'):
-        """Create the instance"""
-
-        cmd = deployVirtualMachine.deployVirtualMachineCmd()
-
-        if serviceofferingid:
-            cmd.serviceofferingid = serviceofferingid
-        elif "serviceoffering" in services:
-            cmd.serviceofferingid = services["serviceoffering"]
-
-        if zoneid:
-            cmd.zoneid = zoneid
-        elif "zoneid" in services:
-            cmd.zoneid = services["zoneid"]
-        cmd.hypervisor = apiclient.hypervisor
-
-        if "displayname" in services:
-            cmd.displayname = services["displayname"]
-
-        if "name" in services:
-            cmd.name = services["name"]
-
-        if accountid:
-            cmd.account = accountid
-        elif "account" in services:
-            cmd.account = services["account"]
-
-        if domainid:
-            cmd.domainid = domainid
-        elif "domainid" in services:
-            cmd.domainid = services["domainid"]
-
-        if networkids:
-            cmd.networkids = networkids
-            allow_egress = False
-        elif "networkids" in services:
-            cmd.networkids = services["networkids"]
-            allow_egress = False
-        else:
-            # When no networkids are passed, network
-            # is created using the "defaultOfferingWithSourceNAT"
-            # which has an egress policy of DENY. But guests in tests
-            # need access to test network connectivity
-            allow_egress = True
-
-        if templateid:
-            cmd.templateid = templateid
-        elif "template" in services:
-            cmd.templateid = services["template"]
-
-        if diskofferingid:
-            cmd.diskofferingid = diskofferingid
-        elif "diskoffering" in services:
-            cmd.diskofferingid = services["diskoffering"]
-
-        if keypair:
-            cmd.keypair = keypair
-        elif "keypair" in services:
-            cmd.keypair = services["keypair"]
-
-        if ipaddress:
-            cmd.ipaddress = ipaddress
-        elif ipaddress in services:
-            cmd.ipaddress = services["ipaddress"]
-
-        if securitygroupids:
-            cmd.securitygroupids = [str(sg_id) for sg_id in securitygroupids]
-
-        if "affinitygroupnames" in services:
-            cmd.affinitygroupnames  = services["affinitygroupnames"]
-        elif affinitygroupnames:
-            cmd.affinitygroupnames  = affinitygroupnames
-
-        if affinitygroupids:
-            cmd.affinitygroupids  = affinitygroupids
-
-        if projectid:
-            cmd.projectid = projectid
-
-        if startvm is not None:
-            cmd.startvm = startvm
-
-        if hostid:
-            cmd.hostid = hostid
-
-        if "userdata" in services:
-            cmd.userdata = base64.urlsafe_b64encode(services["userdata"])
-
-        if group:
-            cmd.group = group
-
-        #program default access to ssh
-        if mode.lower() == 'basic':
-            cls.ssh_access_group(apiclient, cmd)
-
-        virtual_machine = apiclient.deployVirtualMachine(cmd, method=method)
-
-        virtual_machine.ssh_ip = virtual_machine.nic[0].ipaddress
-        if startvm == False:
-            virtual_machine.public_ip = virtual_machine.nic[0].ipaddress
-            return VirtualMachine(virtual_machine.__dict__, services)
-
-        #program ssh access over NAT via PF
-        if mode.lower() == 'advanced':
-            cls.access_ssh_over_nat(apiclient, services, virtual_machine, allow_egress=allow_egress)
-        elif mode.lower() == 'basic':
-            if virtual_machine.publicip is not None:
-                vm_ssh_ip = virtual_machine.publicip #EIP/ELB (netscaler) enabled zone
-            else:
-                vm_ssh_ip = virtual_machine.nic[0].ipaddress #regular basic zone with security group
-            virtual_machine.ssh_ip = vm_ssh_ip
-            virtual_machine.public_ip = vm_ssh_ip
-
-        return VirtualMachine(virtual_machine.__dict__, services)
-
-    def start(self, apiclient):
-        """Start the instance"""
-        cmd = startVirtualMachine.startVirtualMachineCmd()
-        cmd.id = self.id
-        apiclient.startVirtualMachine(cmd)
-
-    def stop(self, apiclient):
-        """Stop the instance"""
-        cmd = stopVirtualMachine.stopVirtualMachineCmd()
-        cmd.id = self.id
-        apiclient.stopVirtualMachine(cmd)
-
-    def reboot(self, apiclient):
-        """Reboot the instance"""
-        cmd = rebootVirtualMachine.rebootVirtualMachineCmd()
-        cmd.id = self.id
-        apiclient.rebootVirtualMachine(cmd)
-
-    def recover(self, apiclient):
-        """Recover the instance"""
-        cmd = recoverVirtualMachine.recoverVirtualMachineCmd()
-        cmd.id = self.id
-        apiclient.recoverVirtualMachine(cmd)
-
-    def get_ssh_client(self, ipaddress=None, reconnect=False, port=None, keyPairFileLocation=None):
-        """Get SSH object of VM"""
-
-        # If NAT Rules are not created while VM deployment in Advanced mode
-        # then, IP address must be passed
-        if ipaddress != None:
-            self.ssh_ip = ipaddress
-        if port:
-            self.ssh_port = port
-
-        if keyPairFileLocation is not None:
-            self.password = None
-
-        if reconnect:
-            self.ssh_client = is_server_ssh_ready(
-                                                    self.ssh_ip,
-                                                    self.ssh_port,
-                                                    self.username,
-                                                    self.password,
-                                                    keyPairFileLocation=keyPairFileLocation
-                                                )
-        self.ssh_client = self.ssh_client or is_server_ssh_ready(
-                                                    self.ssh_ip,
-                                                    self.ssh_port,
-                                                    self.username,
-                                                    self.password,
-                                                    keyPairFileLocation=keyPairFileLocation
-                                                )
-        return self.ssh_client
-
-    def resetSshKey(self, apiclient, **kwargs):
-        """Resets SSH key"""
-
-        cmd = resetSSHKeyForVirtualMachine.resetSSHKeyForVirtualMachineCmd()
-        cmd.id = self.id
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.resetSSHKeyForVirtualMachine(cmd))
-
-    def update(self, apiclient, **kwargs):
-        """Updates the VM data"""
-
-        cmd = updateVirtualMachine.updateVirtualMachineCmd()
-        cmd.id = self.id
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.updateVirtualMachine(cmd))
-
-    def delete(self, apiclient):
-        """Destroy an Instance"""
-        cmd = destroyVirtualMachine.destroyVirtualMachineCmd()
-        cmd.id = self.id
-        apiclient.destroyVirtualMachine(cmd)
-
-    def migrate(self, apiclient, hostid=None):
-        """migrate an Instance"""
-        cmd = migrateVirtualMachine.migrateVirtualMachineCmd()
-        cmd.virtualmachineid = self.id
-        if hostid:
-            cmd.hostid = hostid
-        apiclient.migrateVirtualMachine(cmd)
-
-    def attach_volume(self, apiclient, volume):
-        """Attach volume to instance"""
-        cmd = attachVolume.attachVolumeCmd()
-        cmd.id = volume.id
-        cmd.virtualmachineid = self.id
-        return apiclient.attachVolume(cmd)
-
-    def detach_volume(self, apiclient, volume):
-        """Detach volume to instance"""
-        cmd = detachVolume.detachVolumeCmd()
-        cmd.id = volume.id
-        return apiclient.detachVolume(cmd)
-
-    def add_nic(self, apiclient, networkId):
-        """Add a NIC to a VM"""
-        cmd = addNicToVirtualMachine.addNicToVirtualMachineCmd()
-        cmd.virtualmachineid = self.id
-        cmd.networkid = networkId
-        return apiclient.addNicToVirtualMachine(cmd)
-
-    def remove_nic(self, apiclient, nicId):
-        """Remove a NIC to a VM"""
-        cmd = removeNicFromVirtualMachine.removeNicFromVirtualMachineCmd()
-        cmd.nicid = nicId
-        cmd.virtualmachineid = self.id
-        return apiclient.removeNicFromVirtualMachine(cmd)
-
-    def update_default_nic(self, apiclient, nicId):
-        """Set a NIC to be the default network adapter for a VM"""
-        cmd = updateDefaultNicForVirtualMachine.updateDefaultNicForVirtualMachineCmd()
-        cmd.nicid = nicId
-        cmd.virtualmachineid = self.id
-        return apiclient.updateDefaultNicForVirtualMachine(cmd)
-
-    def attach_iso(self, apiclient, iso):
-        """Attach ISO to instance"""
-        cmd = attachIso.attachIsoCmd()
-        cmd.id = iso.id
-        cmd.virtualmachineid = self.id
-        return apiclient.attachIso(cmd)
-
-    def detach_iso(self, apiclient):
-        """Detach ISO to instance"""
-        cmd = detachIso.detachIsoCmd()
-        cmd.id = self.id
-        return apiclient.detachIso(cmd)
-
-    def change_service_offering(self, apiclient, serviceOfferingId):
-        """Change service offering of the instance"""
-        cmd = changeServiceForVirtualMachine.changeServiceForVirtualMachineCmd()
-        cmd.id = self.id
-        cmd.serviceofferingid = serviceOfferingId
-        return apiclient.changeServiceForVirtualMachine(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all VMs matching criteria"""
-
-        cmd = listVirtualMachines.listVirtualMachinesCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listVirtualMachines(cmd))
-
-    def resetPassword(self, apiclient):
-        """Resets VM password if VM created using password enabled template"""
-
-        cmd = resetPasswordForVirtualMachine.resetPasswordForVirtualMachineCmd()
-        cmd.id = self.id
-        try:
-            response = apiclient.resetPasswordForVirtualMachine(cmd)
-        except Exception as e:
-            raise Exception("Reset Password failed! - %s" % e)
-        if response is not None:
-            return response.password
-
-    def assign_virtual_machine(self, apiclient, account, domainid):
-        """Move a user VM to another user under same domain."""
-
-        cmd                  = assignVirtualMachine.assignVirtualMachineCmd()
-        cmd.virtualmachineid = self.id
-        cmd.account          = account
-        cmd.domainid         = domainid
-        try:
-            response = apiclient.assignVirtualMachine(cmd)
-            return response
-        except Exception as e:
-            raise Exception("assignVirtualMachine failed - %s" %e)
-
-    def update_affinity_group(self, apiclient, affinitygroupids=None,
-                              affinitygroupnames=None):
-        """Update affinity group of a VM"""
-        cmd = updateVMAffinityGroup.updateVMAffinityGroupCmd()
-        cmd.id = self.id
-
-        if affinitygroupids:
-            cmd.affinitygroupids = affinitygroupids
-
-        if affinitygroupnames:
-            cmd.affinitygroupnames = affinitygroupnames
-
-        return apiclient.updateVMAffinityGroup(cmd)
-
-
-class Volume:
-    """Manage Volume Life cycle
-    """
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, zoneid=None, account=None,
-               domainid=None, diskofferingid=None, projectid=None):
-        """Create Volume"""
-        cmd = createVolume.createVolumeCmd()
-        cmd.name = services["diskname"]
-
-        if diskofferingid:
-            cmd.diskofferingid = diskofferingid
-        elif "diskofferingid" in services:
-            cmd.diskofferingid = services["diskofferingid"]
-
-        if zoneid:
-            cmd.zoneid = zoneid
-        elif "zoneid" in services:
-            cmd.zoneid = services["zoneid"]
-
-        if account:
-            cmd.account = account
-        elif "account" in services:
-            cmd.account = services["account"]
-
-        if domainid:
-            cmd.domainid = domainid
-        elif "domainid" in services:
-            cmd.domainid = services["domainid"]
-
-        if projectid:
-            cmd.projectid = projectid
-        return Volume(apiclient.createVolume(cmd).__dict__)
-
-    @classmethod
-    def create_custom_disk(cls, apiclient, services, account=None,
-                                    domainid=None, diskofferingid=None):
-        """Create Volume from Custom disk offering"""
-        cmd = createVolume.createVolumeCmd()
-        cmd.name = services["diskname"]
-
-        if diskofferingid:
-            cmd.diskofferingid = diskofferingid
-        elif "customdiskofferingid" in services:
-            cmd.diskofferingid = services["customdiskofferingid"]
-
-        cmd.size = services["customdisksize"]
-        cmd.zoneid = services["zoneid"]
-
-        if account:
-            cmd.account = account
-        else:
-            cmd.account = services["account"]
-
-        if domainid:
-            cmd.domainid = domainid
-        else:
-            cmd.domainid = services["domainid"]
-
-        return Volume(apiclient.createVolume(cmd).__dict__)
-
-    @classmethod
-    def create_from_snapshot(cls, apiclient, snapshot_id, services,
-                             account=None, domainid=None):
-        """Create Volume from snapshot"""
-        cmd = createVolume.createVolumeCmd()
-        cmd.name = "-".join([services["diskname"], random_gen()])
-        cmd.snapshotid = snapshot_id
-        cmd.zoneid = services["zoneid"]
-        cmd.size = services["size"]
-        if account:
-            cmd.account = account
-        else:
-            cmd.account = services["account"]
-        if domainid:
-            cmd.domainid = domainid
-        else:
-            cmd.domainid = services["domainid"]
-        return Volume(apiclient.createVolume(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Volume"""
-        cmd = deleteVolume.deleteVolumeCmd()
-        cmd.id = self.id
-        apiclient.deleteVolume(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all volumes matching criteria"""
-
-        cmd = listVolumes.listVolumesCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listVolumes(cmd))
-
-    def resize(self, apiclient, **kwargs):
-        """Resize a volume"""
-        cmd = resizeVolume.resizeVolumeCmd()
-        cmd.id = self.id
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.resizeVolume(cmd))
-
-    @classmethod
-    def upload(cls, apiclient, services, zoneid=None, account=None, domainid=None, url=None):
-        """Uploads the volume to specified account"""
-
-        cmd = uploadVolume.uploadVolumeCmd()
-        if zoneid:
-            cmd.zoneid = zoneid
-        if account:
-            cmd.account = account
-        if domainid:
-            cmd.domainid = domainid
-        cmd.format = services["format"]
-        cmd.name = services["diskname"]
-        if url:
-            cmd.url = url
-        else:
-            cmd.url = services["url"]
-        return Volume(apiclient.uploadVolume(cmd).__dict__)
-
-    def wait_for_upload(self, apiclient, timeout=5, interval=60):
-        """Wait for upload"""
-        # Sleep to ensure template is in proper state before download
-        time.sleep(interval)
-
-        while True:
-            volume_response = Volume.list(
-                                    apiclient,
-                                    id=self.id,
-                                    zoneid=self.zoneid,
-                                    )
-            if isinstance(volume_response, list):
-
-                volume = volume_response[0]
-                # If volume is ready,
-                # volume.state = Allocated
-                if volume.state == 'Uploaded':
-                    break
-
-                elif 'Uploading' in volume.state:
-                    time.sleep(interval)
-
-                elif 'Installing' not in volume.state:
-                    raise Exception(
-                        "Error in uploading volume: status - %s" %
-                                                            volume.state)
-            elif timeout == 0:
-                break
-
-            else:
-                time.sleep(interval)
-                timeout = timeout - 1
-        return
-
-    @classmethod
-    def migrate(cls, apiclient, **kwargs):
-        """Migrate a volume"""
-        cmd = migrateVolume.migrateVolumeCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.migrateVolume(cmd))
-
-class Snapshot:
-    """Manage Snapshot Lifecycle
-    """
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, volume_id, account=None,
-                                            domainid=None, projectid=None):
-        """Create Snapshot"""
-        cmd = createSnapshot.createSnapshotCmd()
-        cmd.volumeid = volume_id
-        if account:
-            cmd.account = account
-        if domainid:
-            cmd.domainid = domainid
-        if projectid:
-            cmd.projectid = projectid
-        return Snapshot(apiclient.createSnapshot(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Snapshot"""
-        cmd = deleteSnapshot.deleteSnapshotCmd()
-        cmd.id = self.id
-        apiclient.deleteSnapshot(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all snapshots matching criteria"""
-
-        cmd = listSnapshots.listSnapshotsCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listSnapshots(cmd))
-
-
-class Template:
-    """Manage template life cycle"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, volumeid=None,
-               account=None, domainid=None, projectid=None):
-        """Create template from Volume"""
-        # Create template from Virtual machine and Volume ID
-        cmd = createTemplate.createTemplateCmd()
-        cmd.displaytext = services["displaytext"]
-        cmd.name = "-".join([services["name"], random_gen()])
-        if "ostypeid" in services:
-            cmd.ostypeid = services["ostypeid"]
-        elif "ostype" in services:
-            # Find OSTypeId from Os type
-            sub_cmd = listOsTypes.listOsTypesCmd()
-            sub_cmd.description = services["ostype"]
-            ostypes = apiclient.listOsTypes(sub_cmd)
-
-            if not isinstance(ostypes, list):
-                raise Exception(
-                    "Unable to find Ostype id with desc: %s" %
-                                                services["ostype"])
-            cmd.ostypeid = ostypes[0].id
-        else:
-            raise Exception(
-                    "Unable to find Ostype is required for creating template")
-
-        cmd.isfeatured = services["isfeatured"] if "isfeatured" in services else False
-        cmd.ispublic = services["ispublic"] if "ispublic" in services else False
-        cmd.isextractable = services["isextractable"] if "isextractable" in services else False
-        cmd.passwordenabled = services["passwordenabled"] if "passwordenabled" in services else False
-
-        if volumeid:
-            cmd.volumeid = volumeid
-
-        if account:
-            cmd.account = account
-
-        if domainid:
-            cmd.domainid = domainid
-
-        if projectid:
-            cmd.projectid = projectid
-        return Template(apiclient.createTemplate(cmd).__dict__)
-
-    @classmethod
-    def register(cls, apiclient, services, zoneid=None,
-                                                account=None, domainid=None):
-        """Create template from URL"""
-
-        # Create template from Virtual machine and Volume ID
-        cmd = registerTemplate.registerTemplateCmd()
-        cmd.displaytext = services["displaytext"]
-        cmd.name = "-".join([services["name"], random_gen()])
-        cmd.format = services["format"]
-        cmd.hypervisor = apiclient.hypervisor
-
-        if "ostypeid" in services:
-            cmd.ostypeid = services["ostypeid"]
-        elif "ostype" in services:
-            # Find OSTypeId from Os type
-            sub_cmd = listOsTypes.listOsTypesCmd()
-            sub_cmd.description = services["ostype"]
-            ostypes = apiclient.listOsTypes(sub_cmd)
-
-            if not isinstance(ostypes, list):
-                raise Exception(
-                    "Unable to find Ostype id with desc: %s" %
-                                                services["ostype"])
-            cmd.ostypeid = ostypes[0].id
-        else:
-            raise Exception(
-                    "Unable to find Ostype is required for registering template")
-
-        cmd.url = services["url"]
-
-        if zoneid:
-            cmd.zoneid = zoneid
-        else:
-            cmd.zoneid = services["zoneid"]
-
-        cmd.isfeatured = services["isfeatured"] if "isfeatured" in services else False
-        cmd.ispublic = services["ispublic"] if "ispublic" in services else False
-        cmd.isextractable = services["isextractable"] if "isextractable" in services else False
-        cmd.passwordenabled = services["passwordenabled"] if "passwordenabled" in services else False
-
-        if account:
-            cmd.account = account
-
-        if domainid:
-            cmd.domainid = domainid
-
-        # Register Template
-        template = apiclient.registerTemplate(cmd)
-
-        if isinstance(template, list):
-            return Template(template[0].__dict__)
-
-    @classmethod
-    def extract(cls, apiclient, id, mode, zoneid=None):
-        "Extract template "
-
-        cmd = extractTemplate.extractTemplateCmd()
-        cmd.id = id
-        cmd.mode = mode
-        cmd.zoneid = zoneid
-
-        return apiclient.extractTemplate(cmd)
-
-    @classmethod
-    def create_from_snapshot(cls, apiclient, snapshot, services,
-                                                        random_name=True):
-        """Create Template from snapshot"""
-        # Create template from Virtual machine and Snapshot ID
-        cmd = createTemplate.createTemplateCmd()
-        cmd.displaytext = services["displaytext"]
-        cmd.name = "-".join([
-                             services["name"],
-                             random_gen()
-                            ]) if random_name else services["name"]
-
-        if "ostypeid" in services:
-            cmd.ostypeid = services["ostypeid"]
-        elif "ostype" in services:
-            # Find OSTypeId from Os type
-            sub_cmd = listOsTypes.listOsTypesCmd()
-            sub_cmd.description = services["ostype"]
-            ostypes = apiclient.listOsTypes(sub_cmd)
-
-            if not isinstance(ostypes, list):
-                raise Exception(
-                    "Unable to find Ostype id with desc: %s" %
-                                                services["ostype"])
-            cmd.ostypeid = ostypes[0].id
-        else:
-            raise Exception(
-                    "Unable to find Ostype is required for creating template")
-
-        cmd.snapshotid = snapshot.id
-        return Template(apiclient.createTemplate(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Template"""
-
-        cmd = deleteTemplate.deleteTemplateCmd()
-        cmd.id = self.id
-        apiclient.deleteTemplate(cmd)
-
-    def download(self, apiclient, timeout=5, interval=60):
-        """Download Template"""
-        # Sleep to ensure template is in proper state before download
-        time.sleep(interval)
-
-        while True:
-            template_response = Template.list(
-                                    apiclient,
-                                    id=self.id,
-                                    zoneid=self.zoneid,
-                                    templatefilter='self'
-                                    )
-            if isinstance(template_response, list):
-
-                template = template_response[0]
-                # If template is ready,
-                # template.status = Download Complete
-                # Downloading - x% Downloaded
-                # Error - Any other string
-                if template.status == 'Download Complete':
-                    break
-
-                elif 'Downloaded' in template.status:
-                    time.sleep(interval)
-
-                elif 'Installing' not in template.status:
-                    raise Exception(
-                        "Error in downloading template: status - %s" %
-                                                            template.status)
-
-            elif timeout == 0:
-                break
-
-            else:
-                time.sleep(interval)
-                timeout = timeout - 1
-        return
-
-    def updatePermissions(self, apiclient, **kwargs):
-        """Updates the template permissions"""
-
-        cmd = updateTemplatePermissions.updateTemplatePermissionsCmd()
-        cmd.id = self.id
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.updateTemplatePermissions(cmd))
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all templates matching criteria"""
-
-        cmd = listTemplates.listTemplatesCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listTemplates(cmd))
-
-
-class Iso:
-    """Manage ISO life cycle"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, account=None, domainid=None,
-                                                        projectid=None):
-        """Create an ISO"""
-        # Create ISO from URL
-        cmd = registerIso.registerIsoCmd()
-        cmd.displaytext = services["displaytext"]
-        cmd.name = services["name"]
-        if "ostypeid" in services:
-            cmd.ostypeid = services["ostypeid"]
-        elif "ostype" in services:
-            # Find OSTypeId from Os type
-            sub_cmd = listOsTypes.listOsTypesCmd()
-            sub_cmd.description = services["ostype"]
-            ostypes = apiclient.listOsTypes(sub_cmd)
-
-            if not isinstance(ostypes, list):
-                raise Exception(
-                    "Unable to find Ostype id with desc: %s" %
-                                                services["ostype"])
-            cmd.ostypeid = ostypes[0].id
-        else:
-            raise Exception(
-                    "Unable to find Ostype is required for creating ISO")
-
-        cmd.url = services["url"]
-        cmd.zoneid = services["zoneid"]
-
-        if "isextractable" in services:
-            cmd.isextractable = services["isextractable"]
-        if "isfeatured" in services:
-            cmd.isfeatured = services["isfeatured"]
-        if "ispublic" in services:
-            cmd.ispublic = services["ispublic"]
-
-        if account:
-            cmd.account = account
-        if domainid:
-            cmd.domainid = domainid
-        if projectid:
-            cmd.projectid = projectid
-        # Register ISO
-        iso = apiclient.registerIso(cmd)
-
-        if iso:
-            return Iso(iso[0].__dict__)
-
-    def delete(self, apiclient):
-        """Delete an ISO"""
-        cmd = deleteIso.deleteIsoCmd()
-        cmd.id = self.id
-        apiclient.deleteIso(cmd)
-        return
-
-    def download(self, apiclient, timeout=5, interval=60):
-        """Download an ISO"""
-        # Ensuring ISO is successfully downloaded
-        while True:
-            time.sleep(interval)
-
-            cmd = listIsos.listIsosCmd()
-            cmd.id = self.id
-            iso_response = apiclient.listIsos(cmd)
-
-            if isinstance(iso_response, list):
-                response = iso_response[0]
-                # Again initialize timeout to avoid listISO failure
-                timeout = 5
-                # Check whether download is in progress(for Ex:10% Downloaded)
-                # or ISO is 'Successfully Installed'
-                if response.status == 'Successfully Installed':
-                    return
-                elif 'Downloaded' not in response.status and \
-                    'Installing' not in response.status:
-                    raise Exception(
-                        "Error In Downloading ISO: ISO Status - %s" %
-                                                            response.status)
-
-            elif timeout == 0:
-                raise Exception("ISO download Timeout Exception")
-            else:
-                timeout = timeout - 1
-        return
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """Lists all available ISO files."""
-
-        cmd = listIsos.listIsosCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listIsos(cmd))
-
-
-class PublicIPAddress:
-    """Manage Public IP Addresses"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, accountid=None, zoneid=None, domainid=None, services=None,
-               networkid=None, projectid=None, vpcid=None, isportable=False):
-        """Associate Public IP address"""
-        cmd = associateIpAddress.associateIpAddressCmd()
-
-        if accountid:
-            cmd.account = accountid
-        elif "account" in services:
-            cmd.account = services["account"]
-
-        if zoneid:
-            cmd.zoneid = zoneid
-        elif "zoneid" in services:
-            cmd.zoneid = services["zoneid"]
-
-        if domainid:
-            cmd.domainid = domainid
-        elif "domainid" in services:
-            cmd.domainid = services["domainid"]
-
-        if isportable:
-            cmd.isportable = isportable
-
-        if networkid:
-            cmd.networkid = networkid
-
-        if projectid:
-            cmd.projectid = projectid
-
-        if vpcid:
-            cmd.vpcid = vpcid
-        return PublicIPAddress(apiclient.associateIpAddress(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Dissociate Public IP address"""
-        cmd = disassociateIpAddress.disassociateIpAddressCmd()
-        cmd.id = self.ipaddress.id
-        apiclient.disassociateIpAddress(cmd)
-        return
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all Public IPs matching criteria"""
-
-        cmd = listPublicIpAddresses.listPublicIpAddressesCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listPublicIpAddresses(cmd))
-
-
-class NATRule:
-    """Manage port forwarding rule"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, virtual_machine, services, ipaddressid=None,
-               projectid=None, openfirewall=False, networkid=None, vpcid=None):
-        """Create Port forwarding rule"""
-        cmd = createPortForwardingRule.createPortForwardingRuleCmd()
-
-        if ipaddressid:
-            cmd.ipaddressid = ipaddressid
-        elif "ipaddressid" in services:
-            cmd.ipaddressid = services["ipaddressid"]
-
-        cmd.privateport = services["privateport"]
-        cmd.publicport = services["publicport"]
-        if "privateendport" in services:
-            cmd.privateendport = services["privateendport"]
-        if "publicendport" in services:
-            cmd.publicendport = services["publicendport"]
-        cmd.protocol = services["protocol"]
-        cmd.virtualmachineid = virtual_machine.id
-
-        if projectid:
-            cmd.projectid = projectid
-
-        if openfirewall:
-            cmd.openfirewall = True
-
-        if networkid:
-            cmd.networkid = networkid
-
-        if vpcid:
-            cmd.vpcid = vpcid
-        return NATRule(apiclient.createPortForwardingRule(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete port forwarding"""
-        cmd = deletePortForwardingRule.deletePortForwardingRuleCmd()
-        cmd.id = self.id
-        apiclient.deletePortForwardingRule(cmd)
-        return
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all NAT rules matching criteria"""
-
-        cmd = listPortForwardingRules.listPortForwardingRulesCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listPortForwardingRules(cmd))
-
-
-class StaticNATRule:
-    """Manage Static NAT rule"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, ipaddressid=None, networkid=None, vpcid=None):
-        """Creates static ip forwarding rule"""
-
-        cmd = createFirewallRule.createFirewallRuleCmd()
-        cmd.protocol = services["protocol"]
-        cmd.startport = services["startport"]
-
-        if "endport" in services:
-            cmd.endport = services["endport"]
-
-        if "cidrlist" in services:
-            cmd.cidrlist = services["cidrlist"]
-
-        if ipaddressid:
-            cmd.ipaddressid = ipaddressid
-        elif "ipaddressid" in services:
-            cmd.ipaddressid = services["ipaddressid"]
-
-        if networkid:
-            cmd.networkid = networkid
-
-        if vpcid:
-            cmd.vpcid = vpcid
-        return StaticNATRule(apiclient.createFirewallRule(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete IP forwarding rule"""
-        cmd = deleteIpForwardingRule.deleteIpForwardingRuleCmd()
-        cmd.id = self.id
-        apiclient.deleteIpForwardingRule(cmd)
-        return
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all IP forwarding rules matching criteria"""
-
-        cmd = listIpForwardingRules.listIpForwardingRulesCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listIpForwardingRules(cmd))
-
-    @classmethod
-    def enable(cls, apiclient, ipaddressid, virtualmachineid, networkid=None):
-        """Enables Static NAT rule"""
-
-        cmd = enableStaticNat.enableStaticNatCmd()
-        cmd.ipaddressid = ipaddressid
-        cmd.virtualmachineid = virtualmachineid
-        if networkid:
-            cmd.networkid = networkid
-        apiclient.enableStaticNat(cmd)
-        return
-
-    @classmethod
-    def disable(cls, apiclient, ipaddressid, virtualmachineid):
-        """Disables Static NAT rule"""
-
-        cmd = disableStaticNat.disableStaticNatCmd()
-        cmd.ipaddressid = ipaddressid
-        apiclient.disableStaticNat(cmd)
-        return
-
-
-class EgressFireWallRule:
-    """Manage Egress Firewall rule"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, networkid, protocol, cidrlist=None,
-               startport=None, endport=None):
-        """Create Egress Firewall Rule"""
-        cmd = createEgressFirewallRule.createEgressFirewallRuleCmd()
-        cmd.networkid = networkid
-        cmd.protocol = protocol
-        if cidrlist:
-            cmd.cidrlist = cidrlist
-        if startport:
-            cmd.startport = startport
-        if endport:
-            cmd.endport = endport
-
-        return EgressFireWallRule(apiclient.createEgressFirewallRule(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Egress Firewall rule"""
-        cmd = deleteEgressFirewallRule.deleteEgressFirewallRuleCmd()
-        cmd.id = self.id
-        apiclient.deleteEgressFirewallRule(cmd)
-        return
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all Egress Firewall Rules matching criteria"""
-
-        cmd = listEgressFirewallRules.listEgressFirewallRulesCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listEgressFirewallRules(cmd))
-
-
-
-class FireWallRule:
-    """Manage Firewall rule"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, ipaddressid, protocol, cidrlist=None,
-               startport=None, endport=None, projectid=None, vpcid=None):
-        """Create Firewall Rule"""
-        cmd = createFirewallRule.createFirewallRuleCmd()
-        cmd.ipaddressid = ipaddressid
-        cmd.protocol = protocol
-        if cidrlist:
-            cmd.cidrlist = cidrlist
-        if startport:
-            cmd.startport = startport
-        if endport:
-            cmd.endport = endport
-
-        if projectid:
-            cmd.projectid = projectid
-
-        if vpcid:
-            cmd.vpcid = vpcid
-
-        return FireWallRule(apiclient.createFirewallRule(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Firewall rule"""
-        cmd = deleteFirewallRule.deleteFirewallRuleCmd()
-        cmd.id = self.id
-        apiclient.deleteFirewallRule(cmd)
-        return
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all Firewall Rules matching criteria"""
-
-        cmd = listFirewallRules.listFirewallRulesCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listFirewallRules(cmd))
-
-
-class ServiceOffering:
-    """Manage service offerings cycle"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, domainid=None, **kwargs):
-        """Create Service offering"""
-        cmd = createServiceOffering.createServiceOfferingCmd()
-        cmd.cpunumber = services["cpunumber"]
-        cmd.cpuspeed = services["cpuspeed"]
-        cmd.displaytext = services["displaytext"]
-        cmd.memory = services["memory"]
-        cmd.name = services["name"]
-        if "storagetype" in services:
-            cmd.storagetype = services["storagetype"]
-
-        if "systemvmtype" in services:
-            cmd.systemvmtype = services['systemvmtype']
-
-        if "issystem" in services:
-            cmd.issystem = services['issystem']
-
-        if "tags" in services:
-            cmd.tags = services["tags"]
-
-        if "deploymentplanner" in services:
-            cmd.deploymentplanner = services["deploymentplanner"]
-
-        # Service Offering private to that domain
-        if domainid:
-            cmd.domainid = domainid
-
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return ServiceOffering(apiclient.createServiceOffering(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Service offering"""
-        cmd = deleteServiceOffering.deleteServiceOfferingCmd()
-        cmd.id = self.id
-        apiclient.deleteServiceOffering(cmd)
-        return
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """Lists all available service offerings."""
-
-        cmd = listServiceOfferings.listServiceOfferingsCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listServiceOfferings(cmd))
-
-
-class DiskOffering:
-    """Manage disk offerings cycle"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, custom=False, domainid=None):
-        """Create Disk offering"""
-        cmd = createDiskOffering.createDiskOfferingCmd()
-        cmd.displaytext = services["displaytext"]
-        cmd.name = services["name"]
-        if custom:
-            cmd.customized = True
-        else:
-            cmd.disksize = services["disksize"]
-
-        if domainid:
-            cmd.domainid = domainid
-
-        if "storagetype" in services:
-            cmd.storagetype = services["storagetype"]
-
-        return DiskOffering(apiclient.createDiskOffering(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Disk offering"""
-        cmd = deleteDiskOffering.deleteDiskOfferingCmd()
-        cmd.id = self.id
-        apiclient.deleteDiskOffering(cmd)
-        return
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """Lists all available disk offerings."""
-
-        cmd = listDiskOfferings.listDiskOfferingsCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listDiskOfferings(cmd))
-
-
-class NetworkOffering:
-    """Manage network offerings cycle"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, **kwargs):
-        """Create network offering"""
-
-        cmd = createNetworkOffering.createNetworkOfferingCmd()
-        cmd.displaytext = "-".join([services["displaytext"], random_gen()])
-        cmd.name = "-".join([services["name"], random_gen()])
-        cmd.guestiptype = services["guestiptype"]
-        cmd.supportedservices = ''
-        if "supportedservices" in services:
-            cmd.supportedservices = services["supportedservices"]
-        cmd.traffictype = services["traffictype"]
-
-        if "useVpc" in services:
-            cmd.useVpc = services["useVpc"]
-        cmd.serviceproviderlist = []
-        if "serviceProviderList" in services:
-            for service, provider in services["serviceProviderList"].items():
-                cmd.serviceproviderlist.append({
-                                            'service': service,
-                                            'provider': provider
-                                           })
-        if "serviceCapabilityList" in services:
-            cmd.servicecapabilitylist = []
-            for service, capability in services["serviceCapabilityList"].items():
-                for ctype, value in capability.items():
-                    cmd.servicecapabilitylist.append({
-                                            'service': service,
-                                            'capabilitytype': ctype,
-                                            'capabilityvalue': value
-                                           })
-        if "specifyVlan" in services:
-            cmd.specifyVlan = services["specifyVlan"]
-        if "specifyIpRanges" in services:
-            cmd.specifyIpRanges = services["specifyIpRanges"]
-        if "ispersistent" in services:
-            cmd.ispersistent = services["ispersistent"]
-        if "egress_policy" in services:
-            cmd.egressdefaultpolicy = services["egress_policy"]
-
-        cmd.availability = 'Optional'
-
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-
-        return NetworkOffering(apiclient.createNetworkOffering(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete network offering"""
-        cmd = deleteNetworkOffering.deleteNetworkOfferingCmd()
-        cmd.id = self.id
-        apiclient.deleteNetworkOffering(cmd)
-        return
-
-    def update(self, apiclient, **kwargs):
-        """Lists all available network offerings."""
-
-        cmd = updateNetworkOffering.updateNetworkOfferingCmd()
-        cmd.id = self.id
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.updateNetworkOffering(cmd))
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """Lists all available network offerings."""
-
-        cmd = listNetworkOfferings.listNetworkOfferingsCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listNetworkOfferings(cmd))
-
-
-class SnapshotPolicy:
-    """Manage snapshot policies"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, volumeid, services):
-        """Create Snapshot policy"""
-        cmd = createSnapshotPolicy.createSnapshotPolicyCmd()
-        cmd.intervaltype = services["intervaltype"]
-        cmd.maxsnaps = services["maxsnaps"]
-        cmd.schedule = services["schedule"]
-        cmd.timezone = services["timezone"]
-        cmd.volumeid = volumeid
-        return SnapshotPolicy(apiclient.createSnapshotPolicy(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Snapshot policy"""
-        cmd = deleteSnapshotPolicies.deleteSnapshotPoliciesCmd()
-        cmd.id = self.id
-        apiclient.deleteSnapshotPolicies(cmd)
-        return
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """Lists snapshot policies."""
-
-        cmd = listSnapshotPolicies.listSnapshotPoliciesCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listSnapshotPolicies(cmd))
-
-
-class LoadBalancerRule:
-    """Manage Load Balancer rule"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, ipaddressid=None, accountid=None,
-               networkid=None, vpcid=None, projectid=None, domainid=None):
-        """Create Load balancing Rule"""
-
-        cmd = createLoadBalancerRule.createLoadBalancerRuleCmd()
-
-        if ipaddressid:
-            cmd.publicipid = ipaddressid
-        elif "ipaddressid" in services:
-            cmd.publicipid = services["ipaddressid"]
-
-        if accountid:
-            cmd.account = accountid
-        elif "account" in services:
-            cmd.account = services["account"]
-
-        if domainid:
-            cmd.domainid = domainid
-
-        if vpcid:
-            cmd.vpcid = vpcid
-        cmd.name = services["name"]
-        cmd.algorithm = services["alg"]
-        cmd.privateport = services["privateport"]
-        cmd.publicport = services["publicport"]
-
-        if "openfirewall" in services:
-            cmd.openfirewall = services["openfirewall"]
-
-        if projectid:
-            cmd.projectid = projectid
-
-        if networkid:
-            cmd.networkid = networkid
-        return LoadBalancerRule(apiclient.createLoadBalancerRule(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete load balancing rule"""
-        cmd = deleteLoadBalancerRule.deleteLoadBalancerRuleCmd()
-        cmd.id = self.id
-        apiclient.deleteLoadBalancerRule(cmd)
-        return
-
-    def assign(self, apiclient, vms):
-        """Assign virtual machines to load balancing rule"""
-        cmd = assignToLoadBalancerRule.assignToLoadBalancerRuleCmd()
-        cmd.id = self.id
-        cmd.virtualmachineids = [str(vm.id) for vm in vms]
-        apiclient.assignToLoadBalancerRule(cmd)
-        return
-
-    def remove(self, apiclient, vms):
-        """Remove virtual machines from load balancing rule"""
-        cmd = removeFromLoadBalancerRule.removeFromLoadBalancerRuleCmd()
-        cmd.id = self.id
-        cmd.virtualmachineids = [str(vm.id) for vm in vms]
-        apiclient.removeFromLoadBalancerRule(cmd)
-        return
-
-    def update(self, apiclient, algorithm=None, description=None, name=None, **kwargs):
-        """Updates the load balancing rule"""
-        cmd = updateLoadBalancerRule.updateLoadBalancerRuleCmd()
-        cmd.id = self.id
-        if algorithm:
-            cmd.algorithm = algorithm
-        if description:
-            cmd.description = description
-        if name:
-            cmd.name = name
-
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return apiclient.updateLoadBalancerRule(cmd)
-
-    def createSticky(self, apiclient, methodname, name, description=None, param=None):
-        """Creates a sticky policy for the LB rule"""
-
-        cmd = createLBStickinessPolicy.createLBStickinessPolicyCmd()
-        cmd.lbruleid = self.id
-        cmd.methodname = methodname
-        cmd.name = name
-        if description:
-            cmd.description = description
-        if param:
-            cmd.param = []
-            for name, value in param.items():
-                cmd.param.append({'name': name, 'value': value})
-        return apiclient.createLBStickinessPolicy(cmd)
-
-    def deleteSticky(self, apiclient, id):
-        """Deletes stickyness policy"""
-
-        cmd = deleteLBStickinessPolicy.deleteLBStickinessPolicyCmd()
-        cmd.id = id
-        return apiclient.deleteLBStickinessPolicy(cmd)
-
-    @classmethod
-    def listStickyPolicies(cls, apiclient, lbruleid, **kwargs):
-        """Lists stickiness policies for load balancing rule"""
-
-        cmd = listLBStickinessPolicies.listLBStickinessPoliciesCmd()
-        cmd.lbruleid = lbruleid
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return apiclient.listLBStickinessPolicies(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all Load balancing rules matching criteria"""
-
-        cmd = listLoadBalancerRules.listLoadBalancerRulesCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listLoadBalancerRules(cmd))
-
-
-class Cluster:
-    """Manage Cluster life cycle"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, zoneid=None, podid=None):
-        """Create Cluster"""
-        cmd = addCluster.addClusterCmd()
-        cmd.clustertype = services["clustertype"]
-        cmd.hypervisor = apiclient.hypervisor
-
-        if zoneid:
-            cmd.zoneid = zoneid
-        else:
-            cmd.zoneid = services["zoneid"]
-
-        if podid:
-            cmd.podid = podid
-        else:
-            cmd.podid = services["podid"]
-
-        if "username" in services:
-            cmd.username = services["username"]
-        if "password" in services:
-            cmd.password = services["password"]
-        if "url" in services:
-            cmd.url = services["url"]
-        if "clustername" in services:
-            cmd.clustername = services["clustername"]
-
-        return Cluster(apiclient.addCluster(cmd)[0].__dict__)
-
-    def delete(self, apiclient):
-        """Delete Cluster"""
-        cmd = deleteCluster.deleteClusterCmd()
-        cmd.id = self.id
-        apiclient.deleteCluster(cmd)
-        return
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all Clusters matching criteria"""
-
-        cmd = listClusters.listClustersCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listClusters(cmd))
-
-
-class Host:
-    """Manage Host life cycle"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, cluster, services, zoneid=None, podid=None):
-        """Create Host in cluster"""
-
-        cmd = addHost.addHostCmd()
-        cmd.hypervisor = apiclient.hypervisor
-        cmd.url = services["url"]
-        cmd.clusterid = cluster.id
-
-        if zoneid:
-            cmd.zoneid = zoneid
-        else:
-            cmd.zoneid = services["zoneid"]
-
-        if podid:
-            cmd.podid = podid
-        else:
-            cmd.podid = services["podid"]
-
-        if "clustertype" in services:
-            cmd.clustertype = services["clustertype"]
-        if "username" in services:
-            cmd.username = services["username"]
-        if "password" in services:
-            cmd.password = services["password"]
-
-        # Add host
-        host = apiclient.addHost(cmd)
-
-        if isinstance(host, list):
-            return Host(host[0].__dict__)
-
-    def delete(self, apiclient):
-        """Delete Host"""
-        # Host must be in maintenance mode before deletion
-        cmd = prepareHostForMaintenance.prepareHostForMaintenanceCmd()
-        cmd.id = self.id
-        apiclient.prepareHostForMaintenance(cmd)
-        time.sleep(30)
-
-        cmd = deleteHost.deleteHostCmd()
-        cmd.id = self.id
-        apiclient.deleteHost(cmd)
-        return
-
-    def enableMaintenance(self, apiclient):
-        """enables maintenance mode Host"""
-
-        cmd = prepareHostForMaintenance.prepareHostForMaintenanceCmd()
-        cmd.id = self.id
-        return apiclient.prepareHostForMaintenance(cmd)
-
-    @classmethod
-    def enableMaintenance(cls, apiclient, id):
-        """enables maintenance mode Host"""
-
-        cmd = prepareHostForMaintenance.prepareHostForMaintenanceCmd()
-        cmd.id = id
-        return apiclient.prepareHostForMaintenance(cmd)
-
-    def cancelMaintenance(self, apiclient):
-        """Cancels maintenance mode Host"""
-
-        cmd = cancelHostMaintenance.cancelHostMaintenanceCmd()
-        cmd.id = self.id
-        return apiclient.cancelHostMaintenance(cmd)
-
-    @classmethod
-    def cancelMaintenance(cls, apiclient, id):
-        """Cancels maintenance mode Host"""
-
-        cmd = cancelHostMaintenance.cancelHostMaintenanceCmd()
-        cmd.id = id
-        return apiclient.cancelHostMaintenance(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all Hosts matching criteria"""
-
-        cmd = listHosts.listHostsCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listHosts(cmd))
-
-    @classmethod
-    def listForMigration(cls, apiclient, **kwargs):
-        """List all Hosts for migration matching criteria"""
-
-        cmd = findHostsForMigration.findHostsForMigrationCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.findHostsForMigration(cmd))
-
-
-class StoragePool:
-    """Manage Storage pools (Primary Storage)"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, clusterid=None,
-                                        zoneid=None, podid=None):
-        """Create Storage pool (Primary Storage)"""
-
-        cmd = createStoragePool.createStoragePoolCmd()
-        cmd.name = services["name"]
-
-        if podid:
-            cmd.podid = podid
-        else:
-            cmd.podid = services["podid"]
-
-        cmd.url = services["url"]
-        if clusterid:
-            cmd.clusterid = clusterid
-        elif "clusterid" in services:
-            cmd.clusterid = services["clusterid"]
-
-        if zoneid:
-            cmd.zoneid = zoneid
-        else:
-            cmd.zoneid = services["zoneid"]
-
-        return StoragePool(apiclient.createStoragePool(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Storage pool (Primary Storage)"""
-
-        # Storage pool must be in maintenance mode before deletion
-        cmd = enableStorageMaintenance.enableStorageMaintenanceCmd()
-        cmd.id = self.id
-        apiclient.enableStorageMaintenance(cmd)
-        time.sleep(30)
-        cmd = deleteStoragePool.deleteStoragePoolCmd()
-        cmd.id = self.id
-        apiclient.deleteStoragePool(cmd)
-        return
-
-    def enableMaintenance(self, apiclient):
-        """enables maintenance mode Storage pool"""
-
-        cmd = enableStorageMaintenance.enableStorageMaintenanceCmd()
-        cmd.id = self.id
-        return apiclient.enableStorageMaintenance(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all storage pools matching criteria"""
-
-        cmd = listStoragePools.listStoragePoolsCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listStoragePools(cmd))
-
-    @classmethod
-    def listForMigration(cls, apiclient, **kwargs):
-        """List all storage pools for migration matching criteria"""
-
-        cmd = findStoragePoolsForMigration.findStoragePoolsForMigrationCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.findStoragePoolsForMigration(cmd))
-
-class Network:
-    """Manage Network pools"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, accountid=None, domainid=None,
-               networkofferingid=None, projectid=None,
-               subdomainaccess=None, zoneid=None,
-               gateway=None, netmask=None, vpcid=None, aclid=None):
-        """Create Network for account"""
-        cmd = createNetwork.createNetworkCmd()
-        cmd.name = services["name"]
-        cmd.displaytext = services["displaytext"]
-
-        if networkofferingid:
-            cmd.networkofferingid = networkofferingid
-        elif "networkoffering" in services:
-            cmd.networkofferingid = services["networkoffering"]
-
-        if zoneid:
-            cmd.zoneid = zoneid
-        elif "zoneid" in services:
-            cmd.zoneid = services["zoneid"]
-
-        if subdomainaccess is not None:
-            cmd.subdomainaccess = subdomainaccess
-
-        if gateway:
-            cmd.gateway = gateway
-        elif "gateway" in services:
-            cmd.gateway = services["gateway"]
-        if netmask:
-            cmd.netmask = netmask
-        elif "netmask" in services:
-            cmd.netmask = services["netmask"]
-        if "startip" in services:
-            cmd.startip = services["startip"]
-        if "endip" in services:
-            cmd.endip = services["endip"]
-        if "vlan" in services:
-            cmd.vlan = services["vlan"]
-        if "acltype" in services:
-            cmd.acltype = services["acltype"]
-
-        if accountid:
-            cmd.account = accountid
-        if domainid:
-            cmd.domainid = domainid
-        if projectid:
-            cmd.projectid = projectid
-        if vpcid:
-            cmd.vpcid = vpcid
-        if aclid:
-            cmd.aclid = aclid
-        return Network(apiclient.createNetwork(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Account"""
-
-        cmd = deleteNetwork.deleteNetworkCmd()
-        cmd.id = self.id
-        apiclient.deleteNetwork(cmd)
-
-    def update(self, apiclient, **kwargs):
-        """Updates network with parameters passed"""
-
-        cmd = updateNetwork.updateNetworkCmd()
-        cmd.id = self.id
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.updateNetwork(cmd))
-
-    def restart(self, apiclient, cleanup=None):
-        """Restarts the network"""
-
-        cmd = restartNetwork.restartNetworkCmd()
-        cmd.id = self.id
-        if cleanup:
-            cmd.cleanup = cleanup
-        return(apiclient.restartNetwork(cmd))
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all Networks matching criteria"""
-
-        cmd = listNetworks.listNetworksCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listNetworks(cmd))
-
-
-class NetworkACL:
-    """Manage Network ACL lifecycle"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, networkid=None, protocol=None,
-               number=None, aclid=None, action='Allow', traffictype=None, cidrlist=[]):
-        """Create network ACL rules(Ingress/Egress)"""
-
-        cmd = createNetworkACL.createNetworkACLCmd()
-        if "networkid" in services:
-            cmd.networkid = services["networkid"]
-        elif networkid:
-            cmd.networkid = networkid
-
-        if "protocol" in services:
-            cmd.protocol = services["protocol"]
-            if services["protocol"] == 'ICMP':
-                cmd.icmptype = -1
-                cmd.icmpcode = -1
-        elif protocol:
-            cmd.protocol = protocol
-
-        if "startport" in services:
-            cmd.startport = services["startport"]
-        if "endport" in services:
-            cmd.endport = services["endport"]
-
-        if "cidrlist" in services:
-            cmd.cidrlist = services["cidrlist"]
-        elif cidrlist:
-            cmd.cidrlist = cidrlist
-
-        if "traffictype" in services:
-            cmd.traffictype = services["traffictype"]
-        elif traffictype:
-            cmd.traffictype = traffictype
-
-        if "action" in services:
-            cmd.action = services["action"]
-        elif action:
-            cmd.action = action
-
-        if "number" in services:
-            cmd.number = services["number"]
-        elif number:
-            cmd.number = number
-
-        if "aclid" in services:
-            cmd.aclid = services["aclid"]
-        elif aclid:
-            cmd.aclid = aclid
-
-        # Defaulted to Ingress
-        return NetworkACL(apiclient.createNetworkACL(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete network acl"""
-
-        cmd = deleteNetworkACL.deleteNetworkACLCmd()
-        cmd.id = self.id
-        return apiclient.deleteNetworkACL(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List Network ACLs"""
-
-        cmd = listNetworkACLs.listNetworkACLsCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listNetworkACLs(cmd))
-
-
-class NetworkACLList:
-    """Manage Network ACL lists lifecycle"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, name=None, description=None, vpcid=None):
-        """Create network ACL container list"""
-
-        cmd = createNetworkACLList.createNetworkACLListCmd()
-        if "name" in services:
-            cmd.name = services["name"]
-        elif name:
-            cmd.name = name
-
-        if "description" in services:
-            cmd.description = services["description"]
-        elif description:
-            cmd.description = description
-
-        if "vpcid" in services:
-            cmd.vpcid = services["vpcid"]
-        elif vpcid:
-            cmd.vpcid = vpcid
-
-        return NetworkACLList(apiclient.createNetworkACLList(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete network acl list"""
-
-        cmd = deleteNetworkACLList.deleteNetworkACLListCmd()
-        cmd.id = self.id
-        return apiclient.deleteNetworkACLList(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List Network ACL lists"""
-
-        cmd = listNetworkACLLists.listNetworkACLListsCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listNetworkACLLists(cmd))
-
-
-class Vpn:
-    """Manage VPN life cycle"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, publicipid, account=None, domainid=None,
-                        projectid=None, networkid=None, vpcid=None):
-        """Create VPN for Public IP address"""
-        cmd = createRemoteAccessVpn.createRemoteAccessVpnCmd()
-        cmd.publicipid = publicipid
-        if account:
-            cmd.account = account
-        if domainid:
-            cmd.domainid = domainid
-        if projectid:
-            cmd.projectid = projectid
-        if networkid:
-            cmd.networkid = networkid
-        if vpcid:
-            cmd.vpcid = vpcid
-        return Vpn(apiclient.createRemoteAccessVpn(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete remote VPN access"""
-
-        cmd = deleteRemoteAccessVpn.deleteRemoteAccessVpnCmd()
-        cmd.publicipid = self.publicipid
-        apiclient.deleteRemoteAccessVpn(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all VPN matching criteria"""
-
-        cmd = listRemoteAccessVpns.listRemoteAccessVpnsCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listRemoteAccessVpns(cmd))
-
-
-class VpnUser:
-    """Manage VPN user"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, username, password, account=None, domainid=None,
-               projectid=None, rand_name=True):
-        """Create VPN user"""
-        cmd = addVpnUser.addVpnUserCmd()
-        cmd.username = "-".join([username,
-                                 random_gen()]) if rand_name else username
-        cmd.password = password
-
-        if account:
-            cmd.account = account
-        if domainid:
-            cmd.domainid = domainid
-        if projectid:
-            cmd.projectid = projectid
-        return VpnUser(apiclient.addVpnUser(cmd).__dict__)
-
-    def delete(self, apiclient, projectid=None):
-        """Remove VPN user"""
-
-        cmd = removeVpnUser.removeVpnUserCmd()
-        cmd.username = self.username
-        if projectid:
-            cmd.projectid = projectid
-        else:
-            cmd.account = self.account
-            cmd.domainid = self.domainid
-        apiclient.removeVpnUser(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all VPN Users matching criteria"""
-
-        cmd = listVpnUsers.listVpnUsersCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listVpnUsers(cmd))
-
-
-class Zone:
-    """Manage Zone"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, domainid=None):
-        """Create zone"""
-        cmd = createZone.createZoneCmd()
-        cmd.dns1 = services["dns1"]
-        cmd.internaldns1 = services["internaldns1"]
-        cmd.name = services["name"]
-        cmd.networktype = services["networktype"]
-
-        if "dns2" in services:
-            cmd.dns2 = services["dns2"]
-        if "internaldns2" in services:
-            cmd.internaldns2 = services["internaldns2"]
-        if domainid:
-            cmd.domainid = domainid
-
-        return Zone(apiclient.createZone(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Zone"""
-
-        cmd = deleteZone.deleteZoneCmd()
-        cmd.id = self.id
-        apiclient.deleteZone(cmd)
-
-    def update(self, apiclient, **kwargs):
-        """Update the zone"""
-
-        cmd = updateZone.updateZoneCmd()
-        cmd.id = self.id
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return apiclient.updateZone(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """List all Zones matching criteria"""
-
-        cmd = listZones.listZonesCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listZones(cmd))
-
-
-class Pod:
-    """Manage Pod"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services):
-        """Create Pod"""
-        cmd = createPod.createPodCmd()
-        cmd.gateway = services["gateway"]
-        cmd.netmask = services["netmask"]
-        cmd.name = services["name"]
-        cmd.startip = services["startip"]
-        cmd.endip = services["endip"]
-        cmd.zoneid = services["zoneid"]
-
-        return Pod(apiclient.createPod(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Pod"""
-
-        cmd = deletePod.deletePodCmd()
-        cmd.id = self.id
-        apiclient.deletePod(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        "Returns a default pod for specified zone"
-
-        cmd = listPods.listPodsCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return apiclient.listPods(cmd)
-
-
-class PublicIpRange:
-    """Manage VlanIpRange"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services):
-        """Create VlanIpRange"""
-
-        cmd = createVlanIpRange.createVlanIpRangeCmd()
-        cmd.gateway = services["gateway"]
-        cmd.netmask = services["netmask"]
-        cmd.forvirtualnetwork = services["forvirtualnetwork"]
-        cmd.startip = services["startip"]
-        cmd.endip = services["endip"]
-        cmd.zoneid = services["zoneid"]
-        cmd.podid = services["podid"]
-        cmd.vlan = services["vlan"]
-
-        return PublicIpRange(apiclient.createVlanIpRange(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete VlanIpRange"""
-
-        cmd = deleteVlanIpRange.deleteVlanIpRangeCmd()
-        cmd.id = self.vlan.id
-        apiclient.deleteVlanIpRange(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """Lists all VLAN IP ranges."""
-
-        cmd = listVlanIpRanges.listVlanIpRangesCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listVlanIpRanges(cmd))
-
-    @classmethod
-    def dedicate(cls, apiclient, id, account=None, domainid=None, projectid=None):
-        """Dedicate VLAN IP range"""
-
-        cmd = dedicatePublicIpRange.dedicatePublicIpRangeCmd()
-        cmd.id = id
-        cmd.account = account
-        cmd.domainid = domainid
-        cmd.projectid = projectid
-        return PublicIpRange(apiclient.dedicatePublicIpRange(cmd).__dict__)
-
-    def release(self, apiclient):
-        """Release VLAN IP range"""
-
-        cmd = releasePublicIpRange.releasePublicIpRangeCmd()
-        cmd.id = self.vlan.id
-        return apiclient.releasePublicIpRange(cmd)
-
-
-class PortablePublicIpRange:
-    """Manage portable public Ip Range"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services):
-        """Create portable public Ip Range"""
-
-        cmd = createPortableIpRange.createPortableIpRangeCmd()
-        cmd.gateway = services["gateway"]
-        cmd.netmask = services["netmask"]
-        cmd.startip = services["startip"]
-        cmd.endip = services["endip"]
-        cmd.regionid = services["regionid"]
-
-        if "vlan" in services:
-            cmd.vlan = services["vlan"]
-
-        return PortablePublicIpRange(apiclient.createPortableIpRange(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete portable IpRange"""
-
-        cmd = deletePortableIpRange.deletePortableIpRangeCmd()
-        cmd.id = self.id
-        apiclient.deletePortableIpRange(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """Lists all portable public IP ranges."""
-
-        cmd = listPortableIpRanges.listPortableIpRangesCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listPortableIpRanges(cmd))
-
-class SecondaryStagingStore:
-    """Manage Staging Store"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, url, provider, services=None):
-        """Create Staging Storage"""
-        cmd = createSecondaryStagingStore.createSecondaryStagingStoreCmd()
-        cmd.url = url
-        cmd.provider = provider
-        if services:
-            if "zoneid" in services:
-                cmd.zoneid = services["zoneid"]
-            if "details" in services:
-                cmd.details = services["details"]
-            if "scope" in services:
-                cmd.scope = services["scope"]
-
-        return SecondaryStagingStore(apiclient.createSecondaryStagingStore(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Staging Storage"""
-        cmd = deleteSecondaryStagingStore.deleteSecondaryStagingStoreCmd()
-        cmd.id = self.id
-        apiclient.deleteSecondaryStagingStore(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        cmd = listSecondaryStagingStores.listSecondaryStagingStoresCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listSecondaryStagingStores(cmd))
-
-
-class ImageStore:
-    """Manage image stores"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, url, provider, services=None):
-        """Add Image Store"""
-        cmd = addImageStore.addImageStoreCmd()
-        cmd.url = url
-        cmd.provider = provider
-        if services:
-            if "zoneid" in services:
-                cmd.zoneid = services["zoneid"]
-            if "details" in services:
-                cmd.details = services["details"]
-            if "scope" in services:
-                cmd.scope = services["scope"]
-
-        return ImageStore(apiclient.addImageStore(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Image Store"""
-        cmd = deleteImageStore.deleteImageStoreCmd()
-        cmd.id = self.id
-        apiclient.deleteImageStore(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        cmd = listImageStores.listImageStoresCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return(apiclient.listImageStores(cmd))
-
-
-class PhysicalNetwork:
-    """Manage physical network storage"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, zoneid, domainid=None):
-        """Create physical network"""
-        cmd = createPhysicalNetwork.createPhysicalNetworkCmd()
-
-        cmd.name = services["name"]
-        cmd.zoneid = zoneid
-        if domainid:
-            cmd.domainid = domainid
-        return PhysicalNetwork(apiclient.createPhysicalNetwork(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Physical Network"""
-
-        cmd = deletePhysicalNetwork.deletePhysicalNetworkCmd()
-        cmd.id = self.id
-        apiclient.deletePhysicalNetwork(cmd)
-
-    def update(self, apiclient, **kwargs):
-        """Update Physical network state"""
-
-        cmd = updatePhysicalNetwork.updatePhysicalNetworkCmd()
-        cmd.id = self.id
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return apiclient.updatePhysicalNetwork(cmd)
-
-    def addTrafficType(self, apiclient, type):
-        """Add Traffic type to Physical network"""
-
-        cmd = addTrafficType.addTrafficTypeCmd()
-        cmd.physicalnetworkid = self.id
-        cmd.traffictype = type
-        return apiclient.addTrafficType(cmd)
-
-    @classmethod
-    def dedicate(cls, apiclient, vlanrange, physicalnetworkid, account=None, domainid=None, projectid=None):
-        """Dedicate guest vlan range"""
-
-        cmd = dedicateGuestVlanRange.dedicateGuestVlanRangeCmd()
-        cmd.vlanrange = vlanrange
-        cmd.physicalnetworkid = physicalnetworkid
-        cmd.account = account
-        cmd.domainid = domainid
-        cmd.projectid = projectid
-        return PhysicalNetwork(apiclient.dedicateGuestVlanRange(cmd).__dict__)
-
-    def release(self, apiclient):
-        """Release guest vlan range"""
-
-        cmd = releaseDedicatedGuestVlanRange.releaseDedicatedGuestVlanRangeCmd()
-        cmd.id = self.id
-        return apiclient.releaseDedicatedGuestVlanRange(cmd)
-
-    @classmethod
-    def listDedicated(cls, apiclient, **kwargs):
-        """Lists all dedicated guest vlan ranges"""
-
-        cmd = listDedicatedGuestVlanRanges.listDedicatedGuestVlanRangesCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return apiclient.listDedicatedGuestVlanRanges(cmd)
-
-    @classmethod
-    def list(cls, apiclient, **kwargs):
-        """Lists all physical networks"""
-
-        cmd = listPhysicalNetworks.listPhysicalNetworksCmd()
-        [setattr(cmd, k, v) for k, v in kwargs.items()]
-        return map(lambda pn : PhysicalNetwork(pn.__dict__), apiclient.listPhysicalNetworks(cmd))
-
-
-class SecurityGroup:
-    """Manage Security Groups"""
-
-    def __init__(self, items):
-        self.__dict__.update(items)
-
-    @classmethod
-    def create(cls, apiclient, services, account=None, domainid=None,
-               description=None, projectid=None):
-        """Create security group"""
-        cmd = createSecurityGroup.createSecurityGroupCmd()
-
-        cmd.name = services["name"]
-        if account:
-            cmd.account = account
-        if domainid:
-            cmd.domainid = domainid
-        if description:
-            cmd.description = description
-        if projectid:
-            cmd.projectid = projectid
-
-        return SecurityGroup(apiclient.createSecurityGroup(cmd).__dict__)
-
-    def delete(self, apiclient):
-        """Delete Security Group"""
-
-        cmd = deleteSecurityGroup.deleteSecurityGroupCmd()
-        cmd.id = self.id
-        apiclient.deleteSecurityGroup(cmd)
-
-    def authorize(self, apiclient, services,
-                  account=None, domainid=None, projectid=None):
-        """Authorize Ingress Rule"""
-
-        cmd = authorizeSecurityGroupIngress.authorizeSecurityGroupIngressCmd()
-
-        if domainid:
-            cmd.domainid = domainid
-        if account:
-            cmd.account = account
-
-        if projectid:
-            cmd.projectid = projectid
-        cmd.securitygroupid = self.id
-        cmd.protocol = services["protocol"]
-
-        if services["protocol"] == 'ICMP':
-            cmd.icmptype = -1
-            cmd.icmpcode = -1
-        else:
-            cmd.startport = services["startport"]
-            cmd.endport = services["endport"]
-
-        cmd.cidrlist = services["cidrlist"]
-        return (apiclient.authorizeSecurityGroupIngress(cmd).__dict__)
-
-    def revoke(self, apiclient, id):
-        """Revoke ingress rule"""
-
-        cmd = revokeSecurityGroupIngress.revokeSecurityGroupIngressCmd()
-        cmd.id = id
-        return apiclient.revokeSecurityGroupIngress(cmd)
-
-    def authorizeEgress(self, apiclient, services, account=None, domainid=None,
-                        projectid=None, user_secgrp_list={}):
-        """Authorize Egress Rule"""
-
-        cmd = authorizeSecurityGroupEgress.authorizeSecurityGroupEgressCmd()
-
-        if domainid:
-            cmd.domainid = domainid
-        if account:
-            cmd.account = account
-
-        if projectid:
-            cmd.projectid = projectid
-        cmd.securitygroupid = self.id
-        cmd.protocol = services["protocol"]
-
-        if services["protocol"] == 'ICMP':
-            cmd.icmptype = -1
-            cmd.icmpcode = -1
-        else:
-            cmd.startport = services["startport"]
-            cmd.endport = services["endport"]
-
-        cmd.cidrlist = services["cidrlist"]
-
-        cmd.usersecuritygrouplist = []
-        for account, group in user_se

<TRUNCATED>

[09/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/restoreVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/restoreVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/restoreVirtualMachine.py
deleted file mode 100644
index e22f6c8..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/restoreVirtualMachine.py
+++ /dev/null
@@ -1,371 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Restore a VM to original template/ISO or new template/ISO"""
-from baseCmd import *
-from baseResponse import *
-class restoreVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Virtual Machine ID"""
-        """Required"""
-        self.virtualmachineid = None
-        """an optional template Id to restore vm from the new template. This can be an ISO id in case of restore vm deployed using ISO"""
-        self.templateid = None
-        self.required = ["virtualmachineid",]
-
-class restoreVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/revertSnapshot.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/revertSnapshot.py b/tools/marvin/build/lib/marvin/cloudstackAPI/revertSnapshot.py
deleted file mode 100644
index e8ba532..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/revertSnapshot.py
+++ /dev/null
@@ -1,91 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""revert a volume snapshot."""
-from baseCmd import *
-from baseResponse import *
-class revertSnapshotCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the snapshot"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class revertSnapshotResponse (baseResponse):
-    def __init__(self):
-        """ID of the snapshot"""
-        self.id = None
-        """the account associated with the snapshot"""
-        self.account = None
-        """the date the snapshot was created"""
-        self.created = None
-        """the domain name of the snapshot's account"""
-        self.domain = None
-        """the domain ID of the snapshot's account"""
-        self.domainid = None
-        """valid types are hourly, daily, weekly, monthy, template, and none."""
-        self.intervaltype = None
-        """name of the snapshot"""
-        self.name = None
-        """the project name of the snapshot"""
-        self.project = None
-        """the project id of the snapshot"""
-        self.projectid = None
-        """the type of the snapshot"""
-        self.snapshottype = None
-        """the state of the snapshot. BackedUp means that snapshot is ready to be used; Creating - the snapshot is being allocated on the primary storage; BackingUp - the snapshot is being backed up on secondary storage"""
-        self.state = None
-        """ID of the disk volume"""
-        self.volumeid = None
-        """name of the disk volume"""
-        self.volumename = None
-        """type of the disk volume"""
-        self.volumetype = None
-        """id of the availability zone"""
-        self.zoneid = None
-        """the list of resource tags associated with snapshot"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/revertToVMSnapshot.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/revertToVMSnapshot.py b/tools/marvin/build/lib/marvin/cloudstackAPI/revertToVMSnapshot.py
deleted file mode 100644
index 394ecba..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/revertToVMSnapshot.py
+++ /dev/null
@@ -1,369 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Revert VM from a vmsnapshot."""
-from baseCmd import *
-from baseResponse import *
-class revertToVMSnapshotCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the vm snapshot"""
-        """Required"""
-        self.vmsnapshotid = None
-        self.required = ["vmsnapshotid",]
-
-class revertToVMSnapshotResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/revokeSecurityGroupEgress.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/revokeSecurityGroupEgress.py b/tools/marvin/build/lib/marvin/cloudstackAPI/revokeSecurityGroupEgress.py
deleted file mode 100644
index 90d8753..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/revokeSecurityGroupEgress.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a particular egress rule from this security group"""
-from baseCmd import *
-from baseResponse import *
-class revokeSecurityGroupEgressCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the egress rule"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class revokeSecurityGroupEgressResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/revokeSecurityGroupIngress.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/revokeSecurityGroupIngress.py b/tools/marvin/build/lib/marvin/cloudstackAPI/revokeSecurityGroupIngress.py
deleted file mode 100644
index 82309ab..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/revokeSecurityGroupIngress.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a particular ingress rule from this security group"""
-from baseCmd import *
-from baseResponse import *
-class revokeSecurityGroupIngressCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the ingress rule"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class revokeSecurityGroupIngressResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/scaleSystemVm.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/scaleSystemVm.py b/tools/marvin/build/lib/marvin/cloudstackAPI/scaleSystemVm.py
deleted file mode 100644
index 56bbba3..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/scaleSystemVm.py
+++ /dev/null
@@ -1,89 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Scale the service offering for a system vm (console proxy or secondary storage). The system vm must be in a "Stopped" state for this command to take effect."""
-from baseCmd import *
-from baseResponse import *
-class scaleSystemVmCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the system vm"""
-        """Required"""
-        self.id = None
-        """the service offering ID to apply to the system vm"""
-        """Required"""
-        self.serviceofferingid = None
-        self.required = ["id","serviceofferingid",]
-
-class scaleSystemVmResponse (baseResponse):
-    def __init__(self):
-        """the ID of the system VM"""
-        self.id = None
-        """the number of active console sessions for the console proxy system vm"""
-        self.activeviewersessions = None
-        """the date and time the system VM was created"""
-        self.created = None
-        """the first DNS for the system VM"""
-        self.dns1 = None
-        """the second DNS for the system VM"""
-        self.dns2 = None
-        """the gateway for the system VM"""
-        self.gateway = None
-        """the host ID for the system VM"""
-        self.hostid = None
-        """the hostname for the system VM"""
-        self.hostname = None
-        """the job ID associated with the system VM. This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobid = None
-        """the job status associated with the system VM.  This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobstatus = None
-        """the link local IP address for the system vm"""
-        self.linklocalip = None
-        """the link local MAC address for the system vm"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the system vm"""
-        self.linklocalnetmask = None
-        """the name of the system VM"""
-        self.name = None
-        """the network domain for the system VM"""
-        self.networkdomain = None
-        """the Pod ID for the system VM"""
-        self.podid = None
-        """the private IP address for the system VM"""
-        self.privateip = None
-        """the private MAC address for the system VM"""
-        self.privatemacaddress = None
-        """the private netmask for the system VM"""
-        self.privatenetmask = None
-        """the public IP address for the system VM"""
-        self.publicip = None
-        """the public MAC address for the system VM"""
-        self.publicmacaddress = None
-        """the public netmask for the system VM"""
-        self.publicnetmask = None
-        """the state of the system VM"""
-        self.state = None
-        """the system VM type"""
-        self.systemvmtype = None
-        """the template ID for the system VM"""
-        self.templateid = None
-        """the Zone ID for the system VM"""
-        self.zoneid = None
-        """the Zone name for the system VM"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/scaleVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/scaleVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/scaleVirtualMachine.py
deleted file mode 100644
index 6e0971d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/scaleVirtualMachine.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Scales the virtual machine to a new service offering."""
-from baseCmd import *
-from baseResponse import *
-class scaleVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the virtual machine"""
-        """Required"""
-        self.id = None
-        """the ID of the service offering for the virtual machine"""
-        """Required"""
-        self.serviceofferingid = None
-        self.required = ["id","serviceofferingid",]
-
-class scaleVirtualMachineResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/startInternalLoadBalancerVM.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/startInternalLoadBalancerVM.py b/tools/marvin/build/lib/marvin/cloudstackAPI/startInternalLoadBalancerVM.py
deleted file mode 100644
index 26e38c5..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/startInternalLoadBalancerVM.py
+++ /dev/null
@@ -1,151 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Starts an existing internal lb vm."""
-from baseCmd import *
-from baseResponse import *
-class startInternalLoadBalancerVMCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the internal lb vm"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class startInternalLoadBalancerVMResponse (baseResponse):
-    def __init__(self):
-        """the id of the router"""
-        self.id = None
-        """the account associated with the router"""
-        self.account = None
-        """the date and time the router was created"""
-        self.created = None
-        """the first DNS for the router"""
-        self.dns1 = None
-        """the second DNS for the router"""
-        self.dns2 = None
-        """the domain associated with the router"""
-        self.domain = None
-        """the domain ID associated with the router"""
-        self.domainid = None
-        """the gateway for the router"""
-        self.gateway = None
-        """the guest IP address for the router"""
-        self.guestipaddress = None
-        """the guest MAC address for the router"""
-        self.guestmacaddress = None
-        """the guest netmask for the router"""
-        self.guestnetmask = None
-        """the ID of the corresponding guest network"""
-        self.guestnetworkid = None
-        """the host ID for the router"""
-        self.hostid = None
-        """the hostname for the router"""
-        self.hostname = None
-        """the first IPv6 DNS for the router"""
-        self.ip6dns1 = None
-        """the second IPv6 DNS for the router"""
-        self.ip6dns2 = None
-        """if this router is an redundant virtual router"""
-        self.isredundantrouter = None
-        """the link local IP address for the router"""
-        self.linklocalip = None
-        """the link local MAC address for the router"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the router"""
-        self.linklocalnetmask = None
-        """the ID of the corresponding link local network"""
-        self.linklocalnetworkid = None
-        """the name of the router"""
-        self.name = None
-        """the network domain for the router"""
-        self.networkdomain = None
-        """the Pod ID for the router"""
-        self.podid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """the public IP address for the router"""
-        self.publicip = None
-        """the public MAC address for the router"""
-        self.publicmacaddress = None
-        """the public netmask for the router"""
-        self.publicnetmask = None
-        """the ID of the corresponding public network"""
-        self.publicnetworkid = None
-        """the state of redundant virtual router"""
-        self.redundantstate = None
-        """role of the domain router"""
-        self.role = None
-        """the version of scripts"""
-        self.scriptsversion = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """the state of the router"""
-        self.state = None
-        """the template ID for the router"""
-        self.templateid = None
-        """the version of template"""
-        self.templateversion = None
-        """VPC the router belongs to"""
-        self.vpcid = None
-        """the Zone ID for the router"""
-        self.zoneid = None
-        """the Zone name for the router"""
-        self.zonename = None
-        """the list of nics associated with the router"""
-        self.nic = []
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/startRouter.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/startRouter.py b/tools/marvin/build/lib/marvin/cloudstackAPI/startRouter.py
deleted file mode 100644
index 4d3c710..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/startRouter.py
+++ /dev/null
@@ -1,151 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Starts a router."""
-from baseCmd import *
-from baseResponse import *
-class startRouterCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the router"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class startRouterResponse (baseResponse):
-    def __init__(self):
-        """the id of the router"""
-        self.id = None
-        """the account associated with the router"""
-        self.account = None
-        """the date and time the router was created"""
-        self.created = None
-        """the first DNS for the router"""
-        self.dns1 = None
-        """the second DNS for the router"""
-        self.dns2 = None
-        """the domain associated with the router"""
-        self.domain = None
-        """the domain ID associated with the router"""
-        self.domainid = None
-        """the gateway for the router"""
-        self.gateway = None
-        """the guest IP address for the router"""
-        self.guestipaddress = None
-        """the guest MAC address for the router"""
-        self.guestmacaddress = None
-        """the guest netmask for the router"""
-        self.guestnetmask = None
-        """the ID of the corresponding guest network"""
-        self.guestnetworkid = None
-        """the host ID for the router"""
-        self.hostid = None
-        """the hostname for the router"""
-        self.hostname = None
-        """the first IPv6 DNS for the router"""
-        self.ip6dns1 = None
-        """the second IPv6 DNS for the router"""
-        self.ip6dns2 = None
-        """if this router is an redundant virtual router"""
-        self.isredundantrouter = None
-        """the link local IP address for the router"""
-        self.linklocalip = None
-        """the link local MAC address for the router"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the router"""
-        self.linklocalnetmask = None
-        """the ID of the corresponding link local network"""
-        self.linklocalnetworkid = None
-        """the name of the router"""
-        self.name = None
-        """the network domain for the router"""
-        self.networkdomain = None
-        """the Pod ID for the router"""
-        self.podid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """the public IP address for the router"""
-        self.publicip = None
-        """the public MAC address for the router"""
-        self.publicmacaddress = None
-        """the public netmask for the router"""
-        self.publicnetmask = None
-        """the ID of the corresponding public network"""
-        self.publicnetworkid = None
-        """the state of redundant virtual router"""
-        self.redundantstate = None
-        """role of the domain router"""
-        self.role = None
-        """the version of scripts"""
-        self.scriptsversion = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """the state of the router"""
-        self.state = None
-        """the template ID for the router"""
-        self.templateid = None
-        """the version of template"""
-        self.templateversion = None
-        """VPC the router belongs to"""
-        self.vpcid = None
-        """the Zone ID for the router"""
-        self.zoneid = None
-        """the Zone name for the router"""
-        self.zonename = None
-        """the list of nics associated with the router"""
-        self.nic = []
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/startSystemVm.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/startSystemVm.py b/tools/marvin/build/lib/marvin/cloudstackAPI/startSystemVm.py
deleted file mode 100644
index 5764006..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/startSystemVm.py
+++ /dev/null
@@ -1,86 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Starts a system virtual machine."""
-from baseCmd import *
-from baseResponse import *
-class startSystemVmCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the system virtual machine"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class startSystemVmResponse (baseResponse):
-    def __init__(self):
-        """the ID of the system VM"""
-        self.id = None
-        """the number of active console sessions for the console proxy system vm"""
-        self.activeviewersessions = None
-        """the date and time the system VM was created"""
-        self.created = None
-        """the first DNS for the system VM"""
-        self.dns1 = None
-        """the second DNS for the system VM"""
-        self.dns2 = None
-        """the gateway for the system VM"""
-        self.gateway = None
-        """the host ID for the system VM"""
-        self.hostid = None
-        """the hostname for the system VM"""
-        self.hostname = None
-        """the job ID associated with the system VM. This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobid = None
-        """the job status associated with the system VM.  This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobstatus = None
-        """the link local IP address for the system vm"""
-        self.linklocalip = None
-        """the link local MAC address for the system vm"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the system vm"""
-        self.linklocalnetmask = None
-        """the name of the system VM"""
-        self.name = None
-        """the network domain for the system VM"""
-        self.networkdomain = None
-        """the Pod ID for the system VM"""
-        self.podid = None
-        """the private IP address for the system VM"""
-        self.privateip = None
-        """the private MAC address for the system VM"""
-        self.privatemacaddress = None
-        """the private netmask for the system VM"""
-        self.privatenetmask = None
-        """the public IP address for the system VM"""
-        self.publicip = None
-        """the public MAC address for the system VM"""
-        self.publicmacaddress = None
-        """the public netmask for the system VM"""
-        self.publicnetmask = None
-        """the state of the system VM"""
-        self.state = None
-        """the system VM type"""
-        self.systemvmtype = None
-        """the template ID for the system VM"""
-        self.templateid = None
-        """the Zone ID for the system VM"""
-        self.zoneid = None
-        """the Zone name for the system VM"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/startVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/startVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/startVirtualMachine.py
deleted file mode 100644
index 4fec397..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/startVirtualMachine.py
+++ /dev/null
@@ -1,371 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Starts a virtual machine."""
-from baseCmd import *
-from baseResponse import *
-class startVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the virtual machine"""
-        """Required"""
-        self.id = None
-        """destination Host ID to deploy the VM to - parameter available for root admin only"""
-        self.hostid = None
-        self.required = ["id",]
-
-class startVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/stopInternalLoadBalancerVM.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/stopInternalLoadBalancerVM.py b/tools/marvin/build/lib/marvin/cloudstackAPI/stopInternalLoadBalancerVM.py
deleted file mode 100644
index 8dc6688..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/stopInternalLoadBalancerVM.py
+++ /dev/null
@@ -1,153 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Stops an Internal LB vm."""
-from baseCmd import *
-from baseResponse import *
-class stopInternalLoadBalancerVMCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the internal lb vm"""
-        """Required"""
-        self.id = None
-        """Force stop the VM. The caller knows the VM is stopped."""
-        self.forced = None
-        self.required = ["id",]
-
-class stopInternalLoadBalancerVMResponse (baseResponse):
-    def __init__(self):
-        """the id of the router"""
-        self.id = None
-        """the account associated with the router"""
-        self.account = None
-        """the date and time the router was created"""
-        self.created = None
-        """the first DNS for the router"""
-        self.dns1 = None
-        """the second DNS for the router"""
-        self.dns2 = None
-        """the domain associated with the router"""
-        self.domain = None
-        """the domain ID associated with the router"""
-        self.domainid = None
-        """the gateway for the router"""
-        self.gateway = None
-        """the guest IP address for the router"""
-        self.guestipaddress = None
-        """the guest MAC address for the router"""
-        self.guestmacaddress = None
-        """the guest netmask for the router"""
-        self.guestnetmask = None
-        """the ID of the corresponding guest network"""
-        self.guestnetworkid = None
-        """the host ID for the router"""
-        self.hostid = None
-        """the hostname for the router"""
-        self.hostname = None
-        """the first IPv6 DNS for the router"""
-        self.ip6dns1 = None
-        """the second IPv6 DNS for the router"""
-        self.ip6dns2 = None
-        """if this router is an redundant virtual router"""
-        self.isredundantrouter = None
-        """the link local IP address for the router"""
-        self.linklocalip = None
-        """the link local MAC address for the router"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the router"""
-        self.linklocalnetmask = None
-        """the ID of the corresponding link local network"""
-        self.linklocalnetworkid = None
-        """the name of the router"""
-        self.name = None
-        """the network domain for the router"""
-        self.networkdomain = None
-        """the Pod ID for the router"""
-        self.podid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """the public IP address for the router"""
-        self.publicip = None
-        """the public MAC address for the router"""
-        self.publicmacaddress = None
-        """the public netmask for the router"""
-        self.publicnetmask = None
-        """the ID of the corresponding public network"""
-        self.publicnetworkid = None
-        """the state of redundant virtual router"""
-        self.redundantstate = None
-        """role of the domain router"""
-        self.role = None
-        """the version of scripts"""
-        self.scriptsversion = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """the state of the router"""
-        self.state = None
-        """the template ID for the router"""
-        self.templateid = None
-        """the version of template"""
-        self.templateversion = None
-        """VPC the router belongs to"""
-        self.vpcid = None
-        """the Zone ID for the router"""
-        self.zoneid = None
-        """the Zone name for the router"""
-        self.zonename = None
-        """the list of nics associated with the router"""
-        self.nic = []
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-


[12/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/markDefaultZoneForAccount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/markDefaultZoneForAccount.py b/tools/marvin/build/lib/marvin/cloudstackAPI/markDefaultZoneForAccount.py
deleted file mode 100644
index dcf2621..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/markDefaultZoneForAccount.py
+++ /dev/null
@@ -1,179 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Marks a default zone for this account"""
-from baseCmd import *
-from baseResponse import *
-class markDefaultZoneForAccountCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Name of the account that is to be marked."""
-        """Required"""
-        self.account = None
-        """Marks the account that belongs to the specified domain."""
-        """Required"""
-        self.domainid = None
-        """The Zone ID with which the account is to be marked."""
-        """Required"""
-        self.zoneid = None
-        self.required = ["account","domainid","zoneid",]
-
-class markDefaultZoneForAccountResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/migrateSystemVm.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/migrateSystemVm.py b/tools/marvin/build/lib/marvin/cloudstackAPI/migrateSystemVm.py
deleted file mode 100644
index ab2a7b5..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/migrateSystemVm.py
+++ /dev/null
@@ -1,89 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Attempts Migration of a system virtual machine to the host specified."""
-from baseCmd import *
-from baseResponse import *
-class migrateSystemVmCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """destination Host ID to migrate VM to"""
-        """Required"""
-        self.hostid = None
-        """the ID of the virtual machine"""
-        """Required"""
-        self.virtualmachineid = None
-        self.required = ["hostid","virtualmachineid",]
-
-class migrateSystemVmResponse (baseResponse):
-    def __init__(self):
-        """the ID of the system VM"""
-        self.id = None
-        """the number of active console sessions for the console proxy system vm"""
-        self.activeviewersessions = None
-        """the date and time the system VM was created"""
-        self.created = None
-        """the first DNS for the system VM"""
-        self.dns1 = None
-        """the second DNS for the system VM"""
-        self.dns2 = None
-        """the gateway for the system VM"""
-        self.gateway = None
-        """the host ID for the system VM"""
-        self.hostid = None
-        """the hostname for the system VM"""
-        self.hostname = None
-        """the job ID associated with the system VM. This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobid = None
-        """the job status associated with the system VM.  This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobstatus = None
-        """the link local IP address for the system vm"""
-        self.linklocalip = None
-        """the link local MAC address for the system vm"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the system vm"""
-        self.linklocalnetmask = None
-        """the name of the system VM"""
-        self.name = None
-        """the network domain for the system VM"""
-        self.networkdomain = None
-        """the Pod ID for the system VM"""
-        self.podid = None
-        """the private IP address for the system VM"""
-        self.privateip = None
-        """the private MAC address for the system VM"""
-        self.privatemacaddress = None
-        """the private netmask for the system VM"""
-        self.privatenetmask = None
-        """the public IP address for the system VM"""
-        self.publicip = None
-        """the public MAC address for the system VM"""
-        self.publicmacaddress = None
-        """the public netmask for the system VM"""
-        self.publicnetmask = None
-        """the state of the system VM"""
-        self.state = None
-        """the system VM type"""
-        self.systemvmtype = None
-        """the template ID for the system VM"""
-        self.templateid = None
-        """the Zone ID for the system VM"""
-        self.zoneid = None
-        """the Zone name for the system VM"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/migrateVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/migrateVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/migrateVirtualMachine.py
deleted file mode 100644
index 6e72c72..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/migrateVirtualMachine.py
+++ /dev/null
@@ -1,373 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Attempts Migration of a VM to a different host or Root volume of the vm to a different storage pool"""
-from baseCmd import *
-from baseResponse import *
-class migrateVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the virtual machine"""
-        """Required"""
-        self.virtualmachineid = None
-        """Destination Host ID to migrate VM to. Required for live migrating a VM from host to host"""
-        self.hostid = None
-        """Destination storage pool ID to migrate VM volumes to. Required for migrating the root disk volume"""
-        self.storageid = None
-        self.required = ["virtualmachineid",]
-
-class migrateVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/migrateVirtualMachineWithVolume.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/migrateVirtualMachineWithVolume.py b/tools/marvin/build/lib/marvin/cloudstackAPI/migrateVirtualMachineWithVolume.py
deleted file mode 100644
index f7e6c53..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/migrateVirtualMachineWithVolume.py
+++ /dev/null
@@ -1,374 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Attempts Migration of a VM with its volumes to a different host"""
-from baseCmd import *
-from baseResponse import *
-class migrateVirtualMachineWithVolumeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Destination Host ID to migrate VM to."""
-        """Required"""
-        self.hostid = None
-        """the ID of the virtual machine"""
-        """Required"""
-        self.virtualmachineid = None
-        """Map of pool to which each volume should be migrated (volume/pool pair)"""
-        self.migrateto = []
-        self.required = ["hostid","virtualmachineid",]
-
-class migrateVirtualMachineWithVolumeResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/migrateVolume.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/migrateVolume.py b/tools/marvin/build/lib/marvin/cloudstackAPI/migrateVolume.py
deleted file mode 100644
index 895876f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/migrateVolume.py
+++ /dev/null
@@ -1,148 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Migrate volume"""
-from baseCmd import *
-from baseResponse import *
-class migrateVolumeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """destination storage pool ID to migrate the volume to"""
-        """Required"""
-        self.storageid = None
-        """the ID of the volume"""
-        """Required"""
-        self.volumeid = None
-        """if the volume should be live migrated when it is attached to a running vm"""
-        self.livemigrate = None
-        self.required = ["storageid","volumeid",]
-
-class migrateVolumeResponse (baseResponse):
-    def __init__(self):
-        """ID of the disk volume"""
-        self.id = None
-        """the account associated with the disk volume"""
-        self.account = None
-        """the date the volume was attached to a VM instance"""
-        self.attached = None
-        """the date the disk volume was created"""
-        self.created = None
-        """the boolean state of whether the volume is destroyed or not"""
-        self.destroyed = None
-        """the ID of the device on user vm the volume is attahed to. This tag is not returned when the volume is detached."""
-        self.deviceid = None
-        """bytes read rate of the disk volume"""
-        self.diskBytesReadRate = None
-        """bytes write rate of the disk volume"""
-        self.diskBytesWriteRate = None
-        """io requests read rate of the disk volume"""
-        self.diskIopsReadRate = None
-        """io requests write rate of the disk volume"""
-        self.diskIopsWriteRate = None
-        """the display text of the disk offering"""
-        self.diskofferingdisplaytext = None
-        """ID of the disk offering"""
-        self.diskofferingid = None
-        """name of the disk offering"""
-        self.diskofferingname = None
-        """an optional field whether to the display the volume to the end user or not."""
-        self.displayvolume = None
-        """the domain associated with the disk volume"""
-        self.domain = None
-        """the ID of the domain associated with the disk volume"""
-        self.domainid = None
-        """Hypervisor the volume belongs to"""
-        self.hypervisor = None
-        """true if the volume is extractable, false otherwise"""
-        self.isextractable = None
-        """max iops of the disk volume"""
-        self.maxiops = None
-        """min iops of the disk volume"""
-        self.miniops = None
-        """name of the disk volume"""
-        self.name = None
-        """The path of the volume"""
-        self.path = None
-        """the project name of the vpn"""
-        self.project = None
-        """the project id of the vpn"""
-        self.projectid = None
-        """the display text of the service offering for root disk"""
-        self.serviceofferingdisplaytext = None
-        """ID of the service offering for root disk"""
-        self.serviceofferingid = None
-        """name of the service offering for root disk"""
-        self.serviceofferingname = None
-        """size of the disk volume"""
-        self.size = None
-        """ID of the snapshot from which this volume was created"""
-        self.snapshotid = None
-        """the state of the disk volume"""
-        self.state = None
-        """the status of the volume"""
-        self.status = None
-        """name of the primary storage hosting the disk volume"""
-        self.storage = None
-        """id of the primary storage hosting the disk volume; returned to admin user only"""
-        self.storageid = None
-        """shared or local storage"""
-        self.storagetype = None
-        """type of the disk volume (ROOT or DATADISK)"""
-        self.type = None
-        """id of the virtual machine"""
-        self.virtualmachineid = None
-        """display name of the virtual machine"""
-        self.vmdisplayname = None
-        """name of the virtual machine"""
-        self.vmname = None
-        """state of the virtual machine"""
-        self.vmstate = None
-        """ID of the availability zone"""
-        self.zoneid = None
-        """name of the availability zone"""
-        self.zonename = None
-        """the list of resource tags associated with volume"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/prepareHostForMaintenance.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/prepareHostForMaintenance.py b/tools/marvin/build/lib/marvin/cloudstackAPI/prepareHostForMaintenance.py
deleted file mode 100644
index 4e36902..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/prepareHostForMaintenance.py
+++ /dev/null
@@ -1,122 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Prepares a host for maintenance."""
-from baseCmd import *
-from baseResponse import *
-class prepareHostForMaintenanceCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the host ID"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class prepareHostForMaintenanceResponse (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
-        """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
-        """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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/prepareTemplate.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/prepareTemplate.py b/tools/marvin/build/lib/marvin/cloudstackAPI/prepareTemplate.py
deleted file mode 100644
index 05a5827..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/prepareTemplate.py
+++ /dev/null
@@ -1,134 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""load template into primary storage"""
-from baseCmd import *
-from baseResponse import *
-class prepareTemplateCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """template ID of the template to be prepared in primary storage(s)."""
-        """Required"""
-        self.templateid = None
-        """zone ID of the template to be prepared in primary storage(s)."""
-        """Required"""
-        self.zoneid = None
-        self.required = ["templateid","zoneid",]
-
-class prepareTemplateResponse (baseResponse):
-    def __init__(self):
-        """the template ID"""
-        self.id = None
-        """the account name to which the template belongs"""
-        self.account = None
-        """the account id to which the template belongs"""
-        self.accountid = None
-        """true if the ISO is bootable, false otherwise"""
-        self.bootable = None
-        """checksum of the template"""
-        self.checksum = None
-        """the date this template was created"""
-        self.created = None
-        """true if the template is managed across all Zones, false otherwise"""
-        self.crossZones = None
-        """additional key/value details tied with template"""
-        self.details = None
-        """the template display text"""
-        self.displaytext = None
-        """the name of the domain to which the template belongs"""
-        self.domain = None
-        """the ID of the domain to which the template belongs"""
-        self.domainid = None
-        """the format of the template."""
-        self.format = None
-        """the ID of the secondary storage host for the template"""
-        self.hostid = None
-        """the name of the secondary storage host for the template"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """true if the template is extractable, false otherwise"""
-        self.isextractable = None
-        """true if this template is a featured template, false otherwise"""
-        self.isfeatured = None
-        """true if this template is a public template, false otherwise"""
-        self.ispublic = None
-        """true if the template is ready to be deployed from, false otherwise."""
-        self.isready = None
-        """the template name"""
-        self.name = None
-        """the ID of the OS type for this template."""
-        self.ostypeid = None
-        """the name of the OS type for this template."""
-        self.ostypename = None
-        """true if the reset password feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the template"""
-        self.project = None
-        """the project id of the template"""
-        self.projectid = None
-        """the date this template was removed"""
-        self.removed = None
-        """the size of the template"""
-        self.size = None
-        """the template ID of the parent template if present"""
-        self.sourcetemplateid = None
-        """true if template is sshkey enabled, false otherwise"""
-        self.sshkeyenabled = None
-        """the status of the template"""
-        self.status = None
-        """the tag of this template"""
-        self.templatetag = None
-        """the type of the template"""
-        self.templatetype = None
-        """the ID of the zone for this template"""
-        self.zoneid = None
-        """the name of the zone for this template"""
-        self.zonename = None
-        """the list of resource tags associated with tempate"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/queryAsyncJobResult.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/queryAsyncJobResult.py b/tools/marvin/build/lib/marvin/cloudstackAPI/queryAsyncJobResult.py
deleted file mode 100644
index c3396b5..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/queryAsyncJobResult.py
+++ /dev/null
@@ -1,56 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Retrieves the current status of asynchronous job."""
-from baseCmd import *
-from baseResponse import *
-class queryAsyncJobResultCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the asychronous job"""
-        """Required"""
-        self.jobid = None
-        self.required = ["jobid",]
-
-class queryAsyncJobResultResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/rebootRouter.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/rebootRouter.py b/tools/marvin/build/lib/marvin/cloudstackAPI/rebootRouter.py
deleted file mode 100644
index ad29a57..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/rebootRouter.py
+++ /dev/null
@@ -1,151 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Starts a router."""
-from baseCmd import *
-from baseResponse import *
-class rebootRouterCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the router"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class rebootRouterResponse (baseResponse):
-    def __init__(self):
-        """the id of the router"""
-        self.id = None
-        """the account associated with the router"""
-        self.account = None
-        """the date and time the router was created"""
-        self.created = None
-        """the first DNS for the router"""
-        self.dns1 = None
-        """the second DNS for the router"""
-        self.dns2 = None
-        """the domain associated with the router"""
-        self.domain = None
-        """the domain ID associated with the router"""
-        self.domainid = None
-        """the gateway for the router"""
-        self.gateway = None
-        """the guest IP address for the router"""
-        self.guestipaddress = None
-        """the guest MAC address for the router"""
-        self.guestmacaddress = None
-        """the guest netmask for the router"""
-        self.guestnetmask = None
-        """the ID of the corresponding guest network"""
-        self.guestnetworkid = None
-        """the host ID for the router"""
-        self.hostid = None
-        """the hostname for the router"""
-        self.hostname = None
-        """the first IPv6 DNS for the router"""
-        self.ip6dns1 = None
-        """the second IPv6 DNS for the router"""
-        self.ip6dns2 = None
-        """if this router is an redundant virtual router"""
-        self.isredundantrouter = None
-        """the link local IP address for the router"""
-        self.linklocalip = None
-        """the link local MAC address for the router"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the router"""
-        self.linklocalnetmask = None
-        """the ID of the corresponding link local network"""
-        self.linklocalnetworkid = None
-        """the name of the router"""
-        self.name = None
-        """the network domain for the router"""
-        self.networkdomain = None
-        """the Pod ID for the router"""
-        self.podid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """the public IP address for the router"""
-        self.publicip = None
-        """the public MAC address for the router"""
-        self.publicmacaddress = None
-        """the public netmask for the router"""
-        self.publicnetmask = None
-        """the ID of the corresponding public network"""
-        self.publicnetworkid = None
-        """the state of redundant virtual router"""
-        self.redundantstate = None
-        """role of the domain router"""
-        self.role = None
-        """the version of scripts"""
-        self.scriptsversion = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """the state of the router"""
-        self.state = None
-        """the template ID for the router"""
-        self.templateid = None
-        """the version of template"""
-        self.templateversion = None
-        """VPC the router belongs to"""
-        self.vpcid = None
-        """the Zone ID for the router"""
-        self.zoneid = None
-        """the Zone name for the router"""
-        self.zonename = None
-        """the list of nics associated with the router"""
-        self.nic = []
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/rebootSystemVm.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/rebootSystemVm.py b/tools/marvin/build/lib/marvin/cloudstackAPI/rebootSystemVm.py
deleted file mode 100644
index 871a1fe..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/rebootSystemVm.py
+++ /dev/null
@@ -1,86 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Reboots a system VM."""
-from baseCmd import *
-from baseResponse import *
-class rebootSystemVmCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the system virtual machine"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class rebootSystemVmResponse (baseResponse):
-    def __init__(self):
-        """the ID of the system VM"""
-        self.id = None
-        """the number of active console sessions for the console proxy system vm"""
-        self.activeviewersessions = None
-        """the date and time the system VM was created"""
-        self.created = None
-        """the first DNS for the system VM"""
-        self.dns1 = None
-        """the second DNS for the system VM"""
-        self.dns2 = None
-        """the gateway for the system VM"""
-        self.gateway = None
-        """the host ID for the system VM"""
-        self.hostid = None
-        """the hostname for the system VM"""
-        self.hostname = None
-        """the job ID associated with the system VM. This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobid = None
-        """the job status associated with the system VM.  This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobstatus = None
-        """the link local IP address for the system vm"""
-        self.linklocalip = None
-        """the link local MAC address for the system vm"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the system vm"""
-        self.linklocalnetmask = None
-        """the name of the system VM"""
-        self.name = None
-        """the network domain for the system VM"""
-        self.networkdomain = None
-        """the Pod ID for the system VM"""
-        self.podid = None
-        """the private IP address for the system VM"""
-        self.privateip = None
-        """the private MAC address for the system VM"""
-        self.privatemacaddress = None
-        """the private netmask for the system VM"""
-        self.privatenetmask = None
-        """the public IP address for the system VM"""
-        self.publicip = None
-        """the public MAC address for the system VM"""
-        self.publicmacaddress = None
-        """the public netmask for the system VM"""
-        self.publicnetmask = None
-        """the state of the system VM"""
-        self.state = None
-        """the system VM type"""
-        self.systemvmtype = None
-        """the template ID for the system VM"""
-        self.templateid = None
-        """the Zone ID for the system VM"""
-        self.zoneid = None
-        """the Zone name for the system VM"""
-        self.zonename = None
-


[11/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/rebootVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/rebootVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/rebootVirtualMachine.py
deleted file mode 100644
index 265e828..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/rebootVirtualMachine.py
+++ /dev/null
@@ -1,369 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Reboots a virtual machine."""
-from baseCmd import *
-from baseResponse import *
-class rebootVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the virtual machine"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class rebootVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/reconnectHost.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/reconnectHost.py b/tools/marvin/build/lib/marvin/cloudstackAPI/reconnectHost.py
deleted file mode 100644
index 3d65772..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/reconnectHost.py
+++ /dev/null
@@ -1,122 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Reconnects a host."""
-from baseCmd import *
-from baseResponse import *
-class reconnectHostCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the host ID"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class reconnectHostResponse (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
-        """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
-        """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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/recoverVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/recoverVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/recoverVirtualMachine.py
deleted file mode 100644
index 969baa8..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/recoverVirtualMachine.py
+++ /dev/null
@@ -1,369 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Recovers a virtual machine."""
-from baseCmd import *
-from baseResponse import *
-class recoverVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """The ID of the virtual machine"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class recoverVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/registerIso.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/registerIso.py b/tools/marvin/build/lib/marvin/cloudstackAPI/registerIso.py
deleted file mode 100644
index 3303e83..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/registerIso.py
+++ /dev/null
@@ -1,162 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Registers an existing ISO into the CloudStack Cloud."""
-from baseCmd import *
-from baseResponse import *
-class registerIsoCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the display text of the ISO. This is usually used for display purposes."""
-        """Required"""
-        self.displaytext = None
-        """the name of the ISO"""
-        """Required"""
-        self.name = None
-        """the URL to where the ISO is currently being hosted"""
-        """Required"""
-        self.url = None
-        """the ID of the zone you wish to register the ISO to."""
-        """Required"""
-        self.zoneid = None
-        """an optional account name. Must be used with domainId."""
-        self.account = None
-        """true if this ISO is bootable. If not passed explicitly its assumed to be true"""
-        self.bootable = None
-        """the MD5 checksum value of this ISO"""
-        self.checksum = None
-        """an optional domainId. If the account parameter is used, domainId must also be used."""
-        self.domainid = None
-        """Image store uuid"""
-        self.imagestoreuuid = None
-        """true if iso contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """true if the iso or its derivatives are extractable; default is false"""
-        self.isextractable = None
-        """true if you want this ISO to be featured"""
-        self.isfeatured = None
-        """true if you want to register the ISO to be publicly available to all users, false otherwise."""
-        self.ispublic = None
-        """the ID of the OS Type that best represents the OS of this ISO. If the iso is bootable this parameter needs to be passed"""
-        self.ostypeid = None
-        """Register iso for the project"""
-        self.projectid = None
-        self.required = ["displaytext","name","url","zoneid",]
-
-class registerIsoResponse (baseResponse):
-    def __init__(self):
-        """the template ID"""
-        self.id = None
-        """the account name to which the template belongs"""
-        self.account = None
-        """the account id to which the template belongs"""
-        self.accountid = None
-        """true if the ISO is bootable, false otherwise"""
-        self.bootable = None
-        """checksum of the template"""
-        self.checksum = None
-        """the date this template was created"""
-        self.created = None
-        """true if the template is managed across all Zones, false otherwise"""
-        self.crossZones = None
-        """additional key/value details tied with template"""
-        self.details = None
-        """the template display text"""
-        self.displaytext = None
-        """the name of the domain to which the template belongs"""
-        self.domain = None
-        """the ID of the domain to which the template belongs"""
-        self.domainid = None
-        """the format of the template."""
-        self.format = None
-        """the ID of the secondary storage host for the template"""
-        self.hostid = None
-        """the name of the secondary storage host for the template"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """true if the template is extractable, false otherwise"""
-        self.isextractable = None
-        """true if this template is a featured template, false otherwise"""
-        self.isfeatured = None
-        """true if this template is a public template, false otherwise"""
-        self.ispublic = None
-        """true if the template is ready to be deployed from, false otherwise."""
-        self.isready = None
-        """the template name"""
-        self.name = None
-        """the ID of the OS type for this template."""
-        self.ostypeid = None
-        """the name of the OS type for this template."""
-        self.ostypename = None
-        """true if the reset password feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the template"""
-        self.project = None
-        """the project id of the template"""
-        self.projectid = None
-        """the date this template was removed"""
-        self.removed = None
-        """the size of the template"""
-        self.size = None
-        """the template ID of the parent template if present"""
-        self.sourcetemplateid = None
-        """true if template is sshkey enabled, false otherwise"""
-        self.sshkeyenabled = None
-        """the status of the template"""
-        self.status = None
-        """the tag of this template"""
-        self.templatetag = None
-        """the type of the template"""
-        self.templatetype = None
-        """the ID of the zone for this template"""
-        self.zoneid = None
-        """the name of the zone for this template"""
-        self.zonename = None
-        """the list of resource tags associated with tempate"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/registerSSHKeyPair.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/registerSSHKeyPair.py b/tools/marvin/build/lib/marvin/cloudstackAPI/registerSSHKeyPair.py
deleted file mode 100644
index 264c603..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/registerSSHKeyPair.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Register a public key in a keypair under a certain name"""
-from baseCmd import *
-from baseResponse import *
-class registerSSHKeyPairCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Name of the keypair"""
-        """Required"""
-        self.name = None
-        """Public key material of the keypair"""
-        """Required"""
-        self.publickey = None
-        """an optional account for the ssh key. Must be used with domainId."""
-        self.account = None
-        """an optional domainId for the ssh key. If the account parameter is used, domainId must also be used."""
-        self.domainid = None
-        """an optional project for the ssh key"""
-        self.projectid = None
-        self.required = ["name","publickey",]
-
-class registerSSHKeyPairResponse (baseResponse):
-    def __init__(self):
-        """Fingerprint of the public key"""
-        self.fingerprint = None
-        """Name of the keypair"""
-        self.name = None
-        """Private key"""
-        self.privatekey = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/registerTemplate.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/registerTemplate.py b/tools/marvin/build/lib/marvin/cloudstackAPI/registerTemplate.py
deleted file mode 100644
index 83393ce..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/registerTemplate.py
+++ /dev/null
@@ -1,179 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Registers an existing template into the CloudStack cloud."""
-from baseCmd import *
-from baseResponse import *
-class registerTemplateCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the display text of the template. This is usually used for display purposes."""
-        """Required"""
-        self.displaytext = None
-        """the format for the template. Possible values include QCOW2, RAW, and VHD."""
-        """Required"""
-        self.format = None
-        """the target hypervisor for the template"""
-        """Required"""
-        self.hypervisor = None
-        """the name of the template"""
-        """Required"""
-        self.name = None
-        """the ID of the OS Type that best represents the OS of this template."""
-        """Required"""
-        self.ostypeid = None
-        """the URL of where the template is hosted. Possible URL include http:// and https://"""
-        """Required"""
-        self.url = None
-        """the ID of the zone the template is to be hosted on"""
-        """Required"""
-        self.zoneid = None
-        """an optional accountName. Must be used with domainId."""
-        self.account = None
-        """32 or 64 bits support. 64 by default"""
-        self.bits = None
-        """the MD5 checksum value of this template"""
-        self.checksum = None
-        """Template details in key/value pairs."""
-        self.details = []
-        """an optional domainId. If the account parameter is used, domainId must also be used."""
-        self.domainid = None
-        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """true if the template or its derivatives are extractable; default is false"""
-        self.isextractable = None
-        """true if this template is a featured template, false otherwise"""
-        self.isfeatured = None
-        """true if the template is available to all accounts; default is true"""
-        self.ispublic = None
-        """true if the template type is routing i.e., if template is used to deploy router"""
-        self.isrouting = None
-        """true if the template supports the password reset feature; default is false"""
-        self.passwordenabled = None
-        """Register template for the project"""
-        self.projectid = None
-        """true if this template requires HVM"""
-        self.requireshvm = None
-        """true if the template supports the sshkey upload feature; default is false"""
-        self.sshkeyenabled = None
-        """the tag for this template."""
-        self.templatetag = None
-        self.required = ["displaytext","format","hypervisor","name","ostypeid","url","zoneid",]
-
-class registerTemplateResponse (baseResponse):
-    def __init__(self):
-        """the template ID"""
-        self.id = None
-        """the account name to which the template belongs"""
-        self.account = None
-        """the account id to which the template belongs"""
-        self.accountid = None
-        """true if the ISO is bootable, false otherwise"""
-        self.bootable = None
-        """checksum of the template"""
-        self.checksum = None
-        """the date this template was created"""
-        self.created = None
-        """true if the template is managed across all Zones, false otherwise"""
-        self.crossZones = None
-        """additional key/value details tied with template"""
-        self.details = None
-        """the template display text"""
-        self.displaytext = None
-        """the name of the domain to which the template belongs"""
-        self.domain = None
-        """the ID of the domain to which the template belongs"""
-        self.domainid = None
-        """the format of the template."""
-        self.format = None
-        """the ID of the secondary storage host for the template"""
-        self.hostid = None
-        """the name of the secondary storage host for the template"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """true if the template is extractable, false otherwise"""
-        self.isextractable = None
-        """true if this template is a featured template, false otherwise"""
-        self.isfeatured = None
-        """true if this template is a public template, false otherwise"""
-        self.ispublic = None
-        """true if the template is ready to be deployed from, false otherwise."""
-        self.isready = None
-        """the template name"""
-        self.name = None
-        """the ID of the OS type for this template."""
-        self.ostypeid = None
-        """the name of the OS type for this template."""
-        self.ostypename = None
-        """true if the reset password feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the template"""
-        self.project = None
-        """the project id of the template"""
-        self.projectid = None
-        """the date this template was removed"""
-        self.removed = None
-        """the size of the template"""
-        self.size = None
-        """the template ID of the parent template if present"""
-        self.sourcetemplateid = None
-        """true if template is sshkey enabled, false otherwise"""
-        self.sshkeyenabled = None
-        """the status of the template"""
-        self.status = None
-        """the tag of this template"""
-        self.templatetag = None
-        """the type of the template"""
-        self.templatetype = None
-        """the ID of the zone for this template"""
-        self.zoneid = None
-        """the name of the zone for this template"""
-        self.zonename = None
-        """the list of resource tags associated with tempate"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/registerUserKeys.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/registerUserKeys.py b/tools/marvin/build/lib/marvin/cloudstackAPI/registerUserKeys.py
deleted file mode 100644
index 6044b6a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/registerUserKeys.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""This command allows a user to register for the developer API, returning a secret key and an API key. This request is made through the integration API port, so it is a privileged command and must be made on behalf of a user. It is up to the implementer just how the username and password are entered, and then how that translates to an integration API request. Both secret key and API key should be returned to the user"""
-from baseCmd import *
-from baseResponse import *
-class registerUserKeysCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """User id"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class registerUserKeysResponse (baseResponse):
-    def __init__(self):
-        """the api key of the registered user"""
-        self.apikey = None
-        """the secret key of the registered user"""
-        self.secretkey = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedCluster.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedCluster.py b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedCluster.py
deleted file mode 100644
index 4354f6b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedCluster.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Release the dedication for cluster"""
-from baseCmd import *
-from baseResponse import *
-class releaseDedicatedClusterCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the Cluster"""
-        """Required"""
-        self.clusterid = None
-        self.required = ["clusterid",]
-
-class releaseDedicatedClusterResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedGuestVlanRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedGuestVlanRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedGuestVlanRange.py
deleted file mode 100644
index b2f8401..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedGuestVlanRange.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Releases a dedicated guest vlan range to the system"""
-from baseCmd import *
-from baseResponse import *
-class releaseDedicatedGuestVlanRangeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the dedicated guest vlan range"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class releaseDedicatedGuestVlanRangeResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedHost.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedHost.py b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedHost.py
deleted file mode 100644
index 680cd45..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedHost.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Release the dedication for host"""
-from baseCmd import *
-from baseResponse import *
-class releaseDedicatedHostCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the host"""
-        """Required"""
-        self.hostid = None
-        self.required = ["hostid",]
-
-class releaseDedicatedHostResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedPod.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedPod.py b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedPod.py
deleted file mode 100644
index 2993ed7..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedPod.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Release the dedication for the pod"""
-from baseCmd import *
-from baseResponse import *
-class releaseDedicatedPodCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the Pod"""
-        """Required"""
-        self.podid = None
-        self.required = ["podid",]
-
-class releaseDedicatedPodResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedZone.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedZone.py b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedZone.py
deleted file mode 100644
index 0f895c0..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedZone.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Release dedication of zone"""
-from baseCmd import *
-from baseResponse import *
-class releaseDedicatedZoneCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the Zone"""
-        """Required"""
-        self.zoneid = None
-        self.required = ["zoneid",]
-
-class releaseDedicatedZoneResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/releaseHostReservation.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseHostReservation.py b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseHostReservation.py
deleted file mode 100644
index 56626a5..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseHostReservation.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Releases host reservation."""
-from baseCmd import *
-from baseResponse import *
-class releaseHostReservationCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the host ID"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class releaseHostReservationResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/releasePublicIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/releasePublicIpRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/releasePublicIpRange.py
deleted file mode 100644
index 02f2a60..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/releasePublicIpRange.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Releases a Public IP range back to the system pool"""
-from baseCmd import *
-from baseResponse import *
-class releasePublicIpRangeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the id of the Public IP range"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class releasePublicIpRangeResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromGlobalLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromGlobalLoadBalancerRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromGlobalLoadBalancerRule.py
deleted file mode 100644
index b3efe40..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromGlobalLoadBalancerRule.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Removes a load balancer rule association with global load balancer rule"""
-from baseCmd import *
-from baseResponse import *
-class removeFromGlobalLoadBalancerRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the load balancer rule"""
-        """Required"""
-        self.id = None
-        """the list load balancer rules that will be assigned to gloabal load balacner rule"""
-        """Required"""
-        self.loadbalancerrulelist = []
-        self.required = ["id","loadbalancerrulelist",]
-
-class removeFromGlobalLoadBalancerRuleResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromLoadBalancerRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromLoadBalancerRule.py
deleted file mode 100644
index ed1a714..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromLoadBalancerRule.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Removes a virtual machine or a list of virtual machines from a load balancer rule."""
-from baseCmd import *
-from baseResponse import *
-class removeFromLoadBalancerRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the load balancer rule"""
-        """Required"""
-        self.id = None
-        """the list of IDs of the virtual machines that are being removed from the load balancer rule (i.e. virtualMachineIds=1,2,3)"""
-        """Required"""
-        self.virtualmachineids = []
-        self.required = ["id","virtualmachineids",]
-
-class removeFromLoadBalancerRuleResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/removeIpFromNic.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/removeIpFromNic.py b/tools/marvin/build/lib/marvin/cloudstackAPI/removeIpFromNic.py
deleted file mode 100644
index dfe2ef2..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/removeIpFromNic.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Assigns secondary IP to NIC."""
-from baseCmd import *
-from baseResponse import *
-class removeIpFromNicCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the secondary ip address to nic"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class removeIpFromNicResponse (baseResponse):
-    def __init__(self):
-        """any text associated with the success or failure"""
-        self.displaytext = None
-        """true if operation is executed successfully"""
-        self.success = None
-


[07/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateHost.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateHost.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateHost.py
deleted file mode 100644
index 18b5f93..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateHost.py
+++ /dev/null
@@ -1,130 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a host."""
-from baseCmd import *
-from baseResponse import *
-class updateHostCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the host to update"""
-        """Required"""
-        self.id = None
-        """Change resource state of host, valid values are [Enable, Disable]. Operation may failed if host in states not allowing Enable/Disable"""
-        self.allocationstate = None
-        """list of tags to be added to the host"""
-        self.hosttags = []
-        """the id of Os category to update the host with"""
-        self.oscategoryid = None
-        """the new uri for the secondary storage: nfs://host/path"""
-        self.url = None
-        self.required = ["id",]
-
-class updateHostResponse (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
-        """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
-        """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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateHostPassword.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateHostPassword.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateHostPassword.py
deleted file mode 100644
index eaeb0bc..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateHostPassword.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Update password of a host/pool on management server."""
-from baseCmd import *
-from baseResponse import *
-class updateHostPasswordCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the new password for the host/cluster"""
-        """Required"""
-        self.password = None
-        """the username for the host/cluster"""
-        """Required"""
-        self.username = None
-        """the cluster ID"""
-        self.clusterid = None
-        """the host ID"""
-        self.hostid = None
-        self.required = ["password","username",]
-
-class updateHostPasswordResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateHypervisorCapabilities.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateHypervisorCapabilities.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateHypervisorCapabilities.py
deleted file mode 100644
index f640aa8..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateHypervisorCapabilities.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a hypervisor capabilities."""
-from baseCmd import *
-from baseResponse import *
-class updateHypervisorCapabilitiesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """ID of the hypervisor capability"""
-        self.id = None
-        """the max number of Guest VMs per host for this hypervisor."""
-        self.maxguestslimit = None
-        """set true to enable security group for this hypervisor."""
-        self.securitygroupenabled = None
-        self.required = []
-
-class updateHypervisorCapabilitiesResponse (baseResponse):
-    def __init__(self):
-        """the ID of the hypervisor capabilities row"""
-        self.id = None
-        """the hypervisor type"""
-        self.hypervisor = None
-        """the hypervisor version"""
-        self.hypervisorversion = None
-        """the maximum number of Data Volumes that can be attached for this hypervisor"""
-        self.maxdatavolumeslimit = None
-        """the maximum number of guest vms recommended for this hypervisor"""
-        self.maxguestslimit = None
-        """the maximum number of Hosts per cluster for this hypervisor"""
-        self.maxhostspercluster = None
-        """true if security group is supported"""
-        self.securitygroupenabled = None
-        """true if storage motion is supported"""
-        self.storagemotionenabled = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateInstanceGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateInstanceGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateInstanceGroup.py
deleted file mode 100644
index 357f778..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateInstanceGroup.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a vm group"""
-from baseCmd import *
-from baseResponse import *
-class updateInstanceGroupCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Instance group ID"""
-        """Required"""
-        self.id = None
-        """new instance group name"""
-        self.name = None
-        self.required = ["id",]
-
-class updateInstanceGroupResponse (baseResponse):
-    def __init__(self):
-        """the id of the instance group"""
-        self.id = None
-        """the account owning the instance group"""
-        self.account = None
-        """time and date the instance group was created"""
-        self.created = None
-        """the domain name of the instance group"""
-        self.domain = None
-        """the domain ID of the instance group"""
-        self.domainid = None
-        """the name of the instance group"""
-        self.name = None
-        """the project name of the group"""
-        self.project = None
-        """the project id of the group"""
-        self.projectid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateIso.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateIso.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateIso.py
deleted file mode 100644
index 5416462..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateIso.py
+++ /dev/null
@@ -1,149 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates an ISO file."""
-from baseCmd import *
-from baseResponse import *
-class updateIsoCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the image file"""
-        """Required"""
-        self.id = None
-        """true if image is bootable, false otherwise"""
-        self.bootable = None
-        """the display text of the image"""
-        self.displaytext = None
-        """the format for the image"""
-        self.format = None
-        """true if template/ISO contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """true if the template type is routing i.e., if template is used to deploy router"""
-        self.isrouting = None
-        """the name of the image file"""
-        self.name = None
-        """the ID of the OS type that best represents the OS of this image."""
-        self.ostypeid = None
-        """true if the image supports the password reset feature; default is false"""
-        self.passwordenabled = None
-        """sort key of the template, integer"""
-        self.sortkey = None
-        self.required = ["id",]
-
-class updateIsoResponse (baseResponse):
-    def __init__(self):
-        """the template ID"""
-        self.id = None
-        """the account name to which the template belongs"""
-        self.account = None
-        """the account id to which the template belongs"""
-        self.accountid = None
-        """true if the ISO is bootable, false otherwise"""
-        self.bootable = None
-        """checksum of the template"""
-        self.checksum = None
-        """the date this template was created"""
-        self.created = None
-        """true if the template is managed across all Zones, false otherwise"""
-        self.crossZones = None
-        """additional key/value details tied with template"""
-        self.details = None
-        """the template display text"""
-        self.displaytext = None
-        """the name of the domain to which the template belongs"""
-        self.domain = None
-        """the ID of the domain to which the template belongs"""
-        self.domainid = None
-        """the format of the template."""
-        self.format = None
-        """the ID of the secondary storage host for the template"""
-        self.hostid = None
-        """the name of the secondary storage host for the template"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """true if the template is extractable, false otherwise"""
-        self.isextractable = None
-        """true if this template is a featured template, false otherwise"""
-        self.isfeatured = None
-        """true if this template is a public template, false otherwise"""
-        self.ispublic = None
-        """true if the template is ready to be deployed from, false otherwise."""
-        self.isready = None
-        """the template name"""
-        self.name = None
-        """the ID of the OS type for this template."""
-        self.ostypeid = None
-        """the name of the OS type for this template."""
-        self.ostypename = None
-        """true if the reset password feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the template"""
-        self.project = None
-        """the project id of the template"""
-        self.projectid = None
-        """the date this template was removed"""
-        self.removed = None
-        """the size of the template"""
-        self.size = None
-        """the template ID of the parent template if present"""
-        self.sourcetemplateid = None
-        """true if template is sshkey enabled, false otherwise"""
-        self.sshkeyenabled = None
-        """the status of the template"""
-        self.status = None
-        """the tag of this template"""
-        self.templatetag = None
-        """the type of the template"""
-        self.templatetype = None
-        """the ID of the zone for this template"""
-        self.zoneid = None
-        """the name of the zone for this template"""
-        self.zonename = None
-        """the list of resource tags associated with tempate"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateIsoPermissions.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateIsoPermissions.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateIsoPermissions.py
deleted file mode 100644
index 4e8debc..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateIsoPermissions.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates iso permissions"""
-from baseCmd import *
-from baseResponse import *
-class updateIsoPermissionsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the template ID"""
-        """Required"""
-        self.id = None
-        """a comma delimited list of accounts. If specified, "op" parameter has to be passed in."""
-        self.accounts = []
-        """true if the template/iso is extractable, false other wise. Can be set only by root admin"""
-        self.isextractable = None
-        """true for featured template/iso, false otherwise"""
-        self.isfeatured = None
-        """true for public template/iso, false for private templates/isos"""
-        self.ispublic = None
-        """permission operator (add, remove, reset)"""
-        self.op = None
-        """a comma delimited list of projects. If specified, "op" parameter has to be passed in."""
-        self.projectids = []
-        self.required = ["id",]
-
-class updateIsoPermissionsResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateLoadBalancerRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateLoadBalancerRule.py
deleted file mode 100644
index b02139f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateLoadBalancerRule.py
+++ /dev/null
@@ -1,97 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates load balancer"""
-from baseCmd import *
-from baseResponse import *
-class updateLoadBalancerRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the id of the load balancer rule to update"""
-        """Required"""
-        self.id = None
-        """load balancer algorithm (source, roundrobin, leastconn)"""
-        self.algorithm = None
-        """the description of the load balancer rule"""
-        self.description = None
-        """the name of the load balancer rule"""
-        self.name = None
-        self.required = ["id",]
-
-class updateLoadBalancerRuleResponse (baseResponse):
-    def __init__(self):
-        """the load balancer rule ID"""
-        self.id = None
-        """the account of the load balancer rule"""
-        self.account = None
-        """the load balancer algorithm (source, roundrobin, leastconn)"""
-        self.algorithm = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """the description of the load balancer"""
-        self.description = None
-        """the domain of the load balancer rule"""
-        self.domain = None
-        """the domain ID of the load balancer rule"""
-        self.domainid = None
-        """the name of the load balancer"""
-        self.name = None
-        """the id of the guest network the lb rule belongs to"""
-        self.networkid = None
-        """the private port"""
-        self.privateport = None
-        """the project name of the load balancer"""
-        self.project = None
-        """the project id of the load balancer"""
-        self.projectid = None
-        """the public ip address"""
-        self.publicip = None
-        """the public ip address id"""
-        self.publicipid = None
-        """the public port"""
-        self.publicport = None
-        """the state of the rule"""
-        self.state = None
-        """the id of the zone the rule belongs to"""
-        self.zoneid = None
-        """the list of resource tags associated with load balancer"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetwork.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetwork.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetwork.py
deleted file mode 100644
index b0230f5..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetwork.py
+++ /dev/null
@@ -1,216 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a network"""
-from baseCmd import *
-from baseResponse import *
-class updateNetworkCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the network"""
-        """Required"""
-        self.id = None
-        """Force update even if cidr type is different"""
-        self.changecidr = None
-        """an optional field, whether to the display the network to the end user or not."""
-        self.displaynetwork = None
-        """the new display text for the network"""
-        self.displaytext = None
-        """CIDR for Guest VMs,Cloudstack allocates IPs to Guest VMs only from this CIDR"""
-        self.guestvmcidr = None
-        """the new name for the network"""
-        self.name = None
-        """network domain"""
-        self.networkdomain = None
-        """network offering ID"""
-        self.networkofferingid = None
-        self.required = ["id",]
-
-class updateNetworkResponse (baseResponse):
-    def __init__(self):
-        """the id of the network"""
-        self.id = None
-        """the owner of the network"""
-        self.account = None
-        """ACL Id associated with the VPC network"""
-        self.aclid = None
-        """acl type - access type to the network"""
-        self.acltype = None
-        """Broadcast domain type of the network"""
-        self.broadcastdomaintype = None
-        """broadcast uri of the network. This parameter is visible to ROOT admins only"""
-        self.broadcasturi = None
-        """list networks available for vm deployment"""
-        self.canusefordeploy = None
-        """Cloudstack managed address space, all CloudStack managed VMs get IP address from CIDR"""
-        self.cidr = None
-        """an optional field, whether to the display the network to the end user or not."""
-        self.displaynetwork = None
-        """the displaytext of the network"""
-        self.displaytext = None
-        """the first DNS for the network"""
-        self.dns1 = None
-        """the second DNS for the network"""
-        self.dns2 = None
-        """the domain name of the network owner"""
-        self.domain = None
-        """the domain id of the network owner"""
-        self.domainid = None
-        """the network's gateway"""
-        self.gateway = None
-        """the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """true if network is default, false otherwise"""
-        self.isdefault = None
-        """list networks that are persistent"""
-        self.ispersistent = None
-        """true if network is system, false otherwise"""
-        self.issystem = None
-        """the name of the network"""
-        self.name = None
-        """the network's netmask"""
-        self.netmask = None
-        """the network CIDR of the guest network configured with IP reservation. It is the summation of CIDR and RESERVED_IP_RANGE"""
-        self.networkcidr = None
-        """the network domain"""
-        self.networkdomain = None
-        """availability of the network offering the network is created from"""
-        self.networkofferingavailability = None
-        """true if network offering is ip conserve mode enabled"""
-        self.networkofferingconservemode = None
-        """display text of the network offering the network is created from"""
-        self.networkofferingdisplaytext = None
-        """network offering id the network is created from"""
-        self.networkofferingid = None
-        """name of the network offering the network is created from"""
-        self.networkofferingname = None
-        """the physical network id"""
-        self.physicalnetworkid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """related to what other network configuration"""
-        self.related = None
-        """the network's IP range not to be used by CloudStack guest VMs and can be used for non CloudStack purposes"""
-        self.reservediprange = None
-        """true network requires restart"""
-        self.restartrequired = None
-        """true if network supports specifying ip ranges, false otherwise"""
-        self.specifyipranges = None
-        """state of the network"""
-        self.state = None
-        """true if users from subdomains can access the domain level network"""
-        self.subdomainaccess = None
-        """the traffic type of the network"""
-        self.traffictype = None
-        """the type of the network"""
-        self.type = None
-        """The vlan of the network. This parameter is visible to ROOT admins only"""
-        self.vlan = None
-        """VPC the network belongs to"""
-        self.vpcid = None
-        """zone id of the network"""
-        self.zoneid = None
-        """the name of the zone the network belongs to"""
-        self.zonename = None
-        """the list of services"""
-        self.service = []
-        """the list of resource tags associated with network"""
-        self.tags = []
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetworkACLItem.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetworkACLItem.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetworkACLItem.py
deleted file mode 100644
index acc979f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetworkACLItem.py
+++ /dev/null
@@ -1,99 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates ACL Item with specified Id"""
-from baseCmd import *
-from baseResponse import *
-class updateNetworkACLItemCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the network ACL Item"""
-        """Required"""
-        self.id = None
-        """scl entry action, allow or deny"""
-        self.action = None
-        """the cidr list to allow traffic from/to"""
-        self.cidrlist = []
-        """the ending port of ACL"""
-        self.endport = None
-        """error code for this icmp message"""
-        self.icmpcode = None
-        """type of the icmp message being sent"""
-        self.icmptype = None
-        """The network of the vm the ACL will be created for"""
-        self.number = None
-        """the protocol for the ACL rule. Valid values are TCP/UDP/ICMP/ALL or valid protocol number"""
-        self.protocol = None
-        """the starting port of ACL"""
-        self.startport = None
-        """the traffic type for the ACL,can be Ingress or Egress, defaulted to Ingress if not specified"""
-        self.traffictype = None
-        self.required = ["id",]
-
-class updateNetworkACLItemResponse (baseResponse):
-    def __init__(self):
-        """the ID of the ACL Item"""
-        self.id = None
-        """the ID of the ACL this item belongs to"""
-        self.aclid = None
-        """Action of ACL Item. Allow/Deny"""
-        self.action = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """the ending port of ACL's port range"""
-        self.endport = None
-        """error code for this icmp message"""
-        self.icmpcode = None
-        """type of the icmp message being sent"""
-        self.icmptype = None
-        """Number of the ACL Item"""
-        self.number = None
-        """the protocol of the ACL"""
-        self.protocol = None
-        """the starting port of ACL's port range"""
-        self.startport = None
-        """the state of the rule"""
-        self.state = None
-        """the traffic type for the ACL"""
-        self.traffictype = None
-        """the list of resource tags associated with the network ACLs"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetworkOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetworkOffering.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetworkOffering.py
deleted file mode 100644
index 813af27..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetworkOffering.py
+++ /dev/null
@@ -1,140 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a network offering."""
-from baseCmd import *
-from baseResponse import *
-class updateNetworkOfferingCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the availability of network offering. Default value is Required for Guest Virtual network offering; Optional for Guest Direct network offering"""
-        self.availability = None
-        """the display text of the network offering"""
-        self.displaytext = None
-        """the id of the network offering"""
-        self.id = None
-        """maximum number of concurrent connections supported by the network offering"""
-        self.maxconnections = None
-        """the name of the network offering"""
-        self.name = None
-        """sort key of the network offering, integer"""
-        self.sortkey = None
-        """update state for the network offering"""
-        self.state = None
-        self.required = []
-
-class updateNetworkOfferingResponse (baseResponse):
-    def __init__(self):
-        """the id of the network offering"""
-        self.id = None
-        """availability of the network offering"""
-        self.availability = None
-        """true if network offering is ip conserve mode enabled"""
-        self.conservemode = None
-        """the date this network offering was created"""
-        self.created = None
-        """additional key/value details tied with network offering"""
-        self.details = None
-        """an alternate display text of the network offering."""
-        self.displaytext = None
-        """true if network offering supports persistent networks, false otherwise"""
-        self.egressdefaultpolicy = None
-        """true if network offering can be used by VPC networks only"""
-        self.forvpc = None
-        """guest type of the network offering, can be Shared or Isolated"""
-        self.guestiptype = None
-        """true if network offering is default, false otherwise"""
-        self.isdefault = None
-        """true if network offering supports persistent networks, false otherwise"""
-        self.ispersistent = None
-        """maximum number of concurrents connections to be handled by lb"""
-        self.maxconnections = None
-        """the name of the network offering"""
-        self.name = None
-        """data transfer rate in megabits per second allowed."""
-        self.networkrate = None
-        """the ID of the service offering used by virtual router provider"""
-        self.serviceofferingid = None
-        """true if network offering supports specifying ip ranges, false otherwise"""
-        self.specifyipranges = None
-        """true if network offering supports vlans, false otherwise"""
-        self.specifyvlan = None
-        """state of the network offering. Can be Disabled/Enabled/Inactive"""
-        self.state = None
-        """the tags for the network offering"""
-        self.tags = None
-        """the traffic type for the network offering, supported types are Public, Management, Control, Guest, Vlan or Storage."""
-        self.traffictype = None
-        """the list of supported services"""
-        self.service = []
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetworkServiceProvider.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetworkServiceProvider.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetworkServiceProvider.py
deleted file mode 100644
index 677ef4b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateNetworkServiceProvider.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a network serviceProvider of a physical network"""
-from baseCmd import *
-from baseResponse import *
-class updateNetworkServiceProviderCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """network service provider id"""
-        """Required"""
-        self.id = None
-        """the list of services to be enabled for this physical network service provider"""
-        self.servicelist = []
-        """Enabled/Disabled/Shutdown the physical network service provider"""
-        self.state = None
-        self.required = ["id",]
-
-class updateNetworkServiceProviderResponse (baseResponse):
-    def __init__(self):
-        """uuid of the network provider"""
-        self.id = None
-        """true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """the provider name"""
-        self.name = None
-        """the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """services for this provider"""
-        self.servicelist = None
-        """state of the network provider"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updatePhysicalNetwork.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updatePhysicalNetwork.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updatePhysicalNetwork.py
deleted file mode 100644
index e994066..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updatePhysicalNetwork.py
+++ /dev/null
@@ -1,60 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a physical network"""
-from baseCmd import *
-from baseResponse import *
-class updatePhysicalNetworkCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """physical network id"""
-        """Required"""
-        self.id = None
-        """the speed for the physical network[1G/10G]"""
-        self.networkspeed = None
-        """Enabled/Disabled"""
-        self.state = None
-        """Tag the physical network"""
-        self.tags = []
-        """the VLAN for the physical network"""
-        self.vlan = None
-        self.required = ["id",]
-
-class updatePhysicalNetworkResponse (baseResponse):
-    def __init__(self):
-        """the uuid of the physical network"""
-        self.id = None
-        """Broadcast domain range of the physical network"""
-        self.broadcastdomainrange = None
-        """the domain id of the physical network owner"""
-        self.domainid = None
-        """isolation methods"""
-        self.isolationmethods = None
-        """name of the physical network"""
-        self.name = None
-        """the speed of the physical network"""
-        self.networkspeed = None
-        """state of the physical network"""
-        self.state = None
-        """comma separated tag"""
-        self.tags = None
-        """the vlan of the physical network"""
-        self.vlan = None
-        """zone id of the physical network"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updatePod.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updatePod.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updatePod.py
deleted file mode 100644
index 54aa412..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updatePod.py
+++ /dev/null
@@ -1,87 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a Pod."""
-from baseCmd import *
-from baseResponse import *
-class updatePodCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the Pod"""
-        """Required"""
-        self.id = None
-        """Allocation state of this cluster for allocation of new resources"""
-        self.allocationstate = None
-        """the ending IP address for the Pod"""
-        self.endip = None
-        """the gateway for the Pod"""
-        self.gateway = None
-        """the name of the Pod"""
-        self.name = None
-        """the netmask of the Pod"""
-        self.netmask = None
-        """the starting IP address for the Pod"""
-        self.startip = None
-        self.required = ["id",]
-
-class updatePodResponse (baseResponse):
-    def __init__(self):
-        """the ID of the Pod"""
-        self.id = None
-        """the allocation state of the Pod"""
-        self.allocationstate = None
-        """the ending IP for the Pod"""
-        self.endip = None
-        """the gateway of the Pod"""
-        self.gateway = None
-        """the name of the Pod"""
-        self.name = None
-        """the netmask of the Pod"""
-        self.netmask = None
-        """the starting IP for the Pod"""
-        self.startip = None
-        """the Zone ID of the Pod"""
-        self.zoneid = None
-        """the Zone name of the Pod"""
-        self.zonename = None
-        """the capacity of the Pod"""
-        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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updatePortForwardingRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updatePortForwardingRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updatePortForwardingRule.py
deleted file mode 100644
index ddafa51..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updatePortForwardingRule.py
+++ /dev/null
@@ -1,98 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a port forwarding rule.  Only the private port and the virtual machine can be updated."""
-from baseCmd import *
-from baseResponse import *
-class updatePortForwardingRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the IP address id of the port forwarding rule"""
-        """Required"""
-        self.ipaddressid = None
-        """the private port of the port forwarding rule"""
-        """Required"""
-        self.privateport = None
-        """the protocol for the port fowarding rule. Valid values are TCP or UDP."""
-        """Required"""
-        self.protocol = None
-        """the public port of the port forwarding rule"""
-        """Required"""
-        self.publicport = None
-        """the private IP address of the port forwarding rule"""
-        self.privateip = None
-        """the ID of the virtual machine for the port forwarding rule"""
-        self.virtualmachineid = None
-        self.required = ["ipaddressid","privateport","protocol","publicport",]
-
-class updatePortForwardingRuleResponse (baseResponse):
-    def __init__(self):
-        """the ID of the port forwarding rule"""
-        self.id = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """the public ip address for the port forwarding rule"""
-        self.ipaddress = None
-        """the public ip address id for the port forwarding rule"""
-        self.ipaddressid = None
-        """the ending port of port forwarding rule's private port range"""
-        self.privateendport = None
-        """the starting port of port forwarding rule's private port range"""
-        self.privateport = None
-        """the protocol of the port forwarding rule"""
-        self.protocol = None
-        """the ending port of port forwarding rule's private port range"""
-        self.publicendport = None
-        """the starting port of port forwarding rule's public port range"""
-        self.publicport = None
-        """the state of the rule"""
-        self.state = None
-        """the VM display name for the port forwarding rule"""
-        self.virtualmachinedisplayname = None
-        """the VM ID for the port forwarding rule"""
-        self.virtualmachineid = None
-        """the VM name for the port forwarding rule"""
-        self.virtualmachinename = None
-        """the vm ip address for the port forwarding rule"""
-        self.vmguestip = None
-        """the list of resource tags associated with the rule"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateProject.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateProject.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateProject.py
deleted file mode 100644
index 3cce35a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateProject.py
+++ /dev/null
@@ -1,145 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a project"""
-from baseCmd import *
-from baseResponse import *
-class updateProjectCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """id of the project to be modified"""
-        """Required"""
-        self.id = None
-        """new Admin account for the project"""
-        self.account = None
-        """display text of the project"""
-        self.displaytext = None
-        self.required = ["id",]
-
-class updateProjectResponse (baseResponse):
-    def __init__(self):
-        """the id of the project"""
-        self.id = None
-        """the account name of the project's owner"""
-        self.account = None
-        """the total number of cpu cores available to be created for this project"""
-        self.cpuavailable = None
-        """the total number of cpu cores the project can own"""
-        self.cpulimit = None
-        """the total number of cpu cores owned by project"""
-        self.cputotal = None
-        """the displaytext of the project"""
-        self.displaytext = None
-        """the domain name where the project belongs to"""
-        self.domain = None
-        """the domain id the project belongs to"""
-        self.domainid = None
-        """the total number of public ip addresses available for this project to acquire"""
-        self.ipavailable = None
-        """the total number of public ip addresses this project can acquire"""
-        self.iplimit = None
-        """the total number of public ip addresses allocated for this project"""
-        self.iptotal = None
-        """the total memory (in MB) available to be created for this project"""
-        self.memoryavailable = None
-        """the total memory (in MB) the project can own"""
-        self.memorylimit = None
-        """the total memory (in MB) owned by project"""
-        self.memorytotal = None
-        """the name of the project"""
-        self.name = None
-        """the total number of networks available to be created for this project"""
-        self.networkavailable = None
-        """the total number of networks the project can own"""
-        self.networklimit = None
-        """the total number of networks owned by project"""
-        self.networktotal = None
-        """the total primary storage space (in GiB) available to be used for this project"""
-        self.primarystorageavailable = None
-        """the total primary storage space (in GiB) the project can own"""
-        self.primarystoragelimit = None
-        """the total primary storage space (in GiB) owned by project"""
-        self.primarystoragetotal = None
-        """the total secondary storage space (in GiB) available to be used for this project"""
-        self.secondarystorageavailable = None
-        """the total secondary storage space (in GiB) the project can own"""
-        self.secondarystoragelimit = None
-        """the total secondary storage space (in GiB) owned by project"""
-        self.secondarystoragetotal = None
-        """the total number of snapshots available for this project"""
-        self.snapshotavailable = None
-        """the total number of snapshots which can be stored by this project"""
-        self.snapshotlimit = None
-        """the total number of snapshots stored by this project"""
-        self.snapshottotal = None
-        """the state of the project"""
-        self.state = None
-        """the total number of templates available to be created by this project"""
-        self.templateavailable = None
-        """the total number of templates which can be created by this project"""
-        self.templatelimit = None
-        """the total number of templates which have been created by this project"""
-        self.templatetotal = None
-        """the total number of virtual machines available for this project to acquire"""
-        self.vmavailable = None
-        """the total number of virtual machines that can be deployed by this project"""
-        self.vmlimit = None
-        """the total number of virtual machines running for this project"""
-        self.vmrunning = None
-        """the total number of virtual machines stopped for this project"""
-        self.vmstopped = None
-        """the total number of virtual machines deployed by this project"""
-        self.vmtotal = None
-        """the total volume available for this project"""
-        self.volumeavailable = None
-        """the total volume which can be used by this project"""
-        self.volumelimit = None
-        """the total volume being used by this project"""
-        self.volumetotal = None
-        """the total number of vpcs available to be created for this project"""
-        self.vpcavailable = None
-        """the total number of vpcs the project can own"""
-        self.vpclimit = None
-        """the total number of vpcs owned by project"""
-        self.vpctotal = None
-        """the list of resource tags associated with vm"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateProjectInvitation.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateProjectInvitation.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateProjectInvitation.py
deleted file mode 100644
index f56aac5..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateProjectInvitation.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Accepts or declines project invitation"""
-from baseCmd import *
-from baseResponse import *
-class updateProjectInvitationCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """id of the project to join"""
-        """Required"""
-        self.projectid = None
-        """if true, accept the invitation, decline if false. True by default"""
-        self.accept = None
-        """account that is joining the project"""
-        self.account = None
-        """list invitations for specified account; this parameter has to be specified with domainId"""
-        self.token = None
-        self.required = ["projectid",]
-
-class updateProjectInvitationResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateRegion.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateRegion.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateRegion.py
deleted file mode 100644
index c7552db..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateRegion.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a region"""
-from baseCmd import *
-from baseResponse import *
-class updateRegionCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Id of region to update"""
-        """Required"""
-        self.id = None
-        """updates region with this end point"""
-        self.endpoint = None
-        """updates region with this name"""
-        self.name = None
-        self.required = ["id",]
-
-class updateRegionResponse (baseResponse):
-    def __init__(self):
-        """the ID of the region"""
-        self.id = None
-        """the end point of the region"""
-        self.endpoint = None
-        """true if GSLB service is enabled in the region, false otherwise"""
-        self.gslbserviceenabled = None
-        """the name of the region"""
-        self.name = None
-        """true if security groups support is enabled, false otherwise"""
-        self.portableipserviceenabled = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateResourceCount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateResourceCount.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateResourceCount.py
deleted file mode 100644
index f197b9e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateResourceCount.py
+++ /dev/null
@@ -1,52 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Recalculate and update resource count for an account or domain."""
-from baseCmd import *
-from baseResponse import *
-class updateResourceCountCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """If account parameter specified then updates resource counts for a specified account in this domain else update resource counts for all accounts & child domains in specified domain."""
-        """Required"""
-        self.domainid = None
-        """Update resource count for a specified account. Must be used with the domainId parameter."""
-        self.account = None
-        """Update resource limits for project"""
-        self.projectid = None
-        """Type of resource to update. If specifies valid values are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 and 11. If not specified will update all resource counts0 - Instance. Number of instances a user can create. 1 - IP. Number of public IP addresses a user can own. 2 - Volume. Number of disk volumes a user can create.3 - Snapshot. Number of snapshots a user can create.4 - Template. Number of templates that a user can register/create.5 - Project. Number of projects that a user can create.6 - Network. Number of guest network a user can create.7 - VPC. Number of VPC a user can create.8 - CPU. Total number of CPU cores a user can use.9 - Memory. Total Memory (in MB) a user can use.10 - PrimaryStorage. Total primary storage space (in GiB) a user can use.11 - SecondaryStorage. Total secondary storage space (in GiB) a user can use."""
-        self.resourcetype = None
-        self.required = ["domainid",]
-
-class updateResourceCountResponse (baseResponse):
-    def __init__(self):
-        """the account for which resource count's are updated"""
-        self.account = None
-        """the domain name for which resource count's are updated"""
-        self.domain = None
-        """the domain ID for which resource count's are updated"""
-        self.domainid = None
-        """the project name for which resource count's are updated"""
-        self.project = None
-        """the project id for which resource count's are updated"""
-        self.projectid = None
-        """resource count"""
-        self.resourcecount = None
-        """resource type. Values include 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11. See the resourceType parameter for more information on these values."""
-        self.resourcetype = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateResourceLimit.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateResourceLimit.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateResourceLimit.py
deleted file mode 100644
index 0091854..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateResourceLimit.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates resource limits for an account or domain."""
-from baseCmd import *
-from baseResponse import *
-class updateResourceLimitCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Type of resource to update. Values are 0, 1, 2, 3, 4, 6, 7, 8, 9, 10 and 11. 0 - Instance. Number of instances a user can create. 1 - IP. Number of public IP addresses a user can own. 2 - Volume. Number of disk volumes a user can create.3 - Snapshot. Number of snapshots a user can create.4 - Template. Number of templates that a user can register/create.6 - Network. Number of guest network a user can create.7 - VPC. Number of VPC a user can create.8 - CPU. Total number of CPU cores a user can use.9 - Memory. Total Memory (in MB) a user can use.10 - PrimaryStorage. Total primary storage space (in GiB) a user can use.11 - SecondaryStorage. Total secondary storage space (in GiB) a user can use."""
-        """Required"""
-        self.resourcetype = None
-        """Update resource for a specified account. Must be used with the domainId parameter."""
-        self.account = None
-        """Update resource limits for all accounts in specified domain. If used with the account parameter, updates resource limits for a specified account in specified domain."""
-        self.domainid = None
-        """Maximum resource limit."""
-        self.max = None
-        """Update resource limits for project"""
-        self.projectid = None
-        self.required = ["resourcetype",]
-
-class updateResourceLimitResponse (baseResponse):
-    def __init__(self):
-        """the account of the resource limit"""
-        self.account = None
-        """the domain name of the resource limit"""
-        self.domain = None
-        """the domain ID of the resource limit"""
-        self.domainid = None
-        """the maximum number of the resource. A -1 means the resource currently has no limit."""
-        self.max = None
-        """the project name of the resource limit"""
-        self.project = None
-        """the project id of the resource limit"""
-        self.projectid = None
-        """resource type. Values include 0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11. See the resourceType parameter for more information on these values."""
-        self.resourcetype = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateServiceOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateServiceOffering.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateServiceOffering.py
deleted file mode 100644
index ed59814..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateServiceOffering.py
+++ /dev/null
@@ -1,113 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a service offering."""
-from baseCmd import *
-from baseResponse import *
-class updateServiceOfferingCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the service offering to be updated"""
-        """Required"""
-        self.id = None
-        """the display text of the service offering to be updated"""
-        self.displaytext = None
-        """the name of the service offering to be updated"""
-        self.name = None
-        """sort key of the service offering, integer"""
-        self.sortkey = None
-        self.required = ["id",]
-
-class updateServiceOfferingResponse (baseResponse):
-    def __init__(self):
-        """the id of the service offering"""
-        self.id = None
-        """the number of CPU"""
-        self.cpunumber = None
-        """the clock rate CPU speed in Mhz"""
-        self.cpuspeed = None
-        """the date this service offering was created"""
-        self.created = None
-        """is this a  default system vm offering"""
-        self.defaultuse = None
-        """deployment strategy used to deploy VM."""
-        self.deploymentplanner = None
-        """bytes read rate of the service offering"""
-        self.diskBytesReadRate = None
-        """bytes write rate of the service offering"""
-        self.diskBytesWriteRate = None
-        """io requests read rate of the service offering"""
-        self.diskIopsReadRate = None
-        """io requests write rate of the service offering"""
-        self.diskIopsWriteRate = None
-        """an alternate display text of the service offering."""
-        self.displaytext = None
-        """Domain name for the offering"""
-        self.domain = None
-        """the domain id of the service offering"""
-        self.domainid = None
-        """the host tag for the service offering"""
-        self.hosttags = None
-        """is this a system vm offering"""
-        self.issystem = None
-        """true if the vm needs to be volatile, i.e., on every reboot of vm from API root disk is discarded and creates a new root disk"""
-        self.isvolatile = None
-        """restrict the CPU usage to committed service offering"""
-        self.limitcpuuse = None
-        """the memory in MB"""
-        self.memory = None
-        """the name of the service offering"""
-        self.name = None
-        """data transfer rate in megabits per second allowed."""
-        self.networkrate = None
-        """the ha support in the service offering"""
-        self.offerha = None
-        """additional key/value details tied with this service offering"""
-        self.serviceofferingdetails = None
-        """the storage type for this service offering"""
-        self.storagetype = None
-        """is this a the systemvm type for system vm offering"""
-        self.systemvmtype = None
-        """the tags for the service offering"""
-        self.tags = None
-        """the list of resource tags associated with service offering. The resource tags are not used for Volume/VM placement on the specific host."""
-        self.resourcetags = []
-
-class resourcetags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateStorageNetworkIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateStorageNetworkIpRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateStorageNetworkIpRange.py
deleted file mode 100644
index 8d39830..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateStorageNetworkIpRange.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Update a Storage network IP range, only allowed when no IPs in this range have been allocated."""
-from baseCmd import *
-from baseResponse import *
-class updateStorageNetworkIpRangeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """UUID of storage network ip range"""
-        """Required"""
-        self.id = None
-        """the ending IP address"""
-        self.endip = None
-        """the netmask for storage network"""
-        self.netmask = None
-        """the beginning IP address"""
-        self.startip = None
-        """Optional. the vlan the ip range sits on"""
-        self.vlan = None
-        self.required = ["id",]
-
-class updateStorageNetworkIpRangeResponse (baseResponse):
-    def __init__(self):
-        """the uuid of storage network IP range."""
-        self.id = None
-        """the end ip of the storage network IP range"""
-        self.endip = None
-        """the gateway of the storage network IP range"""
-        self.gateway = None
-        """the netmask of the storage network IP range"""
-        self.netmask = None
-        """the network uuid of storage network IP range"""
-        self.networkid = None
-        """the Pod uuid for the storage network IP range"""
-        self.podid = None
-        """the start ip of the storage network IP range"""
-        self.startip = None
-        """the ID or VID of the VLAN."""
-        self.vlan = None
-        """the Zone uuid of the storage network IP range"""
-        self.zoneid = None
-


[25/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/cloudstackAPIClient.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/cloudstackAPIClient.py b/tools/marvin/build/lib/marvin/cloudstackAPI/cloudstackAPIClient.py
deleted file mode 100644
index caa457e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/cloudstackAPIClient.py
+++ /dev/null
@@ -1,2513 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-"""Test Client for CloudStack API"""
-import copy
-from createAccount import createAccountResponse
-from deleteAccount import deleteAccountResponse
-from updateAccount import updateAccountResponse
-from disableAccount import disableAccountResponse
-from enableAccount import enableAccountResponse
-from lockAccount import lockAccountResponse
-from listAccounts import listAccountsResponse
-from markDefaultZoneForAccount import markDefaultZoneForAccountResponse
-from createUser import createUserResponse
-from deleteUser import deleteUserResponse
-from updateUser import updateUserResponse
-from listUsers import listUsersResponse
-from lockUser import lockUserResponse
-from disableUser import disableUserResponse
-from enableUser import enableUserResponse
-from getUser import getUserResponse
-from createDomain import createDomainResponse
-from updateDomain import updateDomainResponse
-from deleteDomain import deleteDomainResponse
-from listDomains import listDomainsResponse
-from listDomainChildren import listDomainChildrenResponse
-from getCloudIdentifier import getCloudIdentifierResponse
-from updateResourceLimit import updateResourceLimitResponse
-from updateResourceCount import updateResourceCountResponse
-from listResourceLimits import listResourceLimitsResponse
-from deployVirtualMachine import deployVirtualMachineResponse
-from destroyVirtualMachine import destroyVirtualMachineResponse
-from rebootVirtualMachine import rebootVirtualMachineResponse
-from startVirtualMachine import startVirtualMachineResponse
-from stopVirtualMachine import stopVirtualMachineResponse
-from resetPasswordForVirtualMachine import resetPasswordForVirtualMachineResponse
-from resetSSHKeyForVirtualMachine import resetSSHKeyForVirtualMachineResponse
-from updateVirtualMachine import updateVirtualMachineResponse
-from listVirtualMachines import listVirtualMachinesResponse
-from getVMPassword import getVMPasswordResponse
-from restoreVirtualMachine import restoreVirtualMachineResponse
-from changeServiceForVirtualMachine import changeServiceForVirtualMachineResponse
-from scaleVirtualMachine import scaleVirtualMachineResponse
-from assignVirtualMachine import assignVirtualMachineResponse
-from migrateVirtualMachine import migrateVirtualMachineResponse
-from migrateVirtualMachineWithVolume import migrateVirtualMachineWithVolumeResponse
-from recoverVirtualMachine import recoverVirtualMachineResponse
-from createSnapshot import createSnapshotResponse
-from listSnapshots import listSnapshotsResponse
-from deleteSnapshot import deleteSnapshotResponse
-from createSnapshotPolicy import createSnapshotPolicyResponse
-from deleteSnapshotPolicies import deleteSnapshotPoliciesResponse
-from listSnapshotPolicies import listSnapshotPoliciesResponse
-from revertSnapshot import revertSnapshotResponse
-from createTemplate import createTemplateResponse
-from registerTemplate import registerTemplateResponse
-from updateTemplate import updateTemplateResponse
-from copyTemplate import copyTemplateResponse
-from deleteTemplate import deleteTemplateResponse
-from listTemplates import listTemplatesResponse
-from updateTemplatePermissions import updateTemplatePermissionsResponse
-from listTemplatePermissions import listTemplatePermissionsResponse
-from extractTemplate import extractTemplateResponse
-from prepareTemplate import prepareTemplateResponse
-from attachIso import attachIsoResponse
-from detachIso import detachIsoResponse
-from listIsos import listIsosResponse
-from registerIso import registerIsoResponse
-from updateIso import updateIsoResponse
-from deleteIso import deleteIsoResponse
-from copyIso import copyIsoResponse
-from updateIsoPermissions import updateIsoPermissionsResponse
-from listIsoPermissions import listIsoPermissionsResponse
-from extractIso import extractIsoResponse
-from listOsTypes import listOsTypesResponse
-from listOsCategories import listOsCategoriesResponse
-from createServiceOffering import createServiceOfferingResponse
-from deleteServiceOffering import deleteServiceOfferingResponse
-from updateServiceOffering import updateServiceOfferingResponse
-from listServiceOfferings import listServiceOfferingsResponse
-from createDiskOffering import createDiskOfferingResponse
-from updateDiskOffering import updateDiskOfferingResponse
-from deleteDiskOffering import deleteDiskOfferingResponse
-from listDiskOfferings import listDiskOfferingsResponse
-from createVlanIpRange import createVlanIpRangeResponse
-from deleteVlanIpRange import deleteVlanIpRangeResponse
-from listVlanIpRanges import listVlanIpRangesResponse
-from dedicatePublicIpRange import dedicatePublicIpRangeResponse
-from releasePublicIpRange import releasePublicIpRangeResponse
-from dedicateGuestVlanRange import dedicateGuestVlanRangeResponse
-from releaseDedicatedGuestVlanRange import releaseDedicatedGuestVlanRangeResponse
-from listDedicatedGuestVlanRanges import listDedicatedGuestVlanRangesResponse
-from associateIpAddress import associateIpAddressResponse
-from disassociateIpAddress import disassociateIpAddressResponse
-from listPublicIpAddresses import listPublicIpAddressesResponse
-from listPortForwardingRules import listPortForwardingRulesResponse
-from createPortForwardingRule import createPortForwardingRuleResponse
-from deletePortForwardingRule import deletePortForwardingRuleResponse
-from updatePortForwardingRule import updatePortForwardingRuleResponse
-from enableStaticNat import enableStaticNatResponse
-from createIpForwardingRule import createIpForwardingRuleResponse
-from deleteIpForwardingRule import deleteIpForwardingRuleResponse
-from listIpForwardingRules import listIpForwardingRulesResponse
-from disableStaticNat import disableStaticNatResponse
-from createLoadBalancerRule import createLoadBalancerRuleResponse
-from deleteLoadBalancerRule import deleteLoadBalancerRuleResponse
-from removeFromLoadBalancerRule import removeFromLoadBalancerRuleResponse
-from assignToLoadBalancerRule import assignToLoadBalancerRuleResponse
-from createLBStickinessPolicy import createLBStickinessPolicyResponse
-from deleteLBStickinessPolicy import deleteLBStickinessPolicyResponse
-from listLoadBalancerRules import listLoadBalancerRulesResponse
-from listLBStickinessPolicies import listLBStickinessPoliciesResponse
-from listLBHealthCheckPolicies import listLBHealthCheckPoliciesResponse
-from createLBHealthCheckPolicy import createLBHealthCheckPolicyResponse
-from deleteLBHealthCheckPolicy import deleteLBHealthCheckPolicyResponse
-from listLoadBalancerRuleInstances import listLoadBalancerRuleInstancesResponse
-from updateLoadBalancerRule import updateLoadBalancerRuleResponse
-from createCounter import createCounterResponse
-from createCondition import createConditionResponse
-from createAutoScalePolicy import createAutoScalePolicyResponse
-from createAutoScaleVmProfile import createAutoScaleVmProfileResponse
-from createAutoScaleVmGroup import createAutoScaleVmGroupResponse
-from deleteCounter import deleteCounterResponse
-from deleteCondition import deleteConditionResponse
-from deleteAutoScalePolicy import deleteAutoScalePolicyResponse
-from deleteAutoScaleVmProfile import deleteAutoScaleVmProfileResponse
-from deleteAutoScaleVmGroup import deleteAutoScaleVmGroupResponse
-from listCounters import listCountersResponse
-from listConditions import listConditionsResponse
-from listAutoScalePolicies import listAutoScalePoliciesResponse
-from listAutoScaleVmProfiles import listAutoScaleVmProfilesResponse
-from listAutoScaleVmGroups import listAutoScaleVmGroupsResponse
-from enableAutoScaleVmGroup import enableAutoScaleVmGroupResponse
-from disableAutoScaleVmGroup import disableAutoScaleVmGroupResponse
-from updateAutoScalePolicy import updateAutoScalePolicyResponse
-from updateAutoScaleVmProfile import updateAutoScaleVmProfileResponse
-from updateAutoScaleVmGroup import updateAutoScaleVmGroupResponse
-from startRouter import startRouterResponse
-from rebootRouter import rebootRouterResponse
-from stopRouter import stopRouterResponse
-from destroyRouter import destroyRouterResponse
-from changeServiceForRouter import changeServiceForRouterResponse
-from listRouters import listRoutersResponse
-from listVirtualRouterElements import listVirtualRouterElementsResponse
-from configureVirtualRouterElement import configureVirtualRouterElementResponse
-from createVirtualRouterElement import createVirtualRouterElementResponse
-from startSystemVm import startSystemVmResponse
-from rebootSystemVm import rebootSystemVmResponse
-from stopSystemVm import stopSystemVmResponse
-from destroySystemVm import destroySystemVmResponse
-from listSystemVms import listSystemVmsResponse
-from migrateSystemVm import migrateSystemVmResponse
-from changeServiceForSystemVm import changeServiceForSystemVmResponse
-from scaleSystemVm import scaleSystemVmResponse
-from updateConfiguration import updateConfigurationResponse
-from listConfigurations import listConfigurationsResponse
-from listCapabilities import listCapabilitiesResponse
-from listDeploymentPlanners import listDeploymentPlannersResponse
-from cleanVMReservations import cleanVMReservationsResponse
-from createPod import createPodResponse
-from updatePod import updatePodResponse
-from deletePod import deletePodResponse
-from listPods import listPodsResponse
-from createZone import createZoneResponse
-from updateZone import updateZoneResponse
-from deleteZone import deleteZoneResponse
-from listZones import listZonesResponse
-from listEvents import listEventsResponse
-from listEventTypes import listEventTypesResponse
-from archiveEvents import archiveEventsResponse
-from deleteEvents import deleteEventsResponse
-from listAlerts import listAlertsResponse
-from archiveAlerts import archiveAlertsResponse
-from deleteAlerts import deleteAlertsResponse
-from listCapacity import listCapacityResponse
-from addSwift import addSwiftResponse
-from listSwifts import listSwiftsResponse
-from addS3 import addS3Response
-from listS3s import listS3sResponse
-from addImageStore import addImageStoreResponse
-from listImageStores import listImageStoresResponse
-from deleteImageStore import deleteImageStoreResponse
-from createSecondaryStagingStore import createSecondaryStagingStoreResponse
-from listSecondaryStagingStores import listSecondaryStagingStoresResponse
-from deleteSecondaryStagingStore import deleteSecondaryStagingStoreResponse
-from addHost import addHostResponse
-from addCluster import addClusterResponse
-from deleteCluster import deleteClusterResponse
-from updateCluster import updateClusterResponse
-from reconnectHost import reconnectHostResponse
-from updateHost import updateHostResponse
-from deleteHost import deleteHostResponse
-from prepareHostForMaintenance import prepareHostForMaintenanceResponse
-from cancelHostMaintenance import cancelHostMaintenanceResponse
-from listHosts import listHostsResponse
-from findHostsForMigration import findHostsForMigrationResponse
-from addSecondaryStorage import addSecondaryStorageResponse
-from updateHostPassword import updateHostPasswordResponse
-from releaseHostReservation import releaseHostReservationResponse
-from attachVolume import attachVolumeResponse
-from uploadVolume import uploadVolumeResponse
-from detachVolume import detachVolumeResponse
-from createVolume import createVolumeResponse
-from deleteVolume import deleteVolumeResponse
-from listVolumes import listVolumesResponse
-from extractVolume import extractVolumeResponse
-from migrateVolume import migrateVolumeResponse
-from resizeVolume import resizeVolumeResponse
-from updateVolume import updateVolumeResponse
-from registerUserKeys import registerUserKeysResponse
-from queryAsyncJobResult import queryAsyncJobResultResponse
-from listAsyncJobs import listAsyncJobsResponse
-from listStoragePools import listStoragePoolsResponse
-from listStorageProviders import listStorageProvidersResponse
-from createStoragePool import createStoragePoolResponse
-from updateStoragePool import updateStoragePoolResponse
-from deleteStoragePool import deleteStoragePoolResponse
-from listClusters import listClustersResponse
-from enableStorageMaintenance import enableStorageMaintenanceResponse
-from cancelStorageMaintenance import cancelStorageMaintenanceResponse
-from findStoragePoolsForMigration import findStoragePoolsForMigrationResponse
-from createSecurityGroup import createSecurityGroupResponse
-from deleteSecurityGroup import deleteSecurityGroupResponse
-from authorizeSecurityGroupIngress import authorizeSecurityGroupIngressResponse
-from revokeSecurityGroupIngress import revokeSecurityGroupIngressResponse
-from authorizeSecurityGroupEgress import authorizeSecurityGroupEgressResponse
-from revokeSecurityGroupEgress import revokeSecurityGroupEgressResponse
-from listSecurityGroups import listSecurityGroupsResponse
-from createInstanceGroup import createInstanceGroupResponse
-from deleteInstanceGroup import deleteInstanceGroupResponse
-from updateInstanceGroup import updateInstanceGroupResponse
-from listInstanceGroups import listInstanceGroupsResponse
-from uploadCustomCertificate import uploadCustomCertificateResponse
-from listHypervisors import listHypervisorsResponse
-from createRemoteAccessVpn import createRemoteAccessVpnResponse
-from deleteRemoteAccessVpn import deleteRemoteAccessVpnResponse
-from listRemoteAccessVpns import listRemoteAccessVpnsResponse
-from addVpnUser import addVpnUserResponse
-from removeVpnUser import removeVpnUserResponse
-from listVpnUsers import listVpnUsersResponse
-from createNetworkOffering import createNetworkOfferingResponse
-from updateNetworkOffering import updateNetworkOfferingResponse
-from deleteNetworkOffering import deleteNetworkOfferingResponse
-from listNetworkOfferings import listNetworkOfferingsResponse
-from createNetwork import createNetworkResponse
-from deleteNetwork import deleteNetworkResponse
-from listNetworks import listNetworksResponse
-from restartNetwork import restartNetworkResponse
-from updateNetwork import updateNetworkResponse
-from addNicToVirtualMachine import addNicToVirtualMachineResponse
-from removeNicFromVirtualMachine import removeNicFromVirtualMachineResponse
-from updateDefaultNicForVirtualMachine import updateDefaultNicForVirtualMachineResponse
-from addIpToNic import addIpToNicResponse
-from removeIpFromNic import removeIpFromNicResponse
-from listNics import listNicsResponse
-from registerSSHKeyPair import registerSSHKeyPairResponse
-from createSSHKeyPair import createSSHKeyPairResponse
-from deleteSSHKeyPair import deleteSSHKeyPairResponse
-from listSSHKeyPairs import listSSHKeyPairsResponse
-from createProject import createProjectResponse
-from deleteProject import deleteProjectResponse
-from updateProject import updateProjectResponse
-from activateProject import activateProjectResponse
-from suspendProject import suspendProjectResponse
-from listProjects import listProjectsResponse
-from addAccountToProject import addAccountToProjectResponse
-from deleteAccountFromProject import deleteAccountFromProjectResponse
-from listProjectAccounts import listProjectAccountsResponse
-from listProjectInvitations import listProjectInvitationsResponse
-from updateProjectInvitation import updateProjectInvitationResponse
-from deleteProjectInvitation import deleteProjectInvitationResponse
-from createFirewallRule import createFirewallRuleResponse
-from deleteFirewallRule import deleteFirewallRuleResponse
-from listFirewallRules import listFirewallRulesResponse
-from createEgressFirewallRule import createEgressFirewallRuleResponse
-from deleteEgressFirewallRule import deleteEgressFirewallRuleResponse
-from listEgressFirewallRules import listEgressFirewallRulesResponse
-from updateHypervisorCapabilities import updateHypervisorCapabilitiesResponse
-from listHypervisorCapabilities import listHypervisorCapabilitiesResponse
-from createPhysicalNetwork import createPhysicalNetworkResponse
-from deletePhysicalNetwork import deletePhysicalNetworkResponse
-from listPhysicalNetworks import listPhysicalNetworksResponse
-from updatePhysicalNetwork import updatePhysicalNetworkResponse
-from listSupportedNetworkServices import listSupportedNetworkServicesResponse
-from addNetworkServiceProvider import addNetworkServiceProviderResponse
-from deleteNetworkServiceProvider import deleteNetworkServiceProviderResponse
-from listNetworkServiceProviders import listNetworkServiceProvidersResponse
-from updateNetworkServiceProvider import updateNetworkServiceProviderResponse
-from addTrafficType import addTrafficTypeResponse
-from deleteTrafficType import deleteTrafficTypeResponse
-from listTrafficTypes import listTrafficTypesResponse
-from updateTrafficType import updateTrafficTypeResponse
-from listTrafficTypeImplementors import listTrafficTypeImplementorsResponse
-from createStorageNetworkIpRange import createStorageNetworkIpRangeResponse
-from deleteStorageNetworkIpRange import deleteStorageNetworkIpRangeResponse
-from listStorageNetworkIpRange import listStorageNetworkIpRangeResponse
-from updateStorageNetworkIpRange import updateStorageNetworkIpRangeResponse
-from addNetworkDevice import addNetworkDeviceResponse
-from listNetworkDevice import listNetworkDeviceResponse
-from deleteNetworkDevice import deleteNetworkDeviceResponse
-from createVPC import createVPCResponse
-from listVPCs import listVPCsResponse
-from deleteVPC import deleteVPCResponse
-from updateVPC import updateVPCResponse
-from restartVPC import restartVPCResponse
-from createVPCOffering import createVPCOfferingResponse
-from updateVPCOffering import updateVPCOfferingResponse
-from deleteVPCOffering import deleteVPCOfferingResponse
-from listVPCOfferings import listVPCOfferingsResponse
-from createPrivateGateway import createPrivateGatewayResponse
-from listPrivateGateways import listPrivateGatewaysResponse
-from deletePrivateGateway import deletePrivateGatewayResponse
-from createNetworkACL import createNetworkACLResponse
-from updateNetworkACLItem import updateNetworkACLItemResponse
-from deleteNetworkACL import deleteNetworkACLResponse
-from listNetworkACLs import listNetworkACLsResponse
-from createNetworkACLList import createNetworkACLListResponse
-from deleteNetworkACLList import deleteNetworkACLListResponse
-from replaceNetworkACLList import replaceNetworkACLListResponse
-from listNetworkACLLists import listNetworkACLListsResponse
-from createStaticRoute import createStaticRouteResponse
-from deleteStaticRoute import deleteStaticRouteResponse
-from listStaticRoutes import listStaticRoutesResponse
-from createTags import createTagsResponse
-from deleteTags import deleteTagsResponse
-from listTags import listTagsResponse
-from addResourceDetail import addResourceDetailResponse
-from removeResourceDetail import removeResourceDetailResponse
-from listResourceDetails import listResourceDetailsResponse
-from createVpnCustomerGateway import createVpnCustomerGatewayResponse
-from createVpnGateway import createVpnGatewayResponse
-from createVpnConnection import createVpnConnectionResponse
-from deleteVpnCustomerGateway import deleteVpnCustomerGatewayResponse
-from deleteVpnGateway import deleteVpnGatewayResponse
-from deleteVpnConnection import deleteVpnConnectionResponse
-from updateVpnCustomerGateway import updateVpnCustomerGatewayResponse
-from resetVpnConnection import resetVpnConnectionResponse
-from listVpnCustomerGateways import listVpnCustomerGatewaysResponse
-from listVpnGateways import listVpnGatewaysResponse
-from listVpnConnections import listVpnConnectionsResponse
-from generateUsageRecords import generateUsageRecordsResponse
-from listUsageRecords import listUsageRecordsResponse
-from listUsageTypes import listUsageTypesResponse
-from addTrafficMonitor import addTrafficMonitorResponse
-from deleteTrafficMonitor import deleteTrafficMonitorResponse
-from listTrafficMonitors import listTrafficMonitorsResponse
-from addNiciraNvpDevice import addNiciraNvpDeviceResponse
-from deleteNiciraNvpDevice import deleteNiciraNvpDeviceResponse
-from listNiciraNvpDevices import listNiciraNvpDevicesResponse
-from listNiciraNvpDeviceNetworks import listNiciraNvpDeviceNetworksResponse
-from addBigSwitchVnsDevice import addBigSwitchVnsDeviceResponse
-from deleteBigSwitchVnsDevice import deleteBigSwitchVnsDeviceResponse
-from listBigSwitchVnsDevices import listBigSwitchVnsDevicesResponse
-from listApis import listApisResponse
-from getApiLimit import getApiLimitResponse
-from resetApiLimit import resetApiLimitResponse
-from addRegion import addRegionResponse
-from updateRegion import updateRegionResponse
-from removeRegion import removeRegionResponse
-from listRegions import listRegionsResponse
-from createGlobalLoadBalancerRule import createGlobalLoadBalancerRuleResponse
-from deleteGlobalLoadBalancerRule import deleteGlobalLoadBalancerRuleResponse
-from updateGlobalLoadBalancerRule import updateGlobalLoadBalancerRuleResponse
-from listGlobalLoadBalancerRules import listGlobalLoadBalancerRulesResponse
-from assignToGlobalLoadBalancerRule import assignToGlobalLoadBalancerRuleResponse
-from removeFromGlobalLoadBalancerRule import removeFromGlobalLoadBalancerRuleResponse
-from listVMSnapshot import listVMSnapshotResponse
-from createVMSnapshot import createVMSnapshotResponse
-from deleteVMSnapshot import deleteVMSnapshotResponse
-from revertToVMSnapshot import revertToVMSnapshotResponse
-from addBaremetalHost import addBaremetalHostResponse
-from addBaremetalPxeKickStartServer import addBaremetalPxeKickStartServerResponse
-from addBaremetalPxePingServer import addBaremetalPxePingServerResponse
-from addBaremetalDhcp import addBaremetalDhcpResponse
-from listBaremetalDhcp import listBaremetalDhcpResponse
-from listBaremetalPxeServers import listBaremetalPxeServersResponse
-from addUcsManager import addUcsManagerResponse
-from listUcsManagers import listUcsManagersResponse
-from listUcsProfiles import listUcsProfilesResponse
-from listUcsBlades import listUcsBladesResponse
-from associateUcsProfileToBlade import associateUcsProfileToBladeResponse
-from createLoadBalancer import createLoadBalancerResponse
-from listLoadBalancers import listLoadBalancersResponse
-from deleteLoadBalancer import deleteLoadBalancerResponse
-from configureInternalLoadBalancerElement import configureInternalLoadBalancerElementResponse
-from createInternalLoadBalancerElement import createInternalLoadBalancerElementResponse
-from listInternalLoadBalancerElements import listInternalLoadBalancerElementsResponse
-from createAffinityGroup import createAffinityGroupResponse
-from deleteAffinityGroup import deleteAffinityGroupResponse
-from listAffinityGroups import listAffinityGroupsResponse
-from updateVMAffinityGroup import updateVMAffinityGroupResponse
-from listAffinityGroupTypes import listAffinityGroupTypesResponse
-from createPortableIpRange import createPortableIpRangeResponse
-from deletePortableIpRange import deletePortableIpRangeResponse
-from listPortableIpRanges import listPortableIpRangesResponse
-from stopInternalLoadBalancerVM import stopInternalLoadBalancerVMResponse
-from startInternalLoadBalancerVM import startInternalLoadBalancerVMResponse
-from listInternalLoadBalancerVMs import listInternalLoadBalancerVMsResponse
-from listNetworkIsolationMethods import listNetworkIsolationMethodsResponse
-from dedicateZone import dedicateZoneResponse
-from dedicatePod import dedicatePodResponse
-from dedicateCluster import dedicateClusterResponse
-from dedicateHost import dedicateHostResponse
-from releaseDedicatedZone import releaseDedicatedZoneResponse
-from releaseDedicatedPod import releaseDedicatedPodResponse
-from releaseDedicatedCluster import releaseDedicatedClusterResponse
-from releaseDedicatedHost import releaseDedicatedHostResponse
-from listDedicatedZones import listDedicatedZonesResponse
-from listDedicatedPods import listDedicatedPodsResponse
-from listDedicatedClusters import listDedicatedClustersResponse
-from listDedicatedHosts import listDedicatedHostsResponse
-from listLdapConfigurations import listLdapConfigurationsResponse
-from addLdapConfiguration import addLdapConfigurationResponse
-from deleteLdapConfiguration import deleteLdapConfigurationResponse
-from listLdapUsers import listLdapUsersResponse
-from ldapCreateAccount import ldapCreateAccountResponse
-from login import loginResponse
-from logout import logoutResponse
-class CloudStackAPIClient(object):
-    def __init__(self, connection):
-        self.connection = connection
-        self._id = None
-
-    def __copy__(self):
-        return CloudStackAPIClient(copy.copy(self.connection))
-
-    @property
-    def id(self):
-        return self._id
-
-    @id.setter
-    def id(self, identifier):
-        self._id = identifier
-
-    def createAccount(self, command, method="GET"):
-        response = createAccountResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteAccount(self, command, method="GET"):
-        response = deleteAccountResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateAccount(self, command, method="GET"):
-        response = updateAccountResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def disableAccount(self, command, method="GET"):
-        response = disableAccountResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def enableAccount(self, command, method="GET"):
-        response = enableAccountResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def lockAccount(self, command, method="GET"):
-        response = lockAccountResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listAccounts(self, command, method="GET"):
-        response = listAccountsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def markDefaultZoneForAccount(self, command, method="GET"):
-        response = markDefaultZoneForAccountResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createUser(self, command, method="GET"):
-        response = createUserResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteUser(self, command, method="GET"):
-        response = deleteUserResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateUser(self, command, method="GET"):
-        response = updateUserResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listUsers(self, command, method="GET"):
-        response = listUsersResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def lockUser(self, command, method="GET"):
-        response = lockUserResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def disableUser(self, command, method="GET"):
-        response = disableUserResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def enableUser(self, command, method="GET"):
-        response = enableUserResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def getUser(self, command, method="GET"):
-        response = getUserResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createDomain(self, command, method="GET"):
-        response = createDomainResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateDomain(self, command, method="GET"):
-        response = updateDomainResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteDomain(self, command, method="GET"):
-        response = deleteDomainResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listDomains(self, command, method="GET"):
-        response = listDomainsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listDomainChildren(self, command, method="GET"):
-        response = listDomainChildrenResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def getCloudIdentifier(self, command, method="GET"):
-        response = getCloudIdentifierResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateResourceLimit(self, command, method="GET"):
-        response = updateResourceLimitResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateResourceCount(self, command, method="GET"):
-        response = updateResourceCountResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listResourceLimits(self, command, method="GET"):
-        response = listResourceLimitsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deployVirtualMachine(self, command, method="GET"):
-        response = deployVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def destroyVirtualMachine(self, command, method="GET"):
-        response = destroyVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def rebootVirtualMachine(self, command, method="GET"):
-        response = rebootVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def startVirtualMachine(self, command, method="GET"):
-        response = startVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def stopVirtualMachine(self, command, method="GET"):
-        response = stopVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def resetPasswordForVirtualMachine(self, command, method="GET"):
-        response = resetPasswordForVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def resetSSHKeyForVirtualMachine(self, command, method="GET"):
-        response = resetSSHKeyForVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateVirtualMachine(self, command, method="GET"):
-        response = updateVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listVirtualMachines(self, command, method="GET"):
-        response = listVirtualMachinesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def getVMPassword(self, command, method="GET"):
-        response = getVMPasswordResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def restoreVirtualMachine(self, command, method="GET"):
-        response = restoreVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def changeServiceForVirtualMachine(self, command, method="GET"):
-        response = changeServiceForVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def scaleVirtualMachine(self, command, method="GET"):
-        response = scaleVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def assignVirtualMachine(self, command, method="GET"):
-        response = assignVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def migrateVirtualMachine(self, command, method="GET"):
-        response = migrateVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def migrateVirtualMachineWithVolume(self, command, method="GET"):
-        response = migrateVirtualMachineWithVolumeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def recoverVirtualMachine(self, command, method="GET"):
-        response = recoverVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createSnapshot(self, command, method="GET"):
-        response = createSnapshotResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listSnapshots(self, command, method="GET"):
-        response = listSnapshotsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteSnapshot(self, command, method="GET"):
-        response = deleteSnapshotResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createSnapshotPolicy(self, command, method="GET"):
-        response = createSnapshotPolicyResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteSnapshotPolicies(self, command, method="GET"):
-        response = deleteSnapshotPoliciesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listSnapshotPolicies(self, command, method="GET"):
-        response = listSnapshotPoliciesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def revertSnapshot(self, command, method="GET"):
-        response = revertSnapshotResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createTemplate(self, command, method="GET"):
-        response = createTemplateResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def registerTemplate(self, command, method="GET"):
-        response = registerTemplateResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateTemplate(self, command, method="GET"):
-        response = updateTemplateResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def copyTemplate(self, command, method="GET"):
-        response = copyTemplateResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteTemplate(self, command, method="GET"):
-        response = deleteTemplateResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listTemplates(self, command, method="GET"):
-        response = listTemplatesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateTemplatePermissions(self, command, method="GET"):
-        response = updateTemplatePermissionsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listTemplatePermissions(self, command, method="GET"):
-        response = listTemplatePermissionsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def extractTemplate(self, command, method="GET"):
-        response = extractTemplateResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def prepareTemplate(self, command, method="GET"):
-        response = prepareTemplateResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def attachIso(self, command, method="GET"):
-        response = attachIsoResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def detachIso(self, command, method="GET"):
-        response = detachIsoResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listIsos(self, command, method="GET"):
-        response = listIsosResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def registerIso(self, command, method="GET"):
-        response = registerIsoResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateIso(self, command, method="GET"):
-        response = updateIsoResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteIso(self, command, method="GET"):
-        response = deleteIsoResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def copyIso(self, command, method="GET"):
-        response = copyIsoResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateIsoPermissions(self, command, method="GET"):
-        response = updateIsoPermissionsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listIsoPermissions(self, command, method="GET"):
-        response = listIsoPermissionsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def extractIso(self, command, method="GET"):
-        response = extractIsoResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listOsTypes(self, command, method="GET"):
-        response = listOsTypesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listOsCategories(self, command, method="GET"):
-        response = listOsCategoriesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createServiceOffering(self, command, method="GET"):
-        response = createServiceOfferingResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteServiceOffering(self, command, method="GET"):
-        response = deleteServiceOfferingResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateServiceOffering(self, command, method="GET"):
-        response = updateServiceOfferingResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listServiceOfferings(self, command, method="GET"):
-        response = listServiceOfferingsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createDiskOffering(self, command, method="GET"):
-        response = createDiskOfferingResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateDiskOffering(self, command, method="GET"):
-        response = updateDiskOfferingResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteDiskOffering(self, command, method="GET"):
-        response = deleteDiskOfferingResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listDiskOfferings(self, command, method="GET"):
-        response = listDiskOfferingsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createVlanIpRange(self, command, method="GET"):
-        response = createVlanIpRangeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteVlanIpRange(self, command, method="GET"):
-        response = deleteVlanIpRangeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listVlanIpRanges(self, command, method="GET"):
-        response = listVlanIpRangesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def dedicatePublicIpRange(self, command, method="GET"):
-        response = dedicatePublicIpRangeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def releasePublicIpRange(self, command, method="GET"):
-        response = releasePublicIpRangeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def dedicateGuestVlanRange(self, command, method="GET"):
-        response = dedicateGuestVlanRangeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def releaseDedicatedGuestVlanRange(self, command, method="GET"):
-        response = releaseDedicatedGuestVlanRangeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listDedicatedGuestVlanRanges(self, command, method="GET"):
-        response = listDedicatedGuestVlanRangesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def associateIpAddress(self, command, method="GET"):
-        response = associateIpAddressResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def disassociateIpAddress(self, command, method="GET"):
-        response = disassociateIpAddressResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listPublicIpAddresses(self, command, method="GET"):
-        response = listPublicIpAddressesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listPortForwardingRules(self, command, method="GET"):
-        response = listPortForwardingRulesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createPortForwardingRule(self, command, method="GET"):
-        response = createPortForwardingRuleResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deletePortForwardingRule(self, command, method="GET"):
-        response = deletePortForwardingRuleResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updatePortForwardingRule(self, command, method="GET"):
-        response = updatePortForwardingRuleResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def enableStaticNat(self, command, method="GET"):
-        response = enableStaticNatResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createIpForwardingRule(self, command, method="GET"):
-        response = createIpForwardingRuleResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteIpForwardingRule(self, command, method="GET"):
-        response = deleteIpForwardingRuleResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listIpForwardingRules(self, command, method="GET"):
-        response = listIpForwardingRulesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def disableStaticNat(self, command, method="GET"):
-        response = disableStaticNatResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createLoadBalancerRule(self, command, method="GET"):
-        response = createLoadBalancerRuleResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteLoadBalancerRule(self, command, method="GET"):
-        response = deleteLoadBalancerRuleResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def removeFromLoadBalancerRule(self, command, method="GET"):
-        response = removeFromLoadBalancerRuleResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def assignToLoadBalancerRule(self, command, method="GET"):
-        response = assignToLoadBalancerRuleResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createLBStickinessPolicy(self, command, method="GET"):
-        response = createLBStickinessPolicyResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteLBStickinessPolicy(self, command, method="GET"):
-        response = deleteLBStickinessPolicyResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listLoadBalancerRules(self, command, method="GET"):
-        response = listLoadBalancerRulesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listLBStickinessPolicies(self, command, method="GET"):
-        response = listLBStickinessPoliciesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listLBHealthCheckPolicies(self, command, method="GET"):
-        response = listLBHealthCheckPoliciesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createLBHealthCheckPolicy(self, command, method="GET"):
-        response = createLBHealthCheckPolicyResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteLBHealthCheckPolicy(self, command, method="GET"):
-        response = deleteLBHealthCheckPolicyResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listLoadBalancerRuleInstances(self, command, method="GET"):
-        response = listLoadBalancerRuleInstancesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateLoadBalancerRule(self, command, method="GET"):
-        response = updateLoadBalancerRuleResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createCounter(self, command, method="GET"):
-        response = createCounterResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createCondition(self, command, method="GET"):
-        response = createConditionResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createAutoScalePolicy(self, command, method="GET"):
-        response = createAutoScalePolicyResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createAutoScaleVmProfile(self, command, method="GET"):
-        response = createAutoScaleVmProfileResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createAutoScaleVmGroup(self, command, method="GET"):
-        response = createAutoScaleVmGroupResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteCounter(self, command, method="GET"):
-        response = deleteCounterResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteCondition(self, command, method="GET"):
-        response = deleteConditionResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteAutoScalePolicy(self, command, method="GET"):
-        response = deleteAutoScalePolicyResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteAutoScaleVmProfile(self, command, method="GET"):
-        response = deleteAutoScaleVmProfileResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteAutoScaleVmGroup(self, command, method="GET"):
-        response = deleteAutoScaleVmGroupResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listCounters(self, command, method="GET"):
-        response = listCountersResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listConditions(self, command, method="GET"):
-        response = listConditionsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listAutoScalePolicies(self, command, method="GET"):
-        response = listAutoScalePoliciesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listAutoScaleVmProfiles(self, command, method="GET"):
-        response = listAutoScaleVmProfilesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listAutoScaleVmGroups(self, command, method="GET"):
-        response = listAutoScaleVmGroupsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def enableAutoScaleVmGroup(self, command, method="GET"):
-        response = enableAutoScaleVmGroupResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def disableAutoScaleVmGroup(self, command, method="GET"):
-        response = disableAutoScaleVmGroupResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateAutoScalePolicy(self, command, method="GET"):
-        response = updateAutoScalePolicyResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateAutoScaleVmProfile(self, command, method="GET"):
-        response = updateAutoScaleVmProfileResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateAutoScaleVmGroup(self, command, method="GET"):
-        response = updateAutoScaleVmGroupResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def startRouter(self, command, method="GET"):
-        response = startRouterResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def rebootRouter(self, command, method="GET"):
-        response = rebootRouterResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def stopRouter(self, command, method="GET"):
-        response = stopRouterResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def destroyRouter(self, command, method="GET"):
-        response = destroyRouterResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def changeServiceForRouter(self, command, method="GET"):
-        response = changeServiceForRouterResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listRouters(self, command, method="GET"):
-        response = listRoutersResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listVirtualRouterElements(self, command, method="GET"):
-        response = listVirtualRouterElementsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def configureVirtualRouterElement(self, command, method="GET"):
-        response = configureVirtualRouterElementResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createVirtualRouterElement(self, command, method="GET"):
-        response = createVirtualRouterElementResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def startSystemVm(self, command, method="GET"):
-        response = startSystemVmResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def rebootSystemVm(self, command, method="GET"):
-        response = rebootSystemVmResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def stopSystemVm(self, command, method="GET"):
-        response = stopSystemVmResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def destroySystemVm(self, command, method="GET"):
-        response = destroySystemVmResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listSystemVms(self, command, method="GET"):
-        response = listSystemVmsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def migrateSystemVm(self, command, method="GET"):
-        response = migrateSystemVmResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def changeServiceForSystemVm(self, command, method="GET"):
-        response = changeServiceForSystemVmResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def scaleSystemVm(self, command, method="GET"):
-        response = scaleSystemVmResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateConfiguration(self, command, method="GET"):
-        response = updateConfigurationResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listConfigurations(self, command, method="GET"):
-        response = listConfigurationsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listCapabilities(self, command, method="GET"):
-        response = listCapabilitiesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listDeploymentPlanners(self, command, method="GET"):
-        response = listDeploymentPlannersResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def cleanVMReservations(self, command, method="GET"):
-        response = cleanVMReservationsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createPod(self, command, method="GET"):
-        response = createPodResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updatePod(self, command, method="GET"):
-        response = updatePodResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deletePod(self, command, method="GET"):
-        response = deletePodResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listPods(self, command, method="GET"):
-        response = listPodsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createZone(self, command, method="GET"):
-        response = createZoneResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateZone(self, command, method="GET"):
-        response = updateZoneResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteZone(self, command, method="GET"):
-        response = deleteZoneResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listZones(self, command, method="GET"):
-        response = listZonesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listEvents(self, command, method="GET"):
-        response = listEventsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listEventTypes(self, command, method="GET"):
-        response = listEventTypesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def archiveEvents(self, command, method="GET"):
-        response = archiveEventsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteEvents(self, command, method="GET"):
-        response = deleteEventsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listAlerts(self, command, method="GET"):
-        response = listAlertsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def archiveAlerts(self, command, method="GET"):
-        response = archiveAlertsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteAlerts(self, command, method="GET"):
-        response = deleteAlertsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listCapacity(self, command, method="GET"):
-        response = listCapacityResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def addSwift(self, command, method="GET"):
-        response = addSwiftResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listSwifts(self, command, method="GET"):
-        response = listSwiftsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def addS3(self, command, method="GET"):
-        response = addS3Response()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listS3s(self, command, method="GET"):
-        response = listS3sResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def addImageStore(self, command, method="GET"):
-        response = addImageStoreResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listImageStores(self, command, method="GET"):
-        response = listImageStoresResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteImageStore(self, command, method="GET"):
-        response = deleteImageStoreResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createSecondaryStagingStore(self, command, method="GET"):
-        response = createSecondaryStagingStoreResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listSecondaryStagingStores(self, command, method="GET"):
-        response = listSecondaryStagingStoresResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteSecondaryStagingStore(self, command, method="GET"):
-        response = deleteSecondaryStagingStoreResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def addHost(self, command, method="GET"):
-        response = addHostResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def addCluster(self, command, method="GET"):
-        response = addClusterResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteCluster(self, command, method="GET"):
-        response = deleteClusterResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateCluster(self, command, method="GET"):
-        response = updateClusterResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def reconnectHost(self, command, method="GET"):
-        response = reconnectHostResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateHost(self, command, method="GET"):
-        response = updateHostResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteHost(self, command, method="GET"):
-        response = deleteHostResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def prepareHostForMaintenance(self, command, method="GET"):
-        response = prepareHostForMaintenanceResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def cancelHostMaintenance(self, command, method="GET"):
-        response = cancelHostMaintenanceResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listHosts(self, command, method="GET"):
-        response = listHostsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def findHostsForMigration(self, command, method="GET"):
-        response = findHostsForMigrationResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def addSecondaryStorage(self, command, method="GET"):
-        response = addSecondaryStorageResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateHostPassword(self, command, method="GET"):
-        response = updateHostPasswordResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def releaseHostReservation(self, command, method="GET"):
-        response = releaseHostReservationResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def attachVolume(self, command, method="GET"):
-        response = attachVolumeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def uploadVolume(self, command, method="GET"):
-        response = uploadVolumeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def detachVolume(self, command, method="GET"):
-        response = detachVolumeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createVolume(self, command, method="GET"):
-        response = createVolumeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteVolume(self, command, method="GET"):
-        response = deleteVolumeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listVolumes(self, command, method="GET"):
-        response = listVolumesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def extractVolume(self, command, method="GET"):
-        response = extractVolumeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def migrateVolume(self, command, method="GET"):
-        response = migrateVolumeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def resizeVolume(self, command, method="GET"):
-        response = resizeVolumeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateVolume(self, command, method="GET"):
-        response = updateVolumeResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def registerUserKeys(self, command, method="GET"):
-        response = registerUserKeysResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def queryAsyncJobResult(self, command, method="GET"):
-        response = queryAsyncJobResultResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listAsyncJobs(self, command, method="GET"):
-        response = listAsyncJobsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listStoragePools(self, command, method="GET"):
-        response = listStoragePoolsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listStorageProviders(self, command, method="GET"):
-        response = listStorageProvidersResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createStoragePool(self, command, method="GET"):
-        response = createStoragePoolResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateStoragePool(self, command, method="GET"):
-        response = updateStoragePoolResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteStoragePool(self, command, method="GET"):
-        response = deleteStoragePoolResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listClusters(self, command, method="GET"):
-        response = listClustersResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def enableStorageMaintenance(self, command, method="GET"):
-        response = enableStorageMaintenanceResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def cancelStorageMaintenance(self, command, method="GET"):
-        response = cancelStorageMaintenanceResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def findStoragePoolsForMigration(self, command, method="GET"):
-        response = findStoragePoolsForMigrationResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createSecurityGroup(self, command, method="GET"):
-        response = createSecurityGroupResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteSecurityGroup(self, command, method="GET"):
-        response = deleteSecurityGroupResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def authorizeSecurityGroupIngress(self, command, method="GET"):
-        response = authorizeSecurityGroupIngressResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def revokeSecurityGroupIngress(self, command, method="GET"):
-        response = revokeSecurityGroupIngressResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def authorizeSecurityGroupEgress(self, command, method="GET"):
-        response = authorizeSecurityGroupEgressResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def revokeSecurityGroupEgress(self, command, method="GET"):
-        response = revokeSecurityGroupEgressResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listSecurityGroups(self, command, method="GET"):
-        response = listSecurityGroupsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createInstanceGroup(self, command, method="GET"):
-        response = createInstanceGroupResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteInstanceGroup(self, command, method="GET"):
-        response = deleteInstanceGroupResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateInstanceGroup(self, command, method="GET"):
-        response = updateInstanceGroupResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listInstanceGroups(self, command, method="GET"):
-        response = listInstanceGroupsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def uploadCustomCertificate(self, command, method="GET"):
-        response = uploadCustomCertificateResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listHypervisors(self, command, method="GET"):
-        response = listHypervisorsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createRemoteAccessVpn(self, command, method="GET"):
-        response = createRemoteAccessVpnResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteRemoteAccessVpn(self, command, method="GET"):
-        response = deleteRemoteAccessVpnResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listRemoteAccessVpns(self, command, method="GET"):
-        response = listRemoteAccessVpnsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def addVpnUser(self, command, method="GET"):
-        response = addVpnUserResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def removeVpnUser(self, command, method="GET"):
-        response = removeVpnUserResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listVpnUsers(self, command, method="GET"):
-        response = listVpnUsersResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createNetworkOffering(self, command, method="GET"):
-        response = createNetworkOfferingResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateNetworkOffering(self, command, method="GET"):
-        response = updateNetworkOfferingResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteNetworkOffering(self, command, method="GET"):
-        response = deleteNetworkOfferingResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listNetworkOfferings(self, command, method="GET"):
-        response = listNetworkOfferingsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createNetwork(self, command, method="GET"):
-        response = createNetworkResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteNetwork(self, command, method="GET"):
-        response = deleteNetworkResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listNetworks(self, command, method="GET"):
-        response = listNetworksResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def restartNetwork(self, command, method="GET"):
-        response = restartNetworkResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateNetwork(self, command, method="GET"):
-        response = updateNetworkResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def addNicToVirtualMachine(self, command, method="GET"):
-        response = addNicToVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def removeNicFromVirtualMachine(self, command, method="GET"):
-        response = removeNicFromVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateDefaultNicForVirtualMachine(self, command, method="GET"):
-        response = updateDefaultNicForVirtualMachineResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def addIpToNic(self, command, method="GET"):
-        response = addIpToNicResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def removeIpFromNic(self, command, method="GET"):
-        response = removeIpFromNicResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listNics(self, command, method="GET"):
-        response = listNicsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def registerSSHKeyPair(self, command, method="GET"):
-        response = registerSSHKeyPairResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createSSHKeyPair(self, command, method="GET"):
-        response = createSSHKeyPairResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteSSHKeyPair(self, command, method="GET"):
-        response = deleteSSHKeyPairResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listSSHKeyPairs(self, command, method="GET"):
-        response = listSSHKeyPairsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createProject(self, command, method="GET"):
-        response = createProjectResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteProject(self, command, method="GET"):
-        response = deleteProjectResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateProject(self, command, method="GET"):
-        response = updateProjectResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def activateProject(self, command, method="GET"):
-        response = activateProjectResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def suspendProject(self, command, method="GET"):
-        response = suspendProjectResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listProjects(self, command, method="GET"):
-        response = listProjectsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def addAccountToProject(self, command, method="GET"):
-        response = addAccountToProjectResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteAccountFromProject(self, command, method="GET"):
-        response = deleteAccountFromProjectResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listProjectAccounts(self, command, method="GET"):
-        response = listProjectAccountsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listProjectInvitations(self, command, method="GET"):
-        response = listProjectInvitationsResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateProjectInvitation(self, command, method="GET"):
-        response = updateProjectInvitationResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteProjectInvitation(self, command, method="GET"):
-        response = deleteProjectInvitationResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createFirewallRule(self, command, method="GET"):
-        response = createFirewallRuleResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteFirewallRule(self, command, method="GET"):
-        response = deleteFirewallRuleResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listFirewallRules(self, command, method="GET"):
-        response = listFirewallRulesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createEgressFirewallRule(self, command, method="GET"):
-        response = createEgressFirewallRuleResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def deleteEgressFirewallRule(self, command, method="GET"):
-        response = deleteEgressFirewallRuleResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listEgressFirewallRules(self, command, method="GET"):
-        response = listEgressFirewallRulesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def updateHypervisorCapabilities(self, command, method="GET"):
-        response = updateHypervisorCapabilitiesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def listHypervisorCapabilities(self, command, method="GET"):
-        response = listHypervisorCapabilitiesResponse()
-        response = self.connection.marvin_request(command, response_type=response, method=method)
-        return response
-
-    def createPhysicalNetwork

<TRUNCATED>

[02/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/integration/lib/common.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/integration/lib/common.py b/tools/marvin/build/lib/marvin/integration/lib/common.py
deleted file mode 100644
index 164ef20..0000000
--- a/tools/marvin/build/lib/marvin/integration/lib/common.py
+++ /dev/null
@@ -1,739 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-"""Common functions
-"""
-
-#Import Local Modules
-from marvin.cloudstackAPI import *
-from marvin.remoteSSHClient import remoteSSHClient
-from utils import *
-from base import *
-
-#Import System modules
-import time
-
-
-def is_config_suitable(apiclient, name, value):
-    """
-    Ensure if the deployment has the expected `value` for the global setting `name'
-    @return: true if value is set, else false
-    """
-    configs = Configurations.list(apiclient, name=name)
-    assert(configs is not None and isinstance(configs, list) and len(configs) > 0)
-    return configs[0].value == value
-
-def wait_for_cleanup(apiclient, configs=None):
-    """Sleeps till the cleanup configs passed"""
-
-    # Configs list consists of the list of global configs
-    if not isinstance(configs, list):
-        return
-    for config in configs:
-        cmd = listConfigurations.listConfigurationsCmd()
-        cmd.name = config
-        cmd.listall = True
-        try:
-            config_descs = apiclient.listConfigurations(cmd)
-        except Exception as e:
-            raise Exception("Failed to fetch configurations: %s" % e)
-
-        if not isinstance(config_descs, list):
-            raise Exception("List configs didn't returned a valid data")
-
-        config_desc = config_descs[0]
-        # Sleep for the config_desc.value time
-        time.sleep(int(config_desc.value))
-    return
-
-def add_netscaler(apiclient, zoneid, NSservice):
-    """ Adds Netscaler device and enables NS provider"""
-
-    cmd = listPhysicalNetworks.listPhysicalNetworksCmd()
-    cmd.zoneid = zoneid
-    physical_networks = apiclient.listPhysicalNetworks(cmd)
-    if isinstance(physical_networks, list):
-       physical_network = physical_networks[0]
-
-    cmd = listNetworkServiceProviders.listNetworkServiceProvidersCmd()
-    cmd.name = 'Netscaler'
-    cmd.physicalnetworkid=physical_network.id
-    nw_service_providers = apiclient.listNetworkServiceProviders(cmd)
-
-    if isinstance(nw_service_providers, list):
-        netscaler_provider = nw_service_providers[0]
-    else:
-        cmd1 = addNetworkServiceProvider.addNetworkServiceProviderCmd()
-        cmd1.name = 'Netscaler'
-        cmd1.physicalnetworkid = physical_network.id
-        netscaler_provider = apiclient.addNetworkServiceProvider(cmd1)
-
-    netscaler = NetScaler.add(
-                    apiclient,
-                    NSservice,
-                    physicalnetworkid=physical_network.id
-                    )
-    if netscaler_provider.state != 'Enabled':
-      cmd = updateNetworkServiceProvider.updateNetworkServiceProviderCmd()
-      cmd.id = netscaler_provider.id
-      cmd.state =  'Enabled'
-      response = apiclient.updateNetworkServiceProvider(cmd)
-
-    return netscaler
-
-def get_region(apiclient, services=None):
-    "Returns a default region"
-
-    cmd = listRegions.listRegionsCmd()
-    if services:
-        if "regionid" in services:
-            cmd.id = services["regionid"]
-
-    regions = apiclient.listRegions(cmd)
-
-    if isinstance(regions, list):
-        assert len(regions) > 0
-        return regions[0]
-    else:
-        raise Exception("Failed to find specified region.")
-
-def get_domain(apiclient, services=None):
-    "Returns a default domain"
-
-    cmd = listDomains.listDomainsCmd()
-    if services:
-        if "domainid" in services:
-            cmd.id = services["domainid"]
-
-    domains = apiclient.listDomains(cmd)
-
-    if isinstance(domains, list):
-        assert len(domains) > 0
-        return domains[0]
-    else:
-        raise Exception("Failed to find specified domain.")
-
-
-def get_zone(apiclient, services=None):
-    "Returns a default zone"
-
-    cmd = listZones.listZonesCmd()
-    if services:
-        if "zoneid" in services:
-            cmd.id = services["zoneid"]
-
-    zones = apiclient.listZones(cmd)
-
-    if isinstance(zones, list):
-        assert len(zones) > 0, "There are no available zones in the deployment"
-        return zones[0]
-    else:
-        raise Exception("Failed to find specified zone.")
-
-
-def get_pod(apiclient, zoneid, services=None):
-    "Returns a default pod for specified zone"
-
-    cmd = listPods.listPodsCmd()
-    cmd.zoneid = zoneid
-
-    if services:
-        if "podid" in services:
-            cmd.id = services["podid"]
-
-    pods = apiclient.listPods(cmd)
-
-    if isinstance(pods, list):
-        assert len(pods) > 0, "No pods found for zone %s"%zoneid
-        return pods[0]
-    else:
-        raise Exception("Exception: Failed to find specified pod.")
-
-
-def get_template(apiclient, zoneid, ostype, services=None):
-    "Returns a template"
-
-    cmd = listOsTypes.listOsTypesCmd()
-    cmd.description = ostype
-    ostypes = apiclient.listOsTypes(cmd)
-
-    if isinstance(ostypes, list):
-        ostypeid = ostypes[0].id
-    else:
-        raise Exception(
-            "Failed to find OS type with description: %s" % ostype)
-
-    cmd = listTemplates.listTemplatesCmd()
-    cmd.templatefilter = 'featured'
-    cmd.zoneid = zoneid
-
-    if services:
-        if "template" in services:
-            cmd.id = services["template"]
-
-    list_templates = apiclient.listTemplates(cmd)
-
-    if isinstance(list_templates, list):
-        assert len(list_templates) > 0, "received empty response on template of type %s"%ostype
-        for template in list_templates:
-            if template.ostypeid == ostypeid:
-                return template
-            elif template.isready:
-                return template
-
-    raise Exception("Exception: Failed to find template with OSTypeID: %s" %
-                                                                    ostypeid)
-    return
-
-
-def download_systemplates_sec_storage(server, services):
-    """Download System templates on sec storage"""
-
-    try:
-        # Login to management server
-        ssh = remoteSSHClient(
-                                          server["ipaddress"],
-                                          server["port"],
-                                          server["username"],
-                                          server["password"]
-                             )
-    except Exception:
-        raise Exception("SSH access failted for server with IP address: %s" %
-                                                            server["ipaddess"])
-    # Mount Secondary Storage on Management Server
-    cmds = [
-            "mkdir -p %s" % services["mnt_dir"],
-            "mount -t nfs %s:/%s %s" % (
-                                        services["sec_storage"],
-                                        services["path"],
-                                        services["mnt_dir"]
-                                        ),
-            "%s -m %s -u %s -h %s -F" % (
-                                         services["command"],
-                                         services["mnt_dir"],
-                                         services["download_url"],
-                                         services["hypervisor"]
-                                        )
-            ]
-    for c in cmds:
-        result = ssh.execute(c)
-
-    res = str(result)
-
-    # Unmount the Secondary storage
-    ssh.execute("umount %s" % (services["mnt_dir"]))
-
-    if res.count("Successfully installed system VM template") == 1:
-        return
-    else:
-        raise Exception("Failed to download System Templates on Sec Storage")
-    return
-
-
-def wait_for_ssvms(apiclient, zoneid, podid, interval=60):
-    """After setup wait for SSVMs to come Up"""
-
-    time.sleep(interval)
-    timeout = 40
-    while True:
-            list_ssvm_response = list_ssvms(
-                                        apiclient,
-                                        systemvmtype='secondarystoragevm',
-                                        zoneid=zoneid,
-                                        podid=podid
-                                        )
-            ssvm = list_ssvm_response[0]
-            if ssvm.state != 'Running':
-                # Sleep to ensure SSVMs are Up and Running
-                time.sleep(interval)
-                timeout = timeout - 1
-            elif ssvm.state == 'Running':
-                break
-            elif timeout == 0:
-                raise Exception("SSVM failed to come up")
-                break
-
-    timeout = 40
-    while True:
-            list_ssvm_response = list_ssvms(
-                                        apiclient,
-                                        systemvmtype='consoleproxy',
-                                        zoneid=zoneid,
-                                        podid=podid
-                                        )
-            cpvm = list_ssvm_response[0]
-            if cpvm.state != 'Running':
-                # Sleep to ensure SSVMs are Up and Running
-                time.sleep(interval)
-                timeout = timeout - 1
-            elif cpvm.state == 'Running':
-                break
-            elif timeout == 0:
-                raise Exception("CPVM failed to come up")
-                break
-    return
-
-def get_builtin_template_info(apiclient, zoneid):
-    """Returns hypervisor specific infor for templates"""
-
-    list_template_response = Template.list(
-                                    apiclient,
-                                    templatefilter='featured',
-                                    zoneid=zoneid,
-                                    )
-
-    for b_template in list_template_response:
-            if b_template.templatetype == 'BUILTIN':
-                break
-
-    extract_response = Template.extract(apiclient,
-                                            b_template.id,
-                                            'HTTP_DOWNLOAD',
-                                            zoneid)
-
-    return extract_response.url, b_template.hypervisor, b_template.format
-
-def download_builtin_templates(apiclient, zoneid, hypervisor, host,
-                                                linklocalip, interval=60):
-    """After setup wait till builtin templates are downloaded"""
-
-    # Change IPTABLES Rules
-    get_process_status(
-                        host["ipaddress"],
-                        host["port"],
-                        host["username"],
-                        host["password"],
-                        linklocalip,
-                        "iptables -P INPUT ACCEPT"
-                    )
-    time.sleep(interval)
-    # Find the BUILTIN Templates for given Zone, Hypervisor
-    list_template_response = list_templates(
-                                    apiclient,
-                                    hypervisor=hypervisor,
-                                    zoneid=zoneid,
-                                    templatefilter='self'
-                                    )
-
-    if not isinstance(list_template_response, list):
-        raise Exception("Failed to download BUILTIN templates")
-
-    # Ensure all BUILTIN templates are downloaded
-    templateid = None
-    for template in list_template_response:
-        if template.templatetype == "BUILTIN":
-                templateid = template.id
-
-    # Sleep to ensure that template is in downloading state after adding
-    # Sec storage
-    time.sleep(interval)
-    while True:
-        template_response = list_templates(
-                                    apiclient,
-                                    id=templateid,
-                                    zoneid=zoneid,
-                                    templatefilter='self'
-                                    )
-        template = template_response[0]
-        # If template is ready,
-        # template.status = Download Complete
-        # Downloading - x% Downloaded
-        # Error - Any other string
-        if template.status == 'Download Complete':
-            break
-
-        elif 'Downloaded' in template.status:
-            time.sleep(interval)
-
-        elif 'Installing' not in template.status:
-            raise Exception("ErrorInDownload")
-
-    return
-
-
-def update_resource_limit(apiclient, resourcetype, account=None,
-                                    domainid=None, max=None, projectid=None):
-    """Updates the resource limit to 'max' for given account"""
-
-    cmd = updateResourceLimit.updateResourceLimitCmd()
-    cmd.resourcetype = resourcetype
-    if account:
-        cmd.account = account
-    if domainid:
-        cmd.domainid = domainid
-    if max:
-        cmd.max = max
-    if projectid:
-        cmd.projectid = projectid
-    apiclient.updateResourceLimit(cmd)
-    return
-
-
-def list_os_types(apiclient, **kwargs):
-    """List all os types matching criteria"""
-
-    cmd = listOsTypes.listOsTypesCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listOsTypes(cmd))
-
-
-def list_routers(apiclient, **kwargs):
-    """List all Routers matching criteria"""
-
-    cmd = listRouters.listRoutersCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listRouters(cmd))
-
-
-def list_zones(apiclient, **kwargs):
-    """List all Zones matching criteria"""
-
-    cmd = listZones.listZonesCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listZones(cmd))
-
-
-def list_networks(apiclient, **kwargs):
-    """List all Networks matching criteria"""
-
-    cmd = listNetworks.listNetworksCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listNetworks(cmd))
-
-
-def list_clusters(apiclient, **kwargs):
-    """List all Clusters matching criteria"""
-
-    cmd = listClusters.listClustersCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listClusters(cmd))
-
-
-def list_ssvms(apiclient, **kwargs):
-    """List all SSVMs matching criteria"""
-
-    cmd = listSystemVms.listSystemVmsCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listSystemVms(cmd))
-
-
-def list_storage_pools(apiclient, **kwargs):
-    """List all storage pools matching criteria"""
-
-    cmd = listStoragePools.listStoragePoolsCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listStoragePools(cmd))
-
-
-def list_virtual_machines(apiclient, **kwargs):
-    """List all VMs matching criteria"""
-
-    cmd = listVirtualMachines.listVirtualMachinesCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listVirtualMachines(cmd))
-
-
-def list_hosts(apiclient, **kwargs):
-    """List all Hosts matching criteria"""
-
-    cmd = listHosts.listHostsCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listHosts(cmd))
-
-
-def list_configurations(apiclient, **kwargs):
-    """List configuration with specified name"""
-
-    cmd = listConfigurations.listConfigurationsCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listConfigurations(cmd))
-
-
-def list_publicIP(apiclient, **kwargs):
-    """List all Public IPs matching criteria"""
-
-    cmd = listPublicIpAddresses.listPublicIpAddressesCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listPublicIpAddresses(cmd))
-
-
-def list_nat_rules(apiclient, **kwargs):
-    """List all NAT rules matching criteria"""
-
-    cmd = listPortForwardingRules.listPortForwardingRulesCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listPortForwardingRules(cmd))
-
-
-def list_lb_rules(apiclient, **kwargs):
-    """List all Load balancing rules matching criteria"""
-
-    cmd = listLoadBalancerRules.listLoadBalancerRulesCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listLoadBalancerRules(cmd))
-
-
-def list_lb_instances(apiclient, **kwargs):
-    """List all Load balancing instances matching criteria"""
-
-    cmd = listLoadBalancerRuleInstances.listLoadBalancerRuleInstancesCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listLoadBalancerRuleInstances(cmd))
-
-
-def list_firewall_rules(apiclient, **kwargs):
-    """List all Firewall Rules matching criteria"""
-
-    cmd = listFirewallRules.listFirewallRulesCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listFirewallRules(cmd))
-
-
-def list_volumes(apiclient, **kwargs):
-    """List all volumes matching criteria"""
-
-    cmd = listVolumes.listVolumesCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listVolumes(cmd))
-
-
-def list_isos(apiclient, **kwargs):
-    """Lists all available ISO files."""
-
-    cmd = listIsos.listIsosCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listIsos(cmd))
-
-
-def list_snapshots(apiclient, **kwargs):
-    """List all snapshots matching criteria"""
-
-    cmd = listSnapshots.listSnapshotsCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listSnapshots(cmd))
-
-
-def list_templates(apiclient, **kwargs):
-    """List all templates matching criteria"""
-
-    cmd = listTemplates.listTemplatesCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listTemplates(cmd))
-
-
-def list_domains(apiclient, **kwargs):
-    """Lists domains"""
-
-    cmd = listDomains.listDomainsCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listDomains(cmd))
-
-
-def list_accounts(apiclient, **kwargs):
-    """Lists accounts and provides detailed account information for
-    listed accounts"""
-
-    cmd = listAccounts.listAccountsCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listAccounts(cmd))
-
-
-def list_users(apiclient, **kwargs):
-    """Lists users and provides detailed account information for
-    listed users"""
-
-    cmd = listUsers.listUsersCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listUsers(cmd))
-
-
-def list_snapshot_policy(apiclient, **kwargs):
-    """Lists snapshot policies."""
-
-    cmd = listSnapshotPolicies.listSnapshotPoliciesCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listSnapshotPolicies(cmd))
-
-
-def list_events(apiclient, **kwargs):
-    """Lists events"""
-
-    cmd = listEvents.listEventsCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listEvents(cmd))
-
-
-def list_disk_offering(apiclient, **kwargs):
-    """Lists all available disk offerings."""
-
-    cmd = listDiskOfferings.listDiskOfferingsCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listDiskOfferings(cmd))
-
-
-def list_service_offering(apiclient, **kwargs):
-    """Lists all available service offerings."""
-
-    cmd = listServiceOfferings.listServiceOfferingsCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listServiceOfferings(cmd))
-
-
-def list_vlan_ipranges(apiclient, **kwargs):
-    """Lists all VLAN IP ranges."""
-
-    cmd = listVlanIpRanges.listVlanIpRangesCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listVlanIpRanges(cmd))
-
-
-def list_usage_records(apiclient, **kwargs):
-    """Lists usage records for accounts"""
-
-    cmd = listUsageRecords.listUsageRecordsCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listUsageRecords(cmd))
-
-
-def list_nw_service_prividers(apiclient, **kwargs):
-    """Lists Network service providers"""
-
-    cmd = listNetworkServiceProviders.listNetworkServiceProvidersCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listNetworkServiceProviders(cmd))
-
-
-def list_virtual_router_elements(apiclient, **kwargs):
-    """Lists Virtual Router elements"""
-
-    cmd = listVirtualRouterElements.listVirtualRouterElementsCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listVirtualRouterElements(cmd))
-
-
-def list_network_offerings(apiclient, **kwargs):
-    """Lists network offerings"""
-
-    cmd = listNetworkOfferings.listNetworkOfferingsCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listNetworkOfferings(cmd))
-
-
-def list_resource_limits(apiclient, **kwargs):
-    """Lists resource limits"""
-
-    cmd = listResourceLimits.listResourceLimitsCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listResourceLimits(cmd))
-
-def list_vpc_offerings(apiclient, **kwargs):
-    """ Lists VPC offerings """
-
-    cmd = listVPCOfferings.listVPCOfferingsCmd()
-    [setattr(cmd, k, v) for k, v in kwargs.items()]
-    return(apiclient.listVPCOfferings(cmd))
-
-def update_resource_count(apiclient, domainid, accountid=None,
-                          projectid=None, rtype=None):
-        """updates the resource count
-            0     - VM
-            1     - Public IP
-            2     - Volume
-            3     - Snapshot
-            4     - Template
-            5     - Projects
-            6     - Network
-            7     - VPC
-            8     - CPUs
-            9     - RAM
-            10    - Primary (shared) storage (Volumes)
-            11    - Secondary storage (Snapshots, Templates & ISOs)
-        """
-
-        Resources.updateCount(apiclient,
-                              domainid=domainid,
-                              account=accountid if accountid else None,
-                              projectid=projectid if projectid else None,
-                              resourcetype=rtype if rtype else None
-                              )
-        return
-
-def find_suitable_host(apiclient, vm):
-        """Returns a suitable host for VM migration"""
-
-        hosts = Host.list(apiclient,
-                          virtualmachineid=vm.id,
-                          listall=True)
-
-        if isinstance(hosts, list):
-            assert len(hosts) > 0, "List host should return valid response"
-        else:
-            raise Exception("Exception: List host should return valid response")
-        return hosts[0]
-
-def get_resource_type(resource_id):
-        """Returns resource type"""
-
-        lookup = {  0: "VM",
-                    1: "Public IP",
-                    2: "Volume",
-                    3: "Snapshot",
-                    4: "Template",
-                    5: "Projects",
-                    6: "Network",
-                    7: "VPC",
-                    8: "CPUs",
-                    9: "RAM",
-                    10: "Primary (shared) storage (Volumes)",
-                    11: "Secondary storage (Snapshots, Templates & ISOs)"
-                 }
-
-        return lookup[resource_id]
-
-def get_portable_ip_range_services(config):
-    """ Reads config values related to portable ip and fills up
-    services accordingly"""
-
-    services = {}
-    attributeError = False
-
-    if config.portableIpRange.startip:
-        services["startip"] = config.portableIpRange.startip
-    else:
-        attributeError = True
-
-    if config.portableIpRange.endip:
-        services["endip"] = config.portableIpRange.endip
-    else:
-        attributeError = True
-
-    if config.portableIpRange.netmask:
-        services["netmask"] = config.portableIpRange.netmask
-    else:
-        attributeError = True
-
-    if config.portableIpRange.gateway:
-        services["gateway"] = config.portableIpRange.gateway
-    else:
-        attributeError = True
-
-    if config.portableIpRange.vlan:
-        services["vlan"] = config.portableIpRange.vlan
-
-    if attributeError:
-        services = None
-
-    return services

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/integration/lib/utils.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/integration/lib/utils.py b/tools/marvin/build/lib/marvin/integration/lib/utils.py
deleted file mode 100644
index d81e80d..0000000
--- a/tools/marvin/build/lib/marvin/integration/lib/utils.py
+++ /dev/null
@@ -1,320 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-"""Utilities functions
-"""
-
-import marvin
-import os
-import time
-import logging
-import string
-import random
-import imaplib
-import email
-import socket
-import urlparse
-import datetime
-from marvin.cloudstackAPI import *
-from marvin.remoteSSHClient import remoteSSHClient
-
-
-def restart_mgmt_server(server):
-    """Restarts the management server"""
-
-    try:
-        # Get the SSH client
-        ssh = is_server_ssh_ready(
-            server["ipaddress"],
-            server["port"],
-            server["username"],
-            server["password"],
-        )
-        result = ssh.execute("/etc/init.d/cloud-management restart")
-        res = str(result)
-        # Server Stop - OK
-        # Server Start - OK
-        if res.count("OK") != 2:
-            raise ("ErrorInReboot!")
-    except Exception as e:
-        raise e
-    return
-
-
-def fetch_latest_mail(services, from_mail):
-    """Fetch mail"""
-
-    # Login to mail server to verify email
-    mail = imaplib.IMAP4_SSL(services["server"])
-    mail.login(
-        services["email"],
-        services["password"]
-    )
-    mail.list()
-    mail.select(services["folder"])
-    date = (datetime.date.today() - datetime.timedelta(1)).strftime("%d-%b-%Y")
-
-    result, data = mail.uid(
-        'search',
-        None,
-        '(SENTSINCE {date} HEADER FROM "{mail}")'.format(
-            date=date,
-            mail=from_mail
-        )
-    )
-    # Return False if email is not present
-    if data == []:
-        return False
-
-    latest_email_uid = data[0].split()[-1]
-    result, data = mail.uid('fetch', latest_email_uid, '(RFC822)')
-    raw_email = data[0][1]
-    email_message = email.message_from_string(raw_email)
-    result = get_first_text_block(email_message)
-    return result
-
-
-def get_first_text_block(email_message_instance):
-    """fetches first text block from the mail"""
-    maintype = email_message_instance.get_content_maintype()
-    if maintype == 'multipart':
-        for part in email_message_instance.get_payload():
-            if part.get_content_maintype() == 'text':
-                return part.get_payload()
-    elif maintype == 'text':
-        return email_message_instance.get_payload()
-
-
-def random_gen(id=None, size=6, chars=string.ascii_uppercase + string.digits):
-    """Generate Random Strings of variable length"""
-    randomstr = ''.join(random.choice(chars) for x in range(size))
-    if id:
-        return ''.join([id, '-', randomstr])
-    return randomstr
-
-
-def cleanup_resources(api_client, resources):
-    """Delete resources"""
-    for obj in resources:
-        obj.delete(api_client)
-
-
-def is_server_ssh_ready(ipaddress, port, username, password, retries=10, timeout=30, keyPairFileLocation=None):
-    """Return ssh handle else wait till sshd is running"""
-    try:
-        ssh = remoteSSHClient(
-            host=ipaddress,
-            port=port,
-            user=username,
-            passwd=password,
-            keyPairFileLocation=keyPairFileLocation,
-            retries=retries,
-            delay=timeout)
-    except Exception, e:
-        raise Exception("Failed to bring up ssh service in time. Waited %ss. Error is %s" % (retries * timeout, e))
-    else:
-        return ssh
-
-
-def format_volume_to_ext3(ssh_client, device="/dev/sda"):
-    """Format attached storage to ext3 fs"""
-    cmds = [
-        "echo -e 'n\np\n1\n\n\nw' | fdisk %s" % device,
-        "mkfs.ext3 %s1" % device,
-    ]
-    for c in cmds:
-        ssh_client.execute(c)
-
-
-def fetch_api_client(config_file='datacenterCfg'):
-    """Fetch the Cloudstack API Client"""
-    config = marvin.configGenerator.get_setup_config(config_file)
-    mgt = config.mgtSvr[0]
-    testClientLogger = logging.getLogger("testClient")
-    asyncTimeout = 3600
-    return cloudstackAPIClient.CloudStackAPIClient(
-        marvin.cloudstackConnection.cloudConnection(
-            mgt.mgtSvrIp,
-            mgt.port,
-            mgt.apiKey,
-            mgt.securityKey,
-            asyncTimeout,
-            testClientLogger
-        )
-    )
-
-def get_host_credentials(config, hostip):
-    """Get login information for a host `hostip` (ipv4) from marvin's `config`
-
-    @return the tuple username, password for the host else raise keyerror"""
-    for zone in config.zones:
-        for pod in zone.pods:
-            for cluster in pod.clusters:
-                for host in cluster.hosts:
-                    if str(host.url).startswith('http'):
-                        hostname = urlparse.urlsplit(str(host.url)).netloc
-                    else:
-                        hostname = str(host.url)
-                    try:
-                        if socket.getfqdn(hostip) == socket.getfqdn(hostname):
-                            return host.username, host.password
-                    except socket.error, e:
-                        raise Exception("Unresolvable host %s error is %s" % (hostip, e))
-    raise KeyError("Please provide the marvin configuration file with credentials to your hosts")
-
-
-def get_process_status(hostip, port, username, password, linklocalip, process, hypervisor=None):
-    """Double hop and returns a process status"""
-
-    #SSH to the machine
-    ssh = remoteSSHClient(hostip, port, username, password)
-    if str(hypervisor).lower() == 'vmware':
-        ssh_command = "ssh -i /var/cloudstack/management/.ssh/id_rsa -ostricthostkeychecking=no "
-    else:
-        ssh_command = "ssh -i ~/.ssh/id_rsa.cloud -ostricthostkeychecking=no "
-
-    ssh_command = ssh_command +\
-                  "-oUserKnownHostsFile=/dev/null -p 3922 %s %s" % (
-                      linklocalip,
-                      process)
-
-    # Double hop into router
-    timeout = 5
-    # Ensure the SSH login is successful
-    while True:
-        res = ssh.execute(ssh_command)
-
-        if res[0] != "Host key verification failed.":
-            break
-        elif timeout == 0:
-            break
-
-        time.sleep(5)
-        timeout = timeout - 1
-    return res
-
-
-def isAlmostEqual(first_digit, second_digit, range=0):
-    digits_equal_within_range = False
-
-    try:
-        if ((first_digit - range) < second_digit < (first_digit + range)):
-            digits_equal_within_range = True
-    except Exception as e:
-        raise e
-    return digits_equal_within_range
-
-
-def xsplit(txt, seps):
-    """
-    Split a string in `txt` by list of delimiters in `seps`
-    @param txt: string to split
-    @param seps: list of separators
-    @return: list of split units
-    """
-    default_sep = seps[0]
-    for sep in seps[1:]: # we skip seps[0] because that's the default separator
-        txt = txt.replace(sep, default_sep)
-    return [i.strip() for i in txt.split(default_sep)]
-
-def is_snapshot_on_nfs(apiclient, dbconn, config, zoneid, snapshotid):
-    """
-    Checks whether a snapshot with id (not UUID) `snapshotid` is present on the nfs storage
-
-    @param apiclient: api client connection
-    @param @dbconn:  connection to the cloudstack db
-    @param config: marvin configuration file
-    @param zoneid: uuid of the zone on which the secondary nfs storage pool is mounted
-    @param snapshotid: uuid of the snapshot
-    @return: True if snapshot is found, False otherwise
-    """
-
-    from base import ImageStore, Snapshot
-    secondaryStores = ImageStore.list(apiclient, zoneid=zoneid)
-
-    assert isinstance(secondaryStores, list), "Not a valid response for listImageStores"
-    assert len(secondaryStores) != 0, "No image stores found in zone %s" % zoneid
-
-    secondaryStore = secondaryStores[0]
-
-    if str(secondaryStore.providername).lower() != "nfs":
-        raise Exception(
-            "is_snapshot_on_nfs works only against nfs secondary storage. found %s" % str(secondaryStore.providername))
-
-    qresultset = dbconn.execute(
-                        "select id from snapshots where uuid = '%s';" \
-                        % str(snapshotid)
-                        )
-    if len(qresultset) == 0:
-        raise Exception(
-            "No snapshot found in cloudstack with id %s" % snapshotid)
-
-
-    snapshotid = qresultset[0][0]
-    qresultset = dbconn.execute(
-        "select install_path from snapshot_store_ref where snapshot_id='%s' and store_role='Image';" % snapshotid
-    )
-
-    assert isinstance(qresultset, list), "Invalid db query response for snapshot %s" % snapshotid
-
-    if len(qresultset) == 0:
-        #Snapshot does not exist
-        return False
-
-    snapshotPath = qresultset[0][0]
-
-    nfsurl = secondaryStore.url
-    from urllib2 import urlparse
-    parse_url = urlparse.urlsplit(nfsurl, scheme='nfs')
-    host, path = parse_url.netloc, parse_url.path
-
-    if not config.mgtSvr:
-        raise Exception("Your marvin configuration does not contain mgmt server credentials")
-    mgtSvr, user, passwd = config.mgtSvr[0].mgtSvrIp, config.mgtSvr[0].user, config.mgtSvr[0].passwd
-
-    try:
-        ssh_client = remoteSSHClient(
-            mgtSvr,
-            22,
-            user,
-            passwd
-        )
-        cmds = [
-                "mkdir -p %s /mnt/tmp",
-                "mount -t %s %s%s /mnt/tmp" % (
-                    'nfs',
-                    host,
-                    path,
-                    ),
-                "test -f %s && echo 'snapshot exists'" % (
-                    os.path.join("/mnt/tmp", snapshotPath)
-                    ),
-            ]
-
-        for c in cmds:
-            result = ssh_client.execute(c)
-
-        # Unmount the Sec Storage
-        cmds = [
-                "cd",
-                "umount /mnt/tmp",
-            ]
-        for c in cmds:
-            ssh_client.execute(c)
-    except Exception as e:
-        raise Exception("SSH failed for management server: %s - %s" %
-                      (config.mgtSvr[0].mgtSvrIp, e))
-    return 'snapshot exists' in result

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/jsonHelper.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/jsonHelper.py b/tools/marvin/build/lib/marvin/jsonHelper.py
deleted file mode 100644
index ae40b8d..0000000
--- a/tools/marvin/build/lib/marvin/jsonHelper.py
+++ /dev/null
@@ -1,381 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import cloudstackException
-import json
-import inspect
-from cloudstackAPI import *
-
-
-class jsonLoader(object):
-    '''The recursive class for building and representing objects with.'''
-    def __init__(self, obj):
-        for k in obj:
-            v = obj[k]
-            if isinstance(v, dict):
-                setattr(self, k, jsonLoader(v))
-            elif isinstance(v, (list, tuple)):
-                if len(v) > 0 and isinstance(v[0], dict):
-                    setattr(self, k, [jsonLoader(elem) for elem in v])
-                else:
-                    setattr(self, k, v)
-            else:
-                setattr(self, k, v)
-
-    def __getattr__(self, val):
-        if val in self.__dict__:
-            return self.__dict__[val]
-        else:
-            return None
-
-    def __repr__(self):
-        return '{%s}' % str(', '.join('%s : %s' % (k, repr(v)) for (k, v)
-                                      in self.__dict__.iteritems()))
-
-    def __str__(self):
-        return '{%s}' % str(', '.join('%s : %s' % (k, repr(v)) for (k, v)
-                                      in self.__dict__.iteritems()))
-
-
-class jsonDump(object):
-    @staticmethod
-    def __serialize(obj):
-        """Recursively walk object's hierarchy."""
-        if isinstance(obj, (bool, int, long, float, basestring)):
-            return obj
-        elif isinstance(obj, dict):
-            obj = obj.copy()
-            newobj = {}
-            for key in obj:
-                if obj[key] is not None:
-                    if (isinstance(obj[key], list) and len(obj[key]) == 0):
-                        continue
-                    newobj[key] = jsonDump.__serialize(obj[key])
-
-            return newobj
-        elif isinstance(obj, list):
-            return [jsonDump.__serialize(item) for item in obj]
-        elif isinstance(obj, tuple):
-            return tuple(jsonDump.__serialize([item for item in obj]))
-        elif hasattr(obj, '__dict__'):
-            return jsonDump.__serialize(obj.__dict__)
-        else:
-            return repr(obj)  # Don't know how to handle, convert to string
-
-    @staticmethod
-    def dump(obj):
-        return jsonDump.__serialize(obj)
-
-
-def getclassFromName(cmd, name):
-    module = inspect.getmodule(cmd)
-    return getattr(module, name)()
-
-
-def finalizeResultObj(result, responseName, responsecls):
-    responsclsLoadable = (responsecls is None
-                          and responseName.endswith("response")
-                          and responseName != "queryasyncjobresultresponse")
-    if responsclsLoadable:
-        '''infer the response class from the name'''
-        moduleName = responseName.replace("response", "")
-        try:
-            responsecls = getclassFromName(moduleName, responseName)
-        except:
-            pass
-
-    responsNameValid = (responseName is not None
-                        and responseName == "queryasyncjobresultresponse"
-                        and responsecls is not None
-                        and result.jobresult is not None)
-    if responsNameValid:
-        result.jobresult = finalizeResultObj(result.jobresult, None,
-                                             responsecls)
-        return result
-    elif responsecls is not None:
-        for k, v in result.__dict__.iteritems():
-            if k in responsecls.__dict__:
-                return result
-
-        attr = result.__dict__.keys()[0]
-
-        value = getattr(result, attr)
-        if not isinstance(value, jsonLoader):
-            return result
-
-        findObj = False
-        for k, v in value.__dict__.iteritems():
-            if k in responsecls.__dict__:
-                findObj = True
-                break
-        if findObj:
-            return value
-        else:
-            return result
-    else:
-        return result
-
-
-def getResultObj(returnObj, responsecls=None):
-    if len(returnObj) == 0:
-        return None
-    responseName = filter(lambda a: a != u'cloudstack-version',
-                          returnObj.keys())[0]
-
-    response = returnObj[responseName]
-    if len(response) == 0:
-        return None
-
-    result = jsonLoader(response)
-    if result.errorcode is not None:
-        errMsg = "errorCode: %s, errorText:%s" % (result.errorcode,
-                                                  result.errortext)
-        respname = responseName.replace("response", "")
-        raise cloudstackException.cloudstackAPIException(respname, errMsg)
-
-    if result.count is not None:
-        for key in result.__dict__.iterkeys():
-            if key == "count":
-                continue
-            else:
-                return getattr(result, key)
-    else:
-        return finalizeResultObj(result, responseName, responsecls)
-
-if __name__ == "__main__":
-
-    result = '''{ "listnetworkserviceprovidersresponse" : { "count" : 1,
-      "networkserviceprovider" : [ { "destinationphysicalnetworkid" : "0",
-            "id" : "d827cae4-4998-4037-95a2-55b92b6318b1",
-            "name" : "VirtualRouter",
-            "physicalnetworkid" : "ad2948fc-1054-46c7-b1c7-61d990b86710",
-            "servicelist" : [ "Vpn",
-                "Dhcp",
-                "Dns",
-                "Gateway",
-                "Firewall",
-                "Lb",
-                "SourceNat",
-                "StaticNat",
-                "PortForwarding",
-                "UserData"
-              ],
-            "state" : "Disabled"
-          } ]
-    } }'''
-    nsp = getResultObj(result)
-    print nsp[0].id
-
-    result = '''{ "listzonesresponse" : {
-    "count" : 1,
-    "zone" : [ { "allocationstate" : "Enabled",
-            "dhcpprovider" : "DhcpServer",
-            "dns1" : "8.8.8.8",
-            "dns2" : "8.8.4.4",
-            "id" : 1,
-            "internaldns1" : "192.168.110.254",
-            "internaldns2" : "192.168.110.253",
-            "name" : "test0",
-            "networktype" : "Basic",
-            "securitygroupsenabled" : true,
-            "zonetoken" : "5e818a11-6b00-3429-9a07-e27511d3169a"
-        } ]
-    }
-}'''
-    zones = getResultObj(result)
-    print zones[0].id
-    res = authorizeSecurityGroupIngress.authorizeSecurityGroupIngressResponse()
-    result = '''{
-    "queryasyncjobresultresponse" : {
-        "jobid" : 10,
-        "jobprocstatus" : 0,
-        "jobresult" : {
-            "securitygroup" : {
-                "account" : "admin",
-                "description" : "Default Security Group",
-                "domain" : "ROOT",
-                "domainid" : 1,
-                "id" : 1,
-                "ingressrule" : [ { "account" : "a",
-                    "endport" : 22,
-                    "protocol" : "tcp",
-                    "ruleid" : 1,
-                    "securitygroupname" : "default",
-                    "startport" : 22
-                  },
-                  { "account" : "b",
-                    "endport" : 22,
-                    "protocol" : "tcp",
-                    "ruleid" : 2,
-                    "securitygroupname" : "default",
-                    "startport" : 22
-                  }
-                ],
-              "name" : "default"
-            }
-        },
-        "jobresultcode" : 0,
-        "jobresulttype" : "object",
-        "jobstatus" : 1
-    }
-}'''
-    asynJob = getResultObj(result, res)
-    print asynJob.jobid, repr(asynJob.jobresult)
-    print asynJob.jobresult.ingressrule[0].account
-
-    result = '''{
-    "queryasyncjobresultresponse" : {
-        "errorcode" : 431,
-        "errortext" :
-"Unable to execute API command queryasyncjobresultresponse \
-due to missing parameter jobid"
-    }
-}'''
-    try:
-        asynJob = getResultObj(result)
-    except cloudstackException.cloudstackAPIException, e:
-        print e
-
-    result = '{ "queryasyncjobresultresponse" : {}  }'
-    asynJob = getResultObj(result)
-    print asynJob
-
-    result = '{}'
-    asynJob = getResultObj(result)
-    print asynJob
-
-    result = '''{
-    "createzoneresponse" : {
-        "zone" : {
-            "id":1,"name":"test0","dns1":"8.8.8.8","dns2":"8.8.4.4",
-            "internaldns1":"192.168.110.254","internaldns2":"192.168.110.253",
-            "networktype":"Basic","securitygroupsenabled":true,
-            "allocationstate":"Enabled",
-            "zonetoken":"3442f287-e932-3111-960b-514d1f9c4610",
-            "dhcpprovider":"DhcpServer"
-        }
-    }
-}'''
-    res = createZone.createZoneResponse()
-    zone = getResultObj(result, res)
-    print zone.id
-
-    result = '{ "attachvolumeresponse" : {"jobid":24} }'
-    res = attachVolume.attachVolumeResponse()
-    res = getResultObj(result, res)
-    print res
-
-    result = '{ "listtemplatesresponse" : { } }'
-    print getResultObj(result, listTemplates.listTemplatesResponse())
-
-    result = '''{
-    "queryasyncjobresultresponse" : {
-        "jobid":34,"jobstatus":2,"jobprocstatus":0,"jobresultcode":530,
-        "jobresulttype":"object","jobresult":{
-            "errorcode":431,
-            "errortext":
-"Please provide either a volume id, or a tuple(device id, instance id)"
-        }
-    }
-}'''
-    print getResultObj(result, listTemplates.listTemplatesResponse())
-    result = '''{
-    "queryasyncjobresultresponse" : {
-        "jobid":41,"jobstatus":1,"jobprocstatus":0,
-        "jobresultcode":0,"jobresulttype":"object","jobresult":{
-            "virtualmachine":{
-                "id":37,"name":"i-2-37-TEST",
-                "displayname":"i-2-37-TEST","account":"admin",
-                "domainid":1,"domain":"ROOT",
-                "created":"2011-08-25T11:13:42-0700",
-                "state":"Running","haenable":false,"zoneid":1,
-                "zonename":"test0","hostid":5,
-                "hostname":
-                    "SimulatedAgent.1e629060-f547-40dd-b792-57cdc4b7d611",
-                "templateid":10,
-                "templatename":"CentOS 5.3(64-bit) no GUI (Simulator)",
-                "templatedisplaytext":
-                    "CentOS 5.3(64-bit) no GUI (Simulator)",
-                "passwordenabled":false,"serviceofferingid":7,
-                "serviceofferingname":"Small Instance","cpunumber":1,
-                "cpuspeed":500,"memory":512,"guestosid":11,
-                "rootdeviceid":0,"rootdevicetype":"NetworkFilesystem",
-                "securitygroup":[{"id":1,"name":"default",
-                    "description":"Default Security Group"}],
-                "nic":[{"id":43,"networkid":204,
-                    "netmask":"255.255.255.0","gateway":"192.168.1.1",
-                    "ipaddress":"192.168.1.27",
-                    "isolationuri":"ec2://untagged",
-                    "broadcasturi":"vlan://untagged",
-                    "traffictype":"Guest","type":"Direct",
-                    "isdefault":true,"macaddress":"06:56:b8:00:00:53"}],
-                "hypervisor":"Simulator"
-            }
-        }
-    }
-}'''
-
-    result = '''{
-    "queryasyncjobresultresponse" : {
-        "accountid":"30910093-22e4-4d3c-a464-8b36b60c8001",
-        "userid":"cb0aeca3-42ee-47c4-838a-2cd9053441f2",
-        "cmd":"com.cloud.api.commands.DeployVMCmd","jobstatus":1,
-        "jobprocstatus":0,"jobresultcode":0,"jobresulttype":"object",
-        "jobresult":{
-            "virtualmachine":{
-                "id":"d2e4d724-e089-4e59-be8e-647674059016",
-                "name":"i-2-14-TEST","displayname":"i-2-14-TEST",
-                "account":"admin",
-                "domainid":"8cfafe79-81eb-445e-8608-c5b7c31fc3a5",
-                "domain":"ROOT","created":"2012-01-15T18:30:11+0530",
-                "state":"Running","haenable":false,
-                "zoneid":"30a397e2-1c85-40c0-8463-70278952b046",
-                "zonename":"Sandbox-simulator",
-                "hostid":"cc0105aa-a2a9-427a-8ad7-4d835483b8a9",
-                "hostname":
-                    "SimulatedAgent.9fee20cc-95ca-48b1-8268-5513d6e83a1b",
-                "templateid":"d92570fa-bf40-44db-9dff-45cc7042604d",
-                "templatename":"CentOS 5.3(64-bit) no GUI (Simulator)",
-                "templatedisplaytext":"CentOS 5.3(64-bit) no GUI (Simulator)",
-                "passwordenabled":false,
-                "serviceofferingid":"3734d632-797b-4f1d-ac62-33f9cf70d005",
-                "serviceofferingname":"Sample SO","cpunumber":1,"cpuspeed":100,
-                "memory":128,
-                "guestosid":"1e36f523-23e5-4e90-869b-a1b5e9ba674d",
-                "rootdeviceid":0,"rootdevicetype":"NetworkFilesystem",
-                "nic":[{"id":"4d3ab903-f511-4dab-8a6d-c2a3b51de7e0",
-                    "networkid":"faeb7f24-a4b9-447d-bec6-c4956c4ab0f6",
-                    "netmask":"255.255.240.0","gateway":"10.6.240.1",'
-                    "ipaddress":"10.6.253.89","isolationuri":"vlan://211",
-                    "broadcasturi":"vlan://211","traffictype":"Guest",
-                    "type":"Isolated","isdefault":true,
-                    "macaddress":"02:00:04:74:00:09"}],
-                "hypervisor":"Simulator"
-            }
-        },
-        "created":"2012-01-15T18:30:11+0530",
-        "jobid":"f4a13f28-fcd6-4d7f-b9cd-ba7eb5a5701f"
-    }
-}'''
-    vm = getResultObj(result,
-                      deployVirtualMachine.deployVirtualMachineResponse())
-    print vm.jobresult.id
-
-    cmd = deployVirtualMachine.deployVirtualMachineCmd()
-    responsename = cmd.__class__.__name__.replace("Cmd", "Response")
-    response = getclassFromName(cmd, responsename)
-    print response.id

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/marvinPlugin.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/marvinPlugin.py b/tools/marvin/build/lib/marvin/marvinPlugin.py
deleted file mode 100644
index aded17c..0000000
--- a/tools/marvin/build/lib/marvin/marvinPlugin.py
+++ /dev/null
@@ -1,144 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import marvin
-import sys
-import logging
-import nose.core
-from marvin.cloudstackTestCase import cloudstackTestCase
-from marvin import deployDataCenter
-from nose.plugins.base import Plugin
-
-
-class MarvinPlugin(Plugin):
-    """
-    Custom plugin for the cloudstackTestCases to be run using nose
-    """
-
-    name = "marvin"
-
-    def configure(self, options, config):
-        if hasattr(options, self.enableOpt):
-            if not getattr(options, self.enableOpt):
-                self.enabled = False
-                return
-            else:
-                self.enabled = True
-
-        self.logformat = logging.Formatter("%(asctime)s - %(levelname)s - " +
-                                           "%(name)s - %(message)s")
-
-        if options.debug_log:
-            self.logger = logging.getLogger("NoseTestExecuteEngine")
-            self.debug_stream = logging.FileHandler(options.debug_log)
-            self.debug_stream.setFormatter(self.logformat)
-            self.logger.addHandler(self.debug_stream)
-            self.logger.setLevel(logging.DEBUG)
-
-        if options.result_log:
-            ch = logging.StreamHandler()
-            ch.setLevel(logging.ERROR)
-            ch.setFormatter(self.logformat)
-            self.logger.addHandler(ch)
-            self.result_stream = open(options.result_log, "w")
-        else:
-            self.result_stream = sys.stdout
-
-        deploy = deployDataCenter.deployDataCenters(options.config)
-        deploy.loadCfg() if options.load else deploy.deploy()
-        self.setClient(deploy.testClient)
-        self.setConfig(deploy.getCfg())
-
-        self.testrunner = nose.core.TextTestRunner(stream=self.result_stream,
-                                                   descriptions=True,
-                                                   verbosity=2, config=config)
-
-    def options(self, parser, env):
-        """
-        Register command line options
-        """
-        parser.add_option("--marvin-config", action="store",
-                          default=env.get('MARVIN_CONFIG', './datacenter.cfg'),
-                          dest="config",
-                          help="Marvin's configuration file where the " +
-                               "datacenter information is specified " +
-                               "[MARVIN_CONFIG]")
-        parser.add_option("--result-log", action="store",
-                          default=env.get('RESULT_LOG', None),
-                          dest="result_log",
-                          help="The path to the results file where test " +
-                               "summary will be written to [RESULT_LOG]")
-        parser.add_option("--client-log", action="store",
-                          default=env.get('DEBUG_LOG', 'debug.log'),
-                          dest="debug_log",
-                          help="The path to the testcase debug logs " +
-                          "[DEBUG_LOG]")
-        parser.add_option("--load", action="store_true", default=False,
-                          dest="load",
-                          help="Only load the deployment configuration given")
-
-        Plugin.options(self, parser, env)
-
-    def __init__(self):
-        self.identifier = None
-        Plugin.__init__(self)
-
-    def prepareTestRunner(self, runner):
-        return self.testrunner
-
-    def wantClass(self, cls):
-        if cls.__name__ == 'cloudstackTestCase':
-            return False
-        if issubclass(cls, cloudstackTestCase):
-            return True
-        return None
-
-    def loadTestsFromTestCase(self, cls):
-        if cls.__name__ != 'cloudstackTestCase':
-            self.identifier = cls.__name__
-            self._injectClients(cls)
-
-    def setClient(self, client):
-        if client is not None:
-            self.testclient = client
-
-    def setConfig(self, config):
-        if config is not None:
-            self.config = config
-
-    def beforeTest(self, test):
-        testname = test.__str__().split()[0]
-        self.testclient.identifier = '-'.join([self.identifier, testname])
-        self.logger.name = test.__str__()
-
-    def _injectClients(self, test):
-        self.debug_stream. \
-            setFormatter(logging.
-                         Formatter("%(asctime)s - %(levelname)s - %(name)s" +
-                                   " - %(message)s"))
-        setattr(test, "debug", self.logger.debug)
-        setattr(test, "info", self.logger.info)
-        setattr(test, "warn", self.logger.warning)
-        setattr(test, "testClient", self.testclient)
-        setattr(test, "config", self.config)
-        if self.testclient.identifier is None:
-            self.testclient.identifier = self.identifier
-        setattr(test, "clstestclient", self.testclient)
-        if hasattr(test, "user"):
-            # when the class-level attr applied. all test runs as 'user'
-            self.testclient.createUserApiClient(test.UserName, test.DomainName,
-                                                test.AcctType)

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/remoteSSHClient.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/remoteSSHClient.py b/tools/marvin/build/lib/marvin/remoteSSHClient.py
deleted file mode 100644
index fea9b12..0000000
--- a/tools/marvin/build/lib/marvin/remoteSSHClient.py
+++ /dev/null
@@ -1,108 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import paramiko
-import time
-import cloudstackException
-import contextlib
-import logging
-from contextlib import closing
-
-
-class remoteSSHClient(object):
-    def __init__(self, host, port, user, passwd, retries=10, delay=30,
-                 log_lvl=logging.INFO, keyPairFileLocation=None):
-        self.host = host
-        self.port = port
-        self.user = user
-        self.passwd = passwd
-        self.keyPairFile = keyPairFileLocation
-        self.ssh = paramiko.SSHClient()
-        self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
-        self.logger = logging.getLogger('sshClient')
-        ch = logging.StreamHandler()
-        ch.setLevel(log_lvl)
-        self.logger.addHandler(ch)
-
-        retry_count = retries
-        while retry_count >= 0:
-            try:
-                if keyPairFileLocation is None:
-                    self.ssh.connect(str(host), int(port), user, passwd)
-                    self.logger.debug("SSH connect: %s@%s with passwd %s" %
-                                      (user, str(host), passwd))
-                else:
-                    self.ssh.connect(hostname=str(host),
-                                     port=int(port),
-                                     username=str(user),
-                                     key_filename=str(keyPairFileLocation),
-                                     look_for_keys=False
-                                     )
-                    self.logger.debug(
-                        "connecting to server %s with user %s key %s" %
-                        (str(host), user, keyPairFileLocation))
-                    self.logger.debug("SSH connect: %s@%s with passwd %s" %
-                                      (user, str(host), passwd))
-            #except paramiko.AuthenticationException, authEx:
-            #    raise cloudstackException. \
-            #        InvalidParameterException("Invalid credentials to "
-            #                                  + "login to %s on port %s" %
-            #                                  (str(host), port))
-            except Exception as se:
-                if retry_count == 0:
-                    raise cloudstackException. \
-                        InvalidParameterException(repr(se))
-            else:
-                return
-
-            retry_count = retry_count - 1
-            time.sleep(delay)
-
-    def execute(self, command):
-        stdin, stdout, stderr = self.ssh.exec_command(command)
-        output = stdout.readlines()
-        errors = stderr.readlines()
-        results = []
-        if output is not None and len(output) == 0:
-            if errors is not None and len(errors) > 0:
-                for error in errors:
-                    results.append(error.rstrip())
-
-        else:
-            for strOut in output:
-                results.append(strOut.rstrip())
-        self.logger.debug("{Cmd: %s via Host: %s} {returns: %s}" %
-                          (command, str(self.host), results))
-        return results
-
-    def scp(self, srcFile, destPath):
-        transport = paramiko.Transport((self.host, int(self.port)))
-        transport.connect(username=self.user, password=self.passwd)
-        sftp = paramiko.SFTPClient.from_transport(transport)
-        try:
-            sftp.put(srcFile, destPath)
-        except IOError, e:
-            raise e
-
-    def close(self):
-        self.ssh.close()
-
-
-if __name__ == "__main__":
-    with contextlib.closing(remoteSSHClient("10.223.75.10", 22, "root",
-                                            "password")) as ssh:
-        print ssh.execute("ls -l")

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/sandbox/__init__.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/sandbox/__init__.py b/tools/marvin/build/lib/marvin/sandbox/__init__.py
deleted file mode 100644
index 57823fc..0000000
--- a/tools/marvin/build/lib/marvin/sandbox/__init__.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/sandbox/advanced/__init__.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/sandbox/advanced/__init__.py b/tools/marvin/build/lib/marvin/sandbox/advanced/__init__.py
deleted file mode 100644
index 57823fc..0000000
--- a/tools/marvin/build/lib/marvin/sandbox/advanced/__init__.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/sandbox/advanced/advanced_env.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/sandbox/advanced/advanced_env.py b/tools/marvin/build/lib/marvin/sandbox/advanced/advanced_env.py
deleted file mode 100644
index 1728e61..0000000
--- a/tools/marvin/build/lib/marvin/sandbox/advanced/advanced_env.py
+++ /dev/null
@@ -1,167 +0,0 @@
-#!/usr/bin/env python
-# 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.
-'''
-############################################################
-# Experimental state of scripts 
-#    * Need to be reviewed
-#    * Only a sandbox
-############################################################
-'''
-import random
-import marvin
-from ConfigParser import SafeConfigParser
-from optparse import OptionParser
-from marvin.configGenerator import *
-
-
-def getGlobalSettings(config):
-   for k, v in dict(config.items('globals')).iteritems():
-        cfg = configuration()
-        cfg.name = k
-        cfg.value = v
-        yield cfg
-
-
-def describeResources(config):
-    zs = cloudstackConfiguration()
-
-    z = zone()
-    z.dns1 = config.get('environment', 'dns')
-    z.internaldns1 = config.get('environment', 'dns')
-    z.name = 'Sandbox-%s'%(config.get('cloudstack', 'hypervisor'))
-    z.networktype = 'Advanced'
-    z.guestcidraddress = '10.1.1.0/24'
-    z.securitygroupenabled = 'false'
-    
-    vpcprovider = provider()
-    vpcprovider.name = 'VpcVirtualRouter'
-
-    lbprovider = provider()
-    lbprovider.name = 'InternalLbVm'
-    
-    pn = physical_network()
-    pn.name = "Sandbox-pnet"
-    pn.vlan = config.get('cloudstack', 'pnet.vlan')
-    pn.tags = ["cloud-simulator-public"]
-    pn.traffictypes = [traffictype("Guest"),
-            traffictype("Management", {"simulator" : "cloud-simulator-mgmt"}),
-            traffictype("Public", {"simulator":"cloud-simulator-public"})]
-    pn.isolationmethods = ["VLAN"]
-    pn.providers.append(vpcprovider)
-    pn.providers.append(lbprovider)
-
-    pn2 = physical_network()
-    pn2.name = "Sandbox-pnet2"
-    pn2.vlan = config.get('cloudstack', 'pnet2.vlan')
-    pn2.tags = ["cloud-simulator-guest"]
-    pn2.traffictypes = [traffictype('Guest', {'simulator': 'cloud-simulator-guest'})]
-    pn2.isolationmethods = ["VLAN"]
-    pn2.providers.append(vpcprovider)
-    pn2.providers.append(lbprovider)
-    
-    z.physical_networks.append(pn)
-    z.physical_networks.append(pn2)
-
-    p = pod()
-    p.name = 'POD0'
-    p.gateway = config.get('cloudstack', 'private.gateway')
-    p.startip =  config.get('cloudstack', 'private.pod.startip')
-    p.endip =  config.get('cloudstack', 'private.pod.endip')
-    p.netmask = config.get('cloudstack', 'private.netmask')
-
-    v = iprange()
-    v.gateway = config.get('cloudstack', 'public.gateway')
-    v.startip = config.get('cloudstack', 'public.vlan.startip')
-    v.endip = config.get('cloudstack', 'public.vlan.endip') 
-    v.netmask = config.get('cloudstack', 'public.netmask')
-    v.vlan = config.get('cloudstack', 'public.vlan')
-    z.ipranges.append(v)
-
-    c = cluster()
-    c.clustername = 'C0'
-    c.hypervisor = config.get('cloudstack', 'hypervisor')
-    c.clustertype = 'CloudManaged'
-
-    h = host()
-    h.username = 'root'
-    h.password = config.get('cloudstack', 'host.password')
-    h.url = 'http://%s'%(config.get('cloudstack', 'host'))
-    c.hosts.append(h)
-
-    ps = primaryStorage()
-    ps.name = 'PS0'
-    ps.url = config.get('cloudstack', 'primary.pool')
-    c.primaryStorages.append(ps)
-
-    p.clusters.append(c)
-    z.pods.append(p)
-
-    secondary = secondaryStorage()
-    secondary.url = config.get('cloudstack', 'secondary.pool')
-    secondary.provider = "NFS"
-    z.secondaryStorages.append(secondary)
-
-    '''Add zone'''
-    zs.zones.append(z)
-
-    '''Add mgt server'''
-    mgt = managementServer()
-    mgt.mgtSvrIp = config.get('environment', 'mshost')
-    mgt.user = config.get('environment', 'mshost.user')
-    mgt.passwd = config.get('environment', 'mshost.passwd')
-    zs.mgtSvr.append(mgt)
-
-    '''Add a database'''
-    db = dbServer()
-    db.dbSvr = config.get('environment', 'mysql.host')
-    db.user = config.get('environment', 'mysql.cloud.user')
-    db.passwd = config.get('environment', 'mysql.cloud.passwd')
-    zs.dbSvr = db
-
-    '''Add some configuration'''
-    [zs.globalConfig.append(cfg) for cfg in getGlobalSettings(config)]
-
-    ''''add loggers'''
-    testClientLogger = logger()
-    testClientLogger.name = 'TestClient'
-    testClientLogger.file = 'testclient.log'
-
-    testCaseLogger = logger()
-    testCaseLogger.name = 'TestCase'
-    testCaseLogger.file = 'testcase.log'
-
-    zs.logger.append(testClientLogger)
-    zs.logger.append(testCaseLogger)
-    return zs
-
-
-if __name__ == '__main__':
-    parser = OptionParser()
-    parser.add_option('-i', '--input', action='store', default='setup.properties', \
-                      dest='input', help='file containing environment setup information')
-    parser.add_option('-o', '--output', action='store', default='./sandbox.cfg', \
-                      dest='output', help='path where environment json will be generated')
-
-
-    (opts, args) = parser.parse_args()
-
-    cfg_parser = SafeConfigParser()
-    cfg_parser.read(opts.input)
-
-    cfg = describeResources(cfg_parser)
-    generate_setup_config(cfg, opts.output)

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/sandbox/advancedsg/__init__.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/sandbox/advancedsg/__init__.py b/tools/marvin/build/lib/marvin/sandbox/advancedsg/__init__.py
deleted file mode 100644
index 57823fc..0000000
--- a/tools/marvin/build/lib/marvin/sandbox/advancedsg/__init__.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/sandbox/advancedsg/advancedsg_env.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/sandbox/advancedsg/advancedsg_env.py b/tools/marvin/build/lib/marvin/sandbox/advancedsg/advancedsg_env.py
deleted file mode 100644
index 9cf4a0a..0000000
--- a/tools/marvin/build/lib/marvin/sandbox/advancedsg/advancedsg_env.py
+++ /dev/null
@@ -1,151 +0,0 @@
-#!/usr/bin/env python
-# 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.
-'''
-############################################################
-# Experimental state of scripts 
-#    * Need to be reviewed
-#    * Only a sandbox
-############################################################
-'''
-import random
-import marvin
-from ConfigParser import SafeConfigParser
-from optparse import OptionParser
-from marvin.configGenerator import *
-
-
-def getGlobalSettings(config):
-   for k, v in dict(config.items('globals')).iteritems():
-        cfg = configuration()
-        cfg.name = k
-        cfg.value = v
-        yield cfg
-
-
-def describeResources(config):
-    zs = cloudstackConfiguration()
-
-    z = zone()
-    z.dns1 = config.get('environment', 'dns')
-    z.internaldns1 = config.get('environment', 'dns')
-    z.name = 'Sandbox-%s'%(config.get('cloudstack', 'hypervisor'))
-    z.networktype = 'Advanced'
-    z.securitygroupenabled = 'true'
-    
-    sgprovider = provider()
-    sgprovider.broadcastdomainrange = 'ZONE'
-    sgprovider.name = 'SecurityGroupProvider'
-    
-    pn = physical_network()
-    pn.name = "Sandbox-pnet"
-    pn.tags = ["cloud-simulator-pnet"]
-    pn.traffictypes = [traffictype("Guest"),
-                       traffictype("Management", {"simulator" : "cloud-simulator-mgmt"})]
-    pn.isolationmethods = ["VLAN"]
-    pn.providers.append(sgprovider)
-
-    z.physical_networks.append(pn)
-
-    p = pod()
-    p.name = 'POD0'
-    p.gateway = config.get('cloudstack', 'private.gateway')
-    p.startip =  config.get('cloudstack', 'private.pod.startip')
-    p.endip =  config.get('cloudstack', 'private.pod.endip')
-    p.netmask = config.get('cloudstack', 'private.netmask')
-
-    v = iprange()
-    v.gateway = config.get('cloudstack', 'guest.gateway')
-    v.startip = config.get('cloudstack', 'guest.vlan.startip')
-    v.endip = config.get('cloudstack', 'guest.vlan.endip') 
-    v.netmask = config.get('cloudstack', 'guest.netmask')
-    v.vlan = config.get('cloudstack', 'guest.vlan')
-    z.ipranges.append(v)
-
-    c = cluster()
-    c.clustername = 'C0'
-    c.hypervisor = config.get('cloudstack', 'hypervisor')
-    c.clustertype = 'CloudManaged'
-
-    h = host()
-    h.username = 'root'
-    h.password = config.get('cloudstack', 'host.password')
-    h.url = 'http://%s'%(config.get('cloudstack', 'host'))
-    c.hosts.append(h)
-
-    ps = primaryStorage()
-    ps.name = 'PS0'
-    ps.url = config.get('cloudstack', 'primary.pool')
-    c.primaryStorages.append(ps)
-
-    p.clusters.append(c)
-    z.pods.append(p)
-
-    secondary = secondaryStorage()
-    secondary.url = config.get('cloudstack', 'secondary.pool')
-    secondary.provider = "NFS"
-    z.secondaryStorages.append(secondary)
-
-    '''Add zone'''
-    zs.zones.append(z)
-
-    '''Add mgt server'''
-    mgt = managementServer()
-    mgt.mgtSvrIp = config.get('environment', 'mshost')
-    mgt.user = config.get('environment', 'mshost.user')
-    mgt.passwd = config.get('environment', 'mshost.passwd')
-    zs.mgtSvr.append(mgt)
-
-    '''Add a database'''
-    db = dbServer()
-    db.dbSvr = config.get('environment', 'mysql.host')
-    db.user = config.get('environment', 'mysql.cloud.user')
-    db.passwd = config.get('environment', 'mysql.cloud.passwd')
-    zs.dbSvr = db
-
-    '''Add some configuration'''
-    [zs.globalConfig.append(cfg) for cfg in getGlobalSettings(config)]
-
-    ''''add loggers'''
-    testClientLogger = logger()
-    testClientLogger.name = 'TestClient'
-    testClientLogger.file = 'testclient.log'
-
-    testCaseLogger = logger()
-    testCaseLogger.name = 'TestCase'
-    testCaseLogger.file = 'testcase.log'
-
-    zs.logger.append(testClientLogger)
-    zs.logger.append(testCaseLogger)
-    return zs
-
-
-if __name__ == '__main__':
-    parser = OptionParser()
-    parser.add_option('-i', '--input', action='store', default='setup.properties', \
-                      dest='input', help='file containing environment setup information')
-    parser.add_option('-o', '--output', action='store', default='./sandbox.cfg', \
-                      dest='output', help='path where environment json will be generated')
-
-
-    (opts, args) = parser.parse_args()
-
-    cfg_parser = SafeConfigParser()
-    cfg_parser.read(opts.input)
-
-    cfg = describeResources(cfg_parser)
-    generate_setup_config(cfg, opts.output)

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/sandbox/basic/__init__.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/sandbox/basic/__init__.py b/tools/marvin/build/lib/marvin/sandbox/basic/__init__.py
deleted file mode 100644
index 57823fc..0000000
--- a/tools/marvin/build/lib/marvin/sandbox/basic/__init__.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/sandbox/basic/basic_env.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/sandbox/basic/basic_env.py b/tools/marvin/build/lib/marvin/sandbox/basic/basic_env.py
deleted file mode 100644
index bf106fc..0000000
--- a/tools/marvin/build/lib/marvin/sandbox/basic/basic_env.py
+++ /dev/null
@@ -1,149 +0,0 @@
-#!/usr/bin/env python
-# 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.
-
-'''
-############################################################
-# Experimental state of scripts 
-#    * Need to be reviewed
-#    * Only a sandbox
-############################################################
-'''
-import random
-import marvin
-from ConfigParser import SafeConfigParser
-from optparse import OptionParser
-from marvin.configGenerator import *
-
-
-def getGlobalSettings(config):
-   for k, v in dict(config.items('globals')).iteritems():
-        cfg = configuration()
-        cfg.name = k
-        cfg.value = v
-        yield cfg
-
-
-def describeResources(config):
-    zs = cloudstackConfiguration()
-
-    z = zone()
-    z.dns1 = config.get('environment', 'dns')
-    z.internaldns1 = config.get('environment', 'dns')
-    z.name = 'Sandbox-%s'%(config.get('cloudstack', 'hypervisor'))
-    z.networktype = 'Basic'
-    z.securitygroupenabled = 'true'
-    
-    sgprovider = provider()
-    sgprovider.broadcastdomainrange = 'Pod'
-    sgprovider.name = 'SecurityGroupProvider'
-    
-    pn = physical_network()
-    pn.name = "Sandbox-pnet"
-    pn.traffictypes = [traffictype("Guest"), traffictype("Management")]
-    pn.isolationmethods = ["L3"]
-    pn.providers.append(sgprovider)
-    
-    z.physical_networks.append(pn)
-
-    p = pod()
-    p.name = 'POD0'
-    p.gateway = config.get('cloudstack', 'private.gateway')
-    p.startip =  config.get('cloudstack', 'private.pod.startip')
-    p.endip =  config.get('cloudstack', 'private.pod.endip')
-    p.netmask = config.get('cloudstack', 'private.netmask')
-
-    v = iprange()
-    v.gateway = config.get('cloudstack', 'public.gateway')
-    v.startip = config.get('cloudstack', 'public.vlan.startip')
-    v.endip = config.get('cloudstack', 'public.vlan.endip') 
-    v.netmask = config.get('cloudstack', 'public.netmask')
-    p.guestIpRanges.append(v)
-
-    c = cluster()
-    c.clustername = 'C0'
-    c.hypervisor = config.get('cloudstack', 'hypervisor')
-    c.clustertype = 'CloudManaged'
-
-    h = host()
-    h.username = 'root'
-    h.password = config.get('cloudstack', 'host.password')
-    h.url = 'http://%s'%(config.get('cloudstack', 'host'))
-    c.hosts.append(h)
-
-    ps = primaryStorage()
-    ps.name = 'PS0'
-    ps.url = config.get('cloudstack', 'primary.pool')
-    c.primaryStorages.append(ps)
-
-    p.clusters.append(c)
-    z.pods.append(p)
-
-    secondary = secondaryStorage()
-    secondary.url = config.get('cloudstack', 'secondary.pool')
-    secondary.provider = "NFS"
-    z.secondaryStorages.append(secondary)
-
-    '''Add zone'''
-    zs.zones.append(z)
-
-    '''Add mgt server'''
-    mgt = managementServer()
-    mgt.mgtSvrIp = config.get('environment', 'mshost')
-    mgt.user = config.get('environment', 'mshost.user')
-    mgt.passwd = config.get('environment', 'mshost.passwd')
-    zs.mgtSvr.append(mgt)
-
-    '''Add a database'''
-    db = dbServer()
-    db.dbSvr = config.get('environment', 'mysql.host')
-    db.user = config.get('environment', 'mysql.cloud.user')
-    db.passwd = config.get('environment', 'mysql.cloud.passwd')
-    zs.dbSvr = db
-
-    '''Add some configuration'''
-    [zs.globalConfig.append(cfg) for cfg in getGlobalSettings(config)]
-
-    ''''add loggers'''
-    testClientLogger = logger()
-    testClientLogger.name = 'TestClient'
-    testClientLogger.file = '/var/log/testclient.log'
-
-    testCaseLogger = logger()
-    testCaseLogger.name = 'TestCase'
-    testCaseLogger.file = '/var/log/testcase.log'
-
-    zs.logger.append(testClientLogger)
-    zs.logger.append(testCaseLogger)
-    return zs
-
-
-if __name__ == '__main__':
-    parser = OptionParser()
-    parser.add_option('-i', '--input', action='store', default='setup.properties', \
-                      dest='input', help='file containing environment setup information')
-    parser.add_option('-o', '--output', action='store', default='./sandbox.cfg', \
-                      dest='output', help='path where environment json will be generated')
-
-
-    (opts, args) = parser.parse_args()
-
-    cfg_parser = SafeConfigParser()
-    cfg_parser.read(opts.input)
-
-    cfg = describeResources(cfg_parser)
-    generate_setup_config(cfg, opts.output)

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/sandbox/testSetupSuccess.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/sandbox/testSetupSuccess.py b/tools/marvin/build/lib/marvin/sandbox/testSetupSuccess.py
deleted file mode 100644
index 8a0034c..0000000
--- a/tools/marvin/build/lib/marvin/sandbox/testSetupSuccess.py
+++ /dev/null
@@ -1,81 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import marvin
-import unittest
-from marvin.cloudstackTestCase import *
-from marvin.cloudstackAPI import *
-from time import sleep as delay
-
-class TestSetupSuccess(cloudstackTestCase):
-    """
-    Test to verify if the cloudstack is ready to launch tests upon
-    1. Verify that system VMs are up and running in all zones
-    2. Verify that built-in templates are Ready in all zones
-    """
-    @classmethod
-    def setUpClass(cls):
-        cls.apiClient = super(TestSetupSuccess, cls).getClsTestClient().getApiClient()
-        
-        zones = listZones.listZonesCmd()
-        cls.zones_list = cls.apiClient.listZones(zones)
-        cls.retry = 50
-        
-    def test_systemVmReady(self):
-        """
-        system VMs need to be ready and Running for each zone in cloudstack
-        """
-        for z in self.zones_list:
-            retry = self.retry
-            while retry != 0:
-                self.debug("looking for system VMs in zone: %s, %s"%(z.id, z.name))
-                sysvms = listSystemVms.listSystemVmsCmd()
-                sysvms.zoneid = z.id
-                sysvms.state = 'Running'
-                sysvms_list = self.apiClient.listSystemVms(sysvms)
-                if sysvms_list is not None and len(sysvms_list) == 2:
-                    assert len(sysvms_list) == 2
-                    self.debug("found %d system VMs running {%s}"%(len(sysvms_list), sysvms_list))
-                    break
-                retry = retry - 1
-                delay(60) #wait a minute for retry
-            self.assertNotEqual(retry, 0, "system VMs not Running in zone %s"%z.name)
-    
-    def test_templateBuiltInReady(self):
-        """
-        built-in templates CentOS to be ready
-        """
-        for z in self.zones_list:
-            retry = self.retry
-            while retry != 0:
-                self.debug("Looking for at least one ready builtin template")
-                templates = listTemplates.listTemplatesCmd()
-                templates.templatefilter = 'featured'
-                templates.listall = 'true'
-                templates_list = self.apiClient.listTemplates(templates)
-                if templates_list is not None:
-                    builtins = [tmpl for tmpl in templates_list if tmpl.templatetype == 'BUILTIN' and tmpl.isready == True]
-                    if len(builtins) > 0:
-                        self.debug("Found %d builtins ready for use %s"%(len(builtins), builtins))
-                        break
-                retry = retry - 1
-                delay(60) #wait a minute for retry
-            self.assertNotEqual(retry, 0, "builtIn templates not ready in zone %s"%z.name)
-            
-    @classmethod
-    def tearDownClass(cls):
-        pass


[16/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listIsos.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listIsos.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listIsos.py
deleted file mode 100644
index 9394c05..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listIsos.py
+++ /dev/null
@@ -1,162 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all available ISO files."""
-from baseCmd import *
-from baseResponse import *
-class listIsosCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list resources by account. Must be used with the domainId parameter."""
-        self.account = None
-        """true if the ISO is bootable, false otherwise"""
-        self.bootable = None
-        """list only resources belonging to the domain specified"""
-        self.domainid = None
-        """the hypervisor for which to restrict the search"""
-        self.hypervisor = None
-        """list ISO by id"""
-        self.id = None
-        """possible values are "featured", "self", "selfexecutable","sharedexecutable","executable", and "community". * featured : templates that have been marked as featured and public. * self : templates that have been registered or created by the calling user. * selfexecutable : same as self, but only returns templates that can be used to deploy a new VM. * sharedexecutable : templates ready to be deployed that have been granted to the calling user by another user. * executable : templates that are owned by the calling user, or public templates, that can be used to deploy a VM. * community : templates that have been marked as public but not featured. * all : all templates (only usable by admins)."""
-        self.isofilter = None
-        """true if the ISO is publicly available to all users, false otherwise."""
-        self.ispublic = None
-        """true if this ISO is ready to be deployed"""
-        self.isready = 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 all isos by name"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list objects by project"""
-        self.projectid = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        """the ID of the zone"""
-        self.zoneid = None
-        self.required = []
-
-class listIsosResponse (baseResponse):
-    def __init__(self):
-        """the template ID"""
-        self.id = None
-        """the account name to which the template belongs"""
-        self.account = None
-        """the account id to which the template belongs"""
-        self.accountid = None
-        """true if the ISO is bootable, false otherwise"""
-        self.bootable = None
-        """checksum of the template"""
-        self.checksum = None
-        """the date this template was created"""
-        self.created = None
-        """true if the template is managed across all Zones, false otherwise"""
-        self.crossZones = None
-        """additional key/value details tied with template"""
-        self.details = None
-        """the template display text"""
-        self.displaytext = None
-        """the name of the domain to which the template belongs"""
-        self.domain = None
-        """the ID of the domain to which the template belongs"""
-        self.domainid = None
-        """the format of the template."""
-        self.format = None
-        """the ID of the secondary storage host for the template"""
-        self.hostid = None
-        """the name of the secondary storage host for the template"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """true if the template is extractable, false otherwise"""
-        self.isextractable = None
-        """true if this template is a featured template, false otherwise"""
-        self.isfeatured = None
-        """true if this template is a public template, false otherwise"""
-        self.ispublic = None
-        """true if the template is ready to be deployed from, false otherwise."""
-        self.isready = None
-        """the template name"""
-        self.name = None
-        """the ID of the OS type for this template."""
-        self.ostypeid = None
-        """the name of the OS type for this template."""
-        self.ostypename = None
-        """true if the reset password feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the template"""
-        self.project = None
-        """the project id of the template"""
-        self.projectid = None
-        """the date this template was removed"""
-        self.removed = None
-        """the size of the template"""
-        self.size = None
-        """the template ID of the parent template if present"""
-        self.sourcetemplateid = None
-        """true if template is sshkey enabled, false otherwise"""
-        self.sshkeyenabled = None
-        """the status of the template"""
-        self.status = None
-        """the tag of this template"""
-        self.templatetag = None
-        """the type of the template"""
-        self.templatetype = None
-        """the ID of the zone for this template"""
-        self.zoneid = None
-        """the name of the zone for this template"""
-        self.zonename = None
-        """the list of resource tags associated with tempate"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listLBHealthCheckPolicies.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listLBHealthCheckPolicies.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listLBHealthCheckPolicies.py
deleted file mode 100644
index 03c312d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listLBHealthCheckPolicies.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists load balancer HealthCheck policies."""
-from baseCmd import *
-from baseResponse import *
-class listLBHealthCheckPoliciesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the load balancer rule"""
-        """Required"""
-        self.lbruleid = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = ["lbruleid",]
-
-class listLBHealthCheckPoliciesResponse (baseResponse):
-    def __init__(self):
-        """the account of the HealthCheck policy"""
-        self.account = None
-        """the domain of the HealthCheck policy"""
-        self.domain = None
-        """the domain ID of the HealthCheck policy"""
-        self.domainid = None
-        """the LB rule ID"""
-        self.lbruleid = None
-        """the id of the zone the HealthCheck policy belongs to"""
-        self.zoneid = None
-        """the list of healthcheckpolicies"""
-        self.healthcheckpolicy = []
-
-class healthcheckpolicy:
-    def __init__(self):
-        """"the LB HealthCheck policy ID"""
-        self.id = None
-        """"the description of the healthcheck policy"""
-        self.description = None
-        """"Amount of time between health checks"""
-        self.healthcheckinterval = None
-        """"Number of consecutive health check success before declaring an instance healthy"""
-        self.healthcheckthresshold = None
-        """"the pingpath  of the healthcheck policy"""
-        self.pingpath = None
-        """"Time to wait when receiving a response from the health check"""
-        self.responsetime = None
-        """"the state of the policy"""
-        self.state = None
-        """"Number of consecutive health check failures before declaring an instance unhealthy."""
-        self.unhealthcheckthresshold = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listLBStickinessPolicies.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listLBStickinessPolicies.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listLBStickinessPolicies.py
deleted file mode 100644
index 1d3c7cb..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listLBStickinessPolicies.py
+++ /dev/null
@@ -1,71 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists LBStickiness policies."""
-from baseCmd import *
-from baseResponse import *
-class listLBStickinessPoliciesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the load balancer rule"""
-        """Required"""
-        self.lbruleid = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = ["lbruleid",]
-
-class listLBStickinessPoliciesResponse (baseResponse):
-    def __init__(self):
-        """the account of the Stickiness policy"""
-        self.account = None
-        """the description of the Stickiness policy"""
-        self.description = None
-        """the domain of the Stickiness policy"""
-        self.domain = None
-        """the domain ID of the Stickiness policy"""
-        self.domainid = None
-        """the LB rule ID"""
-        self.lbruleid = None
-        """the name of the Stickiness policy"""
-        self.name = None
-        """the state of the policy"""
-        self.state = None
-        """the id of the zone the Stickiness policy belongs to"""
-        self.zoneid = None
-        """the list of stickinesspolicies"""
-        self.stickinesspolicy = []
-
-class stickinesspolicy:
-    def __init__(self):
-        """"the LB Stickiness policy ID"""
-        self.id = None
-        """"the description of the Stickiness policy"""
-        self.description = None
-        """"the method name of the Stickiness policy"""
-        self.methodname = None
-        """"the name of the Stickiness policy"""
-        self.name = None
-        """"the params of the policy"""
-        self.params = None
-        """"the state of the policy"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listLdapConfigurations.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listLdapConfigurations.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listLdapConfigurations.py
deleted file mode 100644
index 3203a05..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listLdapConfigurations.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all LDAP configurations"""
-from baseCmd import *
-from baseResponse import *
-class listLdapConfigurationsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Hostname"""
-        self.hostname = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """Port"""
-        self.port = None
-        self.required = []
-
-class listLdapConfigurationsResponse (baseResponse):
-    def __init__(self):
-        """hostname"""
-        self.hostname = None
-        """port"""
-        self.port = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listLdapUsers.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listLdapUsers.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listLdapUsers.py
deleted file mode 100644
index 0dec30e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listLdapUsers.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all LDAP Users"""
-from baseCmd import *
-from baseResponse import *
-class listLdapUsersCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """List by keyword"""
-        self.keyword = None
-        """Determines whether all ldap users are returned or just non-cloudstack users"""
-        self.listtype = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listLdapUsersResponse (baseResponse):
-    def __init__(self):
-        """The user's email"""
-        self.email = None
-        """The user's firstname"""
-        self.firstname = None
-        """The user's lastname"""
-        self.lastname = None
-        """The user's principle"""
-        self.principal = None
-        """The user's username"""
-        self.username = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listLoadBalancerRuleInstances.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listLoadBalancerRuleInstances.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listLoadBalancerRuleInstances.py
deleted file mode 100644
index 908ff44..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listLoadBalancerRuleInstances.py
+++ /dev/null
@@ -1,377 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List all virtual machine instances that are assigned to a load balancer rule."""
-from baseCmd import *
-from baseResponse import *
-class listLoadBalancerRuleInstancesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the load balancer rule"""
-        """Required"""
-        self.id = None
-        """true if listing all virtual machines currently applied to the load balancer rule; default is true"""
-        self.applied = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = ["id",]
-
-class listLoadBalancerRuleInstancesResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listLoadBalancerRules.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listLoadBalancerRules.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listLoadBalancerRules.py
deleted file mode 100644
index 770f3b3..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listLoadBalancerRules.py
+++ /dev/null
@@ -1,118 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists load balancer rules."""
-from baseCmd import *
-from baseResponse import *
-class listLoadBalancerRulesCmd (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 load balancer rule"""
-        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 name of the load balancer rule"""
-        self.name = None
-        """list by network id the rule belongs to"""
-        self.networkid = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list objects by project"""
-        self.projectid = None
-        """the public IP address id of the load balancer rule"""
-        self.publicipid = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        """the ID of the virtual machine of the load balancer rule"""
-        self.virtualmachineid = None
-        """the availability zone ID"""
-        self.zoneid = None
-        self.required = []
-
-class listLoadBalancerRulesResponse (baseResponse):
-    def __init__(self):
-        """the load balancer rule ID"""
-        self.id = None
-        """the account of the load balancer rule"""
-        self.account = None
-        """the load balancer algorithm (source, roundrobin, leastconn)"""
-        self.algorithm = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """the description of the load balancer"""
-        self.description = None
-        """the domain of the load balancer rule"""
-        self.domain = None
-        """the domain ID of the load balancer rule"""
-        self.domainid = None
-        """the name of the load balancer"""
-        self.name = None
-        """the id of the guest network the lb rule belongs to"""
-        self.networkid = None
-        """the private port"""
-        self.privateport = None
-        """the project name of the load balancer"""
-        self.project = None
-        """the project id of the load balancer"""
-        self.projectid = None
-        """the public ip address"""
-        self.publicip = None
-        """the public ip address id"""
-        self.publicipid = None
-        """the public port"""
-        self.publicport = None
-        """the state of the rule"""
-        self.state = None
-        """the id of the zone the rule belongs to"""
-        self.zoneid = None
-        """the list of resource tags associated with load balancer"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listLoadBalancers.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listLoadBalancers.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listLoadBalancers.py
deleted file mode 100644
index 5cde328..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listLoadBalancers.py
+++ /dev/null
@@ -1,132 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists Load Balancers"""
-from baseCmd import *
-from baseResponse import *
-class listLoadBalancersCmd (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 Load Balancer"""
-        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 name of the Load Balancer"""
-        self.name = None
-        """the network id of the Load Balancer"""
-        self.networkid = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list objects by project"""
-        self.projectid = None
-        """the scheme of the Load Balancer. Supported value is Internal in the current release"""
-        self.scheme = None
-        """the source ip address of the Load Balancer"""
-        self.sourceipaddress = None
-        """the network id of the source ip address"""
-        self.sourceipaddressnetworkid = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        self.required = []
-
-class listLoadBalancersResponse (baseResponse):
-    def __init__(self):
-        """the Load Balancer ID"""
-        self.id = None
-        """the account of the Load Balancer"""
-        self.account = None
-        """the load balancer algorithm (source, roundrobin, leastconn)"""
-        self.algorithm = None
-        """the description of the Load Balancer"""
-        self.description = None
-        """the domain of the Load Balancer"""
-        self.domain = None
-        """the domain ID of the Load Balancer"""
-        self.domainid = None
-        """the name of the Load Balancer"""
-        self.name = None
-        """Load Balancer network id"""
-        self.networkid = None
-        """the project name of the Load Balancer"""
-        self.project = None
-        """the project id of the Load Balancer"""
-        self.projectid = None
-        """Load Balancer source ip"""
-        self.sourceipaddress = None
-        """Load Balancer source ip network id"""
-        self.sourceipaddressnetworkid = None
-        """the list of instances associated with the Load Balancer"""
-        self.loadbalancerinstance = []
-        """the list of rules associated with the Load Balancer"""
-        self.loadbalancerrule = []
-        """the list of resource tags associated with the Load Balancer"""
-        self.tags = []
-
-class loadbalancerinstance:
-    def __init__(self):
-        """"the instance ID"""
-        self.id = None
-        """"the ip address of the instance"""
-        self.ipaddress = None
-        """"the name of the instance"""
-        self.name = None
-        """"the state of the instance"""
-        self.state = None
-
-class loadbalancerrule:
-    def __init__(self):
-        """"instance port of the load balancer rule"""
-        self.instanceport = None
-        """"source port of the load balancer rule"""
-        self.sourceport = None
-        """"the state of the load balancer rule"""
-        self.state = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkACLLists.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkACLLists.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkACLLists.py
deleted file mode 100644
index a7bc92b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkACLLists.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all network ACLs"""
-from baseCmd import *
-from baseResponse import *
-class listNetworkACLListsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Lists network ACL with the specified ID."""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """list network ACLs by specified name"""
-        self.name = None
-        """list network ACLs by network Id"""
-        self.networkid = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list network ACLs by Vpc Id"""
-        self.vpcid = None
-        self.required = []
-
-class listNetworkACLListsResponse (baseResponse):
-    def __init__(self):
-        """the ID of the ACL"""
-        self.id = None
-        """Description of the ACL"""
-        self.description = None
-        """the Name of the ACL"""
-        self.name = None
-        """Id of the VPC this ACL is associated with"""
-        self.vpcid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkACLs.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkACLs.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkACLs.py
deleted file mode 100644
index 10dd316..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkACLs.py
+++ /dev/null
@@ -1,108 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all network ACL items"""
-from baseCmd import *
-from baseResponse import *
-class listNetworkACLsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list resources by account. Must be used with the domainId parameter."""
-        self.account = None
-        """list network ACL Items by ACL Id"""
-        self.aclid = None
-        """list network ACL Items by Action"""
-        self.action = None
-        """list only resources belonging to the domain specified"""
-        self.domainid = None
-        """Lists network ACL Item with the specified ID"""
-        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
-        """list network ACL Items by network Id"""
-        self.networkid = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list objects by project"""
-        self.projectid = None
-        """list network ACL Items by Protocol"""
-        self.protocol = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        """list network ACL Items by traffic type - Ingress or Egress"""
-        self.traffictype = None
-        self.required = []
-
-class listNetworkACLsResponse (baseResponse):
-    def __init__(self):
-        """the ID of the ACL Item"""
-        self.id = None
-        """the ID of the ACL this item belongs to"""
-        self.aclid = None
-        """Action of ACL Item. Allow/Deny"""
-        self.action = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """the ending port of ACL's port range"""
-        self.endport = None
-        """error code for this icmp message"""
-        self.icmpcode = None
-        """type of the icmp message being sent"""
-        self.icmptype = None
-        """Number of the ACL Item"""
-        self.number = None
-        """the protocol of the ACL"""
-        self.protocol = None
-        """the starting port of ACL's port range"""
-        self.startport = None
-        """the state of the rule"""
-        self.state = None
-        """the traffic type for the ACL"""
-        self.traffictype = None
-        """the list of resource tags associated with the network ACLs"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkDevice.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkDevice.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkDevice.py
deleted file mode 100644
index a1199c6..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkDevice.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List network devices"""
-from baseCmd import *
-from baseResponse import *
-class listNetworkDeviceCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """List by keyword"""
-        self.keyword = None
-        """parameters for network device"""
-        self.networkdeviceparameterlist = []
-        """Network device type, now supports ExternalDhcp, PxeServer, NetscalerMPXLoadBalancer, NetscalerVPXLoadBalancer, NetscalerSDXLoadBalancer, F5BigIpLoadBalancer, JuniperSRXFirewall"""
-        self.networkdevicetype = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listNetworkDeviceResponse (baseResponse):
-    def __init__(self):
-        """the ID of the network device"""
-        self.id = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkIsolationMethods.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkIsolationMethods.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkIsolationMethods.py
deleted file mode 100644
index 67ed7fd..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkIsolationMethods.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists supported methods of network isolation"""
-from baseCmd import *
-from baseResponse import *
-class listNetworkIsolationMethodsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listNetworkIsolationMethodsResponse (baseResponse):
-    def __init__(self):
-        """Network isolation method name"""
-        self.name = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkOfferings.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkOfferings.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkOfferings.py
deleted file mode 100644
index a36f46d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkOfferings.py
+++ /dev/null
@@ -1,166 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all available network offerings."""
-from baseCmd import *
-from baseResponse import *
-class listNetworkOfferingsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the availability of network offering. Default value is Required"""
-        self.availability = None
-        """list network offerings by display text"""
-        self.displaytext = None
-        """the network offering can be used only for network creation inside the VPC"""
-        self.forvpc = None
-        """list network offerings by guest type: Shared or Isolated"""
-        self.guestiptype = None
-        """list network offerings by id"""
-        self.id = None
-        """true if need to list only default network offerings. Default value is false"""
-        self.isdefault = None
-        """true if offering has tags specified"""
-        self.istagged = None
-        """List by keyword"""
-        self.keyword = None
-        """list network offerings by name"""
-        self.name = None
-        """the ID of the network. Pass this in if you want to see the available network offering that a network can be changed to."""
-        self.networkid = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """true if need to list only netwok offerings where source nat is supported, false otherwise"""
-        self.sourcenatsupported = None
-        """true if need to list only network offerings which support specifying ip ranges"""
-        self.specifyipranges = None
-        """the tags for the network offering."""
-        self.specifyvlan = None
-        """list network offerings by state"""
-        self.state = None
-        """list network offerings supporting certain services"""
-        self.supportedservices = []
-        """list network offerings by tags"""
-        self.tags = None
-        """list by traffic type"""
-        self.traffictype = None
-        """list netowrk offerings available for network creation in specific zone"""
-        self.zoneid = None
-        self.required = []
-
-class listNetworkOfferingsResponse (baseResponse):
-    def __init__(self):
-        """the id of the network offering"""
-        self.id = None
-        """availability of the network offering"""
-        self.availability = None
-        """true if network offering is ip conserve mode enabled"""
-        self.conservemode = None
-        """the date this network offering was created"""
-        self.created = None
-        """additional key/value details tied with network offering"""
-        self.details = None
-        """an alternate display text of the network offering."""
-        self.displaytext = None
-        """true if network offering supports persistent networks, false otherwise"""
-        self.egressdefaultpolicy = None
-        """true if network offering can be used by VPC networks only"""
-        self.forvpc = None
-        """guest type of the network offering, can be Shared or Isolated"""
-        self.guestiptype = None
-        """true if network offering is default, false otherwise"""
-        self.isdefault = None
-        """true if network offering supports persistent networks, false otherwise"""
-        self.ispersistent = None
-        """maximum number of concurrents connections to be handled by lb"""
-        self.maxconnections = None
-        """the name of the network offering"""
-        self.name = None
-        """data transfer rate in megabits per second allowed."""
-        self.networkrate = None
-        """the ID of the service offering used by virtual router provider"""
-        self.serviceofferingid = None
-        """true if network offering supports specifying ip ranges, false otherwise"""
-        self.specifyipranges = None
-        """true if network offering supports vlans, false otherwise"""
-        self.specifyvlan = None
-        """state of the network offering. Can be Disabled/Enabled/Inactive"""
-        self.state = None
-        """the tags for the network offering"""
-        self.tags = None
-        """the traffic type for the network offering, supported types are Public, Management, Control, Guest, Vlan or Storage."""
-        self.traffictype = None
-        """the list of supported services"""
-        self.service = []
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkServiceProviders.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkServiceProviders.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkServiceProviders.py
deleted file mode 100644
index 287401e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworkServiceProviders.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists network serviceproviders for a given physical network."""
-from baseCmd import *
-from baseResponse import *
-class listNetworkServiceProvidersCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """List by keyword"""
-        self.keyword = None
-        """list providers by name"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """the Physical Network ID"""
-        self.physicalnetworkid = None
-        """list providers by state"""
-        self.state = None
-        self.required = []
-
-class listNetworkServiceProvidersResponse (baseResponse):
-    def __init__(self):
-        """uuid of the network provider"""
-        self.id = None
-        """true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """the provider name"""
-        self.name = None
-        """the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """services for this provider"""
-        self.servicelist = None
-        """state of the network provider"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworks.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworks.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworks.py
deleted file mode 100644
index 60e4516..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listNetworks.py
+++ /dev/null
@@ -1,243 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all available networks."""
-from baseCmd import *
-from baseResponse import *
-class listNetworksCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list resources by account. Must be used with the domainId parameter."""
-        self.account = None
-        """list networks by ACL (access control list) type. Supported values are Account and Domain"""
-        self.acltype = None
-        """list networks available for vm deployment"""
-        self.canusefordeploy = None
-        """list only resources belonging to the domain specified"""
-        self.domainid = None
-        """the network belongs to vpc"""
-        self.forvpc = None
-        """list networks by id"""
-        self.id = None
-        """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
-        self.isrecursive = None
-        """true if network is system, false otherwise"""
-        self.issystem = 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
-        """list networks by physical network id"""
-        self.physicalnetworkid = None
-        """list objects by project"""
-        self.projectid = None
-        """list networks by restartRequired"""
-        self.restartrequired = None
-        """true if need to list only networks which support specifying ip ranges"""
-        self.specifyipranges = None
-        """list networks supporting certain services"""
-        self.supportedservices = []
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        """type of the traffic"""
-        self.traffictype = None
-        """the type of the network. Supported values are: Isolated and Shared"""
-        self.type = None
-        """List networks by VPC"""
-        self.vpcid = None
-        """the Zone ID of the network"""
-        self.zoneid = None
-        self.required = []
-
-class listNetworksResponse (baseResponse):
-    def __init__(self):
-        """the id of the network"""
-        self.id = None
-        """the owner of the network"""
-        self.account = None
-        """ACL Id associated with the VPC network"""
-        self.aclid = None
-        """acl type - access type to the network"""
-        self.acltype = None
-        """Broadcast domain type of the network"""
-        self.broadcastdomaintype = None
-        """broadcast uri of the network. This parameter is visible to ROOT admins only"""
-        self.broadcasturi = None
-        """list networks available for vm deployment"""
-        self.canusefordeploy = None
-        """Cloudstack managed address space, all CloudStack managed VMs get IP address from CIDR"""
-        self.cidr = None
-        """an optional field, whether to the display the network to the end user or not."""
-        self.displaynetwork = None
-        """the displaytext of the network"""
-        self.displaytext = None
-        """the first DNS for the network"""
-        self.dns1 = None
-        """the second DNS for the network"""
-        self.dns2 = None
-        """the domain name of the network owner"""
-        self.domain = None
-        """the domain id of the network owner"""
-        self.domainid = None
-        """the network's gateway"""
-        self.gateway = None
-        """the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """true if network is default, false otherwise"""
-        self.isdefault = None
-        """list networks that are persistent"""
-        self.ispersistent = None
-        """true if network is system, false otherwise"""
-        self.issystem = None
-        """the name of the network"""
-        self.name = None
-        """the network's netmask"""
-        self.netmask = None
-        """the network CIDR of the guest network configured with IP reservation. It is the summation of CIDR and RESERVED_IP_RANGE"""
-        self.networkcidr = None
-        """the network domain"""
-        self.networkdomain = None
-        """availability of the network offering the network is created from"""
-        self.networkofferingavailability = None
-        """true if network offering is ip conserve mode enabled"""
-        self.networkofferingconservemode = None
-        """display text of the network offering the network is created from"""
-        self.networkofferingdisplaytext = None
-        """network offering id the network is created from"""
-        self.networkofferingid = None
-        """name of the network offering the network is created from"""
-        self.networkofferingname = None
-        """the physical network id"""
-        self.physicalnetworkid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """related to what other network configuration"""
-        self.related = None
-        """the network's IP range not to be used by CloudStack guest VMs and can be used for non CloudStack purposes"""
-        self.reservediprange = None
-        """true network requires restart"""
-        self.restartrequired = None
-        """true if network supports specifying ip ranges, false otherwise"""
-        self.specifyipranges = None
-        """state of the network"""
-        self.state = None
-        """true if users from subdomains can access the domain level network"""
-        self.subdomainaccess = None
-        """the traffic type of the network"""
-        self.traffictype = None
-        """the type of the network"""
-        self.type = None
-        """The vlan of the network. This parameter is visible to ROOT admins only"""
-        self.vlan = None
-        """VPC the network belongs to"""
-        self.vpcid = None
-        """zone id of the network"""
-        self.zoneid = None
-        """the name of the zone the network belongs to"""
-        self.zonename = None
-        """the list of services"""
-        self.service = []
-        """the list of resource tags associated with network"""
-        self.tags = []
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listNiciraNvpDeviceNetworks.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listNiciraNvpDeviceNetworks.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listNiciraNvpDeviceNetworks.py
deleted file mode 100644
index d19ba54..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listNiciraNvpDeviceNetworks.py
+++ /dev/null
@@ -1,208 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""lists network that are using a nicira nvp device"""
-from baseCmd import *
-from baseResponse import *
-class listNiciraNvpDeviceNetworksCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """nicira nvp device ID"""
-        """Required"""
-        self.nvpdeviceid = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = ["nvpdeviceid",]
-
-class listNiciraNvpDeviceNetworksResponse (baseResponse):
-    def __init__(self):
-        """the id of the network"""
-        self.id = None
-        """the owner of the network"""
-        self.account = None
-        """ACL Id associated with the VPC network"""
-        self.aclid = None
-        """acl type - access type to the network"""
-        self.acltype = None
-        """Broadcast domain type of the network"""
-        self.broadcastdomaintype = None
-        """broadcast uri of the network. This parameter is visible to ROOT admins only"""
-        self.broadcasturi = None
-        """list networks available for vm deployment"""
-        self.canusefordeploy = None
-        """Cloudstack managed address space, all CloudStack managed VMs get IP address from CIDR"""
-        self.cidr = None
-        """an optional field, whether to the display the network to the end user or not."""
-        self.displaynetwork = None
-        """the displaytext of the network"""
-        self.displaytext = None
-        """the first DNS for the network"""
-        self.dns1 = None
-        """the second DNS for the network"""
-        self.dns2 = None
-        """the domain name of the network owner"""
-        self.domain = None
-        """the domain id of the network owner"""
-        self.domainid = None
-        """the network's gateway"""
-        self.gateway = None
-        """the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """true if network is default, false otherwise"""
-        self.isdefault = None
-        """list networks that are persistent"""
-        self.ispersistent = None
-        """true if network is system, false otherwise"""
-        self.issystem = None
-        """the name of the network"""
-        self.name = None
-        """the network's netmask"""
-        self.netmask = None
-        """the network CIDR of the guest network configured with IP reservation. It is the summation of CIDR and RESERVED_IP_RANGE"""
-        self.networkcidr = None
-        """the network domain"""
-        self.networkdomain = None
-        """availability of the network offering the network is created from"""
-        self.networkofferingavailability = None
-        """true if network offering is ip conserve mode enabled"""
-        self.networkofferingconservemode = None
-        """display text of the network offering the network is created from"""
-        self.networkofferingdisplaytext = None
-        """network offering id the network is created from"""
-        self.networkofferingid = None
-        """name of the network offering the network is created from"""
-        self.networkofferingname = None
-        """the physical network id"""
-        self.physicalnetworkid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """related to what other network configuration"""
-        self.related = None
-        """the network's IP range not to be used by CloudStack guest VMs and can be used for non CloudStack purposes"""
-        self.reservediprange = None
-        """true network requires restart"""
-        self.restartrequired = None
-        """true if network supports specifying ip ranges, false otherwise"""
-        self.specifyipranges = None
-        """state of the network"""
-        self.state = None
-        """true if users from subdomains can access the domain level network"""
-        self.subdomainaccess = None
-        """the traffic type of the network"""
-        self.traffictype = None
-        """the type of the network"""
-        self.type = None
-        """The vlan of the network. This parameter is visible to ROOT admins only"""
-        self.vlan = None
-        """VPC the network belongs to"""
-        self.vpcid = None
-        """zone id of the network"""
-        self.zoneid = None
-        """the name of the zone the network belongs to"""
-        self.zonename = None
-        """the list of services"""
-        self.service = []
-        """the list of resource tags associated with network"""
-        self.tags = []
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listNiciraNvpDevices.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listNiciraNvpDevices.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listNiciraNvpDevices.py
deleted file mode 100644
index fde7195..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listNiciraNvpDevices.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists Nicira NVP devices"""
-from baseCmd import *
-from baseResponse import *
-class listNiciraNvpDevicesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """List by keyword"""
-        self.keyword = None
-        """nicira nvp device ID"""
-        self.nvpdeviceid = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """the Physical Network ID"""
-        self.physicalnetworkid = None
-        self.required = []
-
-class listNiciraNvpDevicesResponse (baseResponse):
-    def __init__(self):
-        """the controller Ip address"""
-        self.hostname = None
-        """this L3 gateway service Uuid"""
-        self.l3gatewayserviceuuid = None
-        """device name"""
-        self.niciradevicename = None
-        """device id of the Nicire Nvp"""
-        self.nvpdeviceid = None
-        """the physical network to which this Nirica Nvp belongs to"""
-        self.physicalnetworkid = None
-        """name of the provider"""
-        self.provider = None
-        """the transport zone Uuid"""
-        self.transportzoneuuid = None
-


[13/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listVPCs.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVPCs.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVPCs.py
deleted file mode 100644
index 51a3b4c..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listVPCs.py
+++ /dev/null
@@ -1,426 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists VPCs"""
-from baseCmd import *
-from baseResponse import *
-class listVPCsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list resources by account. Must be used with the domainId parameter."""
-        self.account = None
-        """list by cidr of the VPC. All VPC guest networks' cidrs should be within this CIDR"""
-        self.cidr = None
-        """List by display text of the VPC"""
-        self.displaytext = None
-        """list only resources belonging to the domain specified"""
-        self.domainid = None
-        """list VPC by id"""
-        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
-        """list by name of the VPC"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list objects by project"""
-        self.projectid = None
-        """list VPCs by restartRequired option"""
-        self.restartrequired = None
-        """list VPCs by state"""
-        self.state = None
-        """list VPC supporting certain services"""
-        self.supportedservices = []
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        """list by ID of the VPC offering"""
-        self.vpcofferingid = None
-        """list by zone"""
-        self.zoneid = None
-        self.required = []
-
-class listVPCsResponse (baseResponse):
-    def __init__(self):
-        """the id of the VPC"""
-        self.id = None
-        """the owner of the VPC"""
-        self.account = None
-        """the cidr the VPC"""
-        self.cidr = None
-        """the date this VPC was created"""
-        self.created = None
-        """an alternate display text of the VPC."""
-        self.displaytext = None
-        """the domain name of the owner"""
-        self.domain = None
-        """the domain id of the VPC owner"""
-        self.domainid = None
-        """the name of the VPC"""
-        self.name = None
-        """the network domain of the VPC"""
-        self.networkdomain = None
-        """the project name of the VPC"""
-        self.project = None
-        """the project id of the VPC"""
-        self.projectid = None
-        """true VPC requires restart"""
-        self.restartrequired = None
-        """state of the VPC. Can be Inactive/Enabled"""
-        self.state = None
-        """vpc offering id the VPC is created from"""
-        self.vpcofferingid = None
-        """zone id of the vpc"""
-        self.zoneid = None
-        """the name of the zone the VPC belongs to"""
-        self.zonename = None
-        """the list of networks belongign to the VPC"""
-        self.network = []
-        """the list of supported services"""
-        self.service = []
-        """the list of resource tags associated with the project"""
-        self.tags = []
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class network:
-    def __init__(self):
-        """"the id of the network"""
-        self.id = None
-        """"the owner of the network"""
-        self.account = None
-        """"ACL Id associated with the VPC network"""
-        self.aclid = None
-        """"acl type - access type to the network"""
-        self.acltype = None
-        """"Broadcast domain type of the network"""
-        self.broadcastdomaintype = None
-        """"broadcast uri of the network. This parameter is visible to ROOT admins only"""
-        self.broadcasturi = None
-        """"list networks available for vm deployment"""
-        self.canusefordeploy = None
-        """"Cloudstack managed address space, all CloudStack managed VMs get IP address from CIDR"""
-        self.cidr = None
-        """"an optional field, whether to the display the network to the end user or not."""
-        self.displaynetwork = None
-        """"the displaytext of the network"""
-        self.displaytext = None
-        """"the first DNS for the network"""
-        self.dns1 = None
-        """"the second DNS for the network"""
-        self.dns2 = None
-        """"the domain name of the network owner"""
-        self.domain = None
-        """"the domain id of the network owner"""
-        self.domainid = None
-        """"the network's gateway"""
-        self.gateway = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"true if network is default, false otherwise"""
-        self.isdefault = None
-        """"list networks that are persistent"""
-        self.ispersistent = None
-        """"true if network is system, false otherwise"""
-        self.issystem = None
-        """"the name of the network"""
-        self.name = None
-        """"the network's netmask"""
-        self.netmask = None
-        """"the network CIDR of the guest network configured with IP reservation. It is the summation of CIDR and RESERVED_IP_RANGE"""
-        self.networkcidr = None
-        """"the network domain"""
-        self.networkdomain = None
-        """"availability of the network offering the network is created from"""
-        self.networkofferingavailability = None
-        """"true if network offering is ip conserve mode enabled"""
-        self.networkofferingconservemode = None
-        """"display text of the network offering the network is created from"""
-        self.networkofferingdisplaytext = None
-        """"network offering id the network is created from"""
-        self.networkofferingid = None
-        """"name of the network offering the network is created from"""
-        self.networkofferingname = None
-        """"the physical network id"""
-        self.physicalnetworkid = None
-        """"the project name of the address"""
-        self.project = None
-        """"the project id of the ipaddress"""
-        self.projectid = None
-        """"related to what other network configuration"""
-        self.related = None
-        """"the network's IP range not to be used by CloudStack guest VMs and can be used for non CloudStack purposes"""
-        self.reservediprange = None
-        """"true network requires restart"""
-        self.restartrequired = None
-        """"true if network supports specifying ip ranges, false otherwise"""
-        self.specifyipranges = None
-        """"state of the network"""
-        self.state = None
-        """"true if users from subdomains can access the domain level network"""
-        self.subdomainaccess = None
-        """"the traffic type of the network"""
-        self.traffictype = None
-        """"the type of the network"""
-        self.type = None
-        """"The vlan of the network. This parameter is visible to ROOT admins only"""
-        self.vlan = None
-        """"VPC the network belongs to"""
-        self.vpcid = None
-        """"zone id of the network"""
-        self.zoneid = None
-        """"the name of the zone the network belongs to"""
-        self.zonename = None
-        """"the list of services"""
-        self.service = []
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-        """"the list of resource tags associated with network"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listVirtualMachines.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVirtualMachines.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVirtualMachines.py
deleted file mode 100644
index 525532c..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listVirtualMachines.py
+++ /dev/null
@@ -1,416 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List the virtual machines owned by the account."""
-from baseCmd import *
-from baseResponse import *
-class listVirtualMachinesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list resources by account. Must be used with the domainId parameter."""
-        self.account = None
-        """list vms by affinity group"""
-        self.affinitygroupid = None
-        """comma separated list of host details requested, value can be a list of [all, group, nics, stats, secgrp, tmpl, servoff, iso, volume, min, affgrp]. If no parameter is passed in, the details will be defaulted to all"""
-        self.details = []
-        """list only resources belonging to the domain specified"""
-        self.domainid = None
-        """list by network type; true if need to list vms using Virtual Network, false otherwise"""
-        self.forvirtualnetwork = None
-        """the group ID"""
-        self.groupid = None
-        """the host ID"""
-        self.hostid = None
-        """the target hypervisor for the template"""
-        self.hypervisor = None
-        """the ID of the virtual machine"""
-        self.id = None
-        """list vms by iso"""
-        self.isoid = 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
-        """name of the virtual machine"""
-        self.name = None
-        """list by network id"""
-        self.networkid = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """the pod ID"""
-        self.podid = None
-        """list objects by project"""
-        self.projectid = None
-        """state of the virtual machine"""
-        self.state = None
-        """the storage ID where vm's volumes belong to"""
-        self.storageid = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        """list vms by template"""
-        self.templateid = None
-        """list vms by vpc"""
-        self.vpcid = None
-        """the availability zone ID"""
-        self.zoneid = None
-        self.required = []
-
-class listVirtualMachinesResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listVirtualRouterElements.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVirtualRouterElements.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVirtualRouterElements.py
deleted file mode 100644
index abfe93a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listVirtualRouterElements.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all available virtual router elements."""
-from baseCmd import *
-from baseResponse import *
-class listVirtualRouterElementsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list network offerings by enabled state"""
-        self.enabled = None
-        """list virtual router elements by id"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """list virtual router elements by network service provider id"""
-        self.nspid = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listVirtualRouterElementsResponse (baseResponse):
-    def __init__(self):
-        """the id of the router"""
-        self.id = None
-        """the account associated with the provider"""
-        self.account = None
-        """the domain associated with the provider"""
-        self.domain = None
-        """the domain ID associated with the provider"""
-        self.domainid = None
-        """Enabled/Disabled the service provider"""
-        self.enabled = None
-        """the physical network service provider id of the provider"""
-        self.nspid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listVlanIpRanges.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVlanIpRanges.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVlanIpRanges.py
deleted file mode 100644
index 2d7ac4a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listVlanIpRanges.py
+++ /dev/null
@@ -1,99 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all VLAN IP ranges."""
-from baseCmd import *
-from baseResponse import *
-class listVlanIpRangesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the account with which the VLAN IP range is associated. Must be used with the domainId parameter."""
-        self.account = None
-        """the domain ID with which the VLAN IP range is associated.  If used with the account parameter, returns all VLAN IP ranges for that account in the specified domain."""
-        self.domainid = None
-        """true if VLAN is of Virtual type, false if Direct"""
-        self.forvirtualnetwork = None
-        """the ID of the VLAN IP range"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """network id of the VLAN IP range"""
-        self.networkid = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """physical network id of the VLAN IP range"""
-        self.physicalnetworkid = None
-        """the Pod ID of the VLAN IP range"""
-        self.podid = None
-        """project who will own the VLAN"""
-        self.projectid = None
-        """the ID or VID of the VLAN. Default is an "untagged" VLAN."""
-        self.vlan = None
-        """the Zone ID of the VLAN IP range"""
-        self.zoneid = None
-        self.required = []
-
-class listVlanIpRangesResponse (baseResponse):
-    def __init__(self):
-        """the ID of the VLAN IP range"""
-        self.id = None
-        """the account of the VLAN IP range"""
-        self.account = None
-        """the description of the VLAN IP range"""
-        self.description = None
-        """the domain name of the VLAN IP range"""
-        self.domain = None
-        """the domain ID of the VLAN IP range"""
-        self.domainid = None
-        """the end ip of the VLAN IP range"""
-        self.endip = None
-        """the end ipv6 of the VLAN IP range"""
-        self.endipv6 = None
-        """the virtual network for the VLAN IP range"""
-        self.forvirtualnetwork = None
-        """the gateway of the VLAN IP range"""
-        self.gateway = None
-        """the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """the netmask of the VLAN IP range"""
-        self.netmask = None
-        """the network id of vlan range"""
-        self.networkid = None
-        """the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """the Pod ID for the VLAN IP range"""
-        self.podid = None
-        """the Pod name for the VLAN IP range"""
-        self.podname = None
-        """the project name of the vlan range"""
-        self.project = None
-        """the project id of the vlan range"""
-        self.projectid = None
-        """the start ip of the VLAN IP range"""
-        self.startip = None
-        """the start ipv6 of the VLAN IP range"""
-        self.startipv6 = None
-        """the ID or VID of the VLAN."""
-        self.vlan = None
-        """the Zone ID of the VLAN IP range"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listVolumes.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVolumes.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVolumes.py
deleted file mode 100644
index 39f514b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listVolumes.py
+++ /dev/null
@@ -1,172 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all volumes."""
-from baseCmd import *
-from baseResponse import *
-class listVolumesCmd (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 volumes on specified host"""
-        self.hostid = None
-        """the ID of the disk volume"""
-        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 name of the disk volume"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """the pod id the disk volume belongs to"""
-        self.podid = None
-        """list objects by project"""
-        self.projectid = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        """the type of disk volume"""
-        self.type = None
-        """the ID of the virtual machine"""
-        self.virtualmachineid = None
-        """the ID of the availability zone"""
-        self.zoneid = None
-        self.required = []
-
-class listVolumesResponse (baseResponse):
-    def __init__(self):
-        """ID of the disk volume"""
-        self.id = None
-        """the account associated with the disk volume"""
-        self.account = None
-        """the date the volume was attached to a VM instance"""
-        self.attached = None
-        """the date the disk volume was created"""
-        self.created = None
-        """the boolean state of whether the volume is destroyed or not"""
-        self.destroyed = None
-        """the ID of the device on user vm the volume is attahed to. This tag is not returned when the volume is detached."""
-        self.deviceid = None
-        """bytes read rate of the disk volume"""
-        self.diskBytesReadRate = None
-        """bytes write rate of the disk volume"""
-        self.diskBytesWriteRate = None
-        """io requests read rate of the disk volume"""
-        self.diskIopsReadRate = None
-        """io requests write rate of the disk volume"""
-        self.diskIopsWriteRate = None
-        """the display text of the disk offering"""
-        self.diskofferingdisplaytext = None
-        """ID of the disk offering"""
-        self.diskofferingid = None
-        """name of the disk offering"""
-        self.diskofferingname = None
-        """an optional field whether to the display the volume to the end user or not."""
-        self.displayvolume = None
-        """the domain associated with the disk volume"""
-        self.domain = None
-        """the ID of the domain associated with the disk volume"""
-        self.domainid = None
-        """Hypervisor the volume belongs to"""
-        self.hypervisor = None
-        """true if the volume is extractable, false otherwise"""
-        self.isextractable = None
-        """max iops of the disk volume"""
-        self.maxiops = None
-        """min iops of the disk volume"""
-        self.miniops = None
-        """name of the disk volume"""
-        self.name = None
-        """The path of the volume"""
-        self.path = None
-        """the project name of the vpn"""
-        self.project = None
-        """the project id of the vpn"""
-        self.projectid = None
-        """the display text of the service offering for root disk"""
-        self.serviceofferingdisplaytext = None
-        """ID of the service offering for root disk"""
-        self.serviceofferingid = None
-        """name of the service offering for root disk"""
-        self.serviceofferingname = None
-        """size of the disk volume"""
-        self.size = None
-        """ID of the snapshot from which this volume was created"""
-        self.snapshotid = None
-        """the state of the disk volume"""
-        self.state = None
-        """the status of the volume"""
-        self.status = None
-        """name of the primary storage hosting the disk volume"""
-        self.storage = None
-        """id of the primary storage hosting the disk volume; returned to admin user only"""
-        self.storageid = None
-        """shared or local storage"""
-        self.storagetype = None
-        """type of the disk volume (ROOT or DATADISK)"""
-        self.type = None
-        """id of the virtual machine"""
-        self.virtualmachineid = None
-        """display name of the virtual machine"""
-        self.vmdisplayname = None
-        """name of the virtual machine"""
-        self.vmname = None
-        """state of the virtual machine"""
-        self.vmstate = None
-        """ID of the availability zone"""
-        self.zoneid = None
-        """name of the availability zone"""
-        self.zonename = None
-        """the list of resource tags associated with volume"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnConnections.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnConnections.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnConnections.py
deleted file mode 100644
index db94bca..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnConnections.py
+++ /dev/null
@@ -1,89 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists site to site vpn connection gateways"""
-from baseCmd import *
-from baseResponse import *
-class listVpnConnectionsCmd (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
-        """id of the vpn connection"""
-        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
-        """list objects by project"""
-        self.projectid = None
-        """id of vpc"""
-        self.vpcid = None
-        self.required = []
-
-class listVpnConnectionsResponse (baseResponse):
-    def __init__(self):
-        """the vpn gateway ID"""
-        self.id = None
-        """the owner"""
-        self.account = None
-        """guest cidr list of the customer gateway"""
-        self.cidrlist = None
-        """the date and time the host was created"""
-        self.created = None
-        """the domain name of the owner"""
-        self.domain = None
-        """the domain id of the owner"""
-        self.domainid = None
-        """if DPD is enabled for customer gateway"""
-        self.dpd = None
-        """Lifetime of ESP SA of customer gateway"""
-        self.esplifetime = None
-        """ESP policy of the customer gateway"""
-        self.esppolicy = None
-        """public ip address id of the customer gateway"""
-        self.gateway = None
-        """Lifetime of IKE SA of customer gateway"""
-        self.ikelifetime = None
-        """IKE policy of the customer gateway"""
-        self.ikepolicy = None
-        """IPsec Preshared-Key of the customer gateway"""
-        self.ipsecpsk = None
-        """the project name"""
-        self.project = None
-        """the project id"""
-        self.projectid = None
-        """the public IP address"""
-        self.publicip = None
-        """the date and time the host was removed"""
-        self.removed = None
-        """the customer gateway ID"""
-        self.s2scustomergatewayid = None
-        """the vpn gateway ID"""
-        self.s2svpngatewayid = None
-        """State of vpn connection"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnCustomerGateways.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnCustomerGateways.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnCustomerGateways.py
deleted file mode 100644
index c730db3..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnCustomerGateways.py
+++ /dev/null
@@ -1,81 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists site to site vpn customer gateways"""
-from baseCmd import *
-from baseResponse import *
-class listVpnCustomerGatewaysCmd (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
-        """id of the customer gateway"""
-        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
-        """list objects by project"""
-        self.projectid = None
-        self.required = []
-
-class listVpnCustomerGatewaysResponse (baseResponse):
-    def __init__(self):
-        """the vpn gateway ID"""
-        self.id = None
-        """the owner"""
-        self.account = None
-        """guest cidr list of the customer gateway"""
-        self.cidrlist = None
-        """the domain name of the owner"""
-        self.domain = None
-        """the domain id of the owner"""
-        self.domainid = None
-        """if DPD is enabled for customer gateway"""
-        self.dpd = None
-        """Lifetime of ESP SA of customer gateway"""
-        self.esplifetime = None
-        """IPsec policy of customer gateway"""
-        self.esppolicy = None
-        """public ip address id of the customer gateway"""
-        self.gateway = None
-        """Lifetime of IKE SA of customer gateway"""
-        self.ikelifetime = None
-        """IKE policy of customer gateway"""
-        self.ikepolicy = None
-        """guest ip of the customer gateway"""
-        self.ipaddress = None
-        """IPsec preshared-key of customer gateway"""
-        self.ipsecpsk = None
-        """name of the customer gateway"""
-        self.name = None
-        """the project name"""
-        self.project = None
-        """the project id"""
-        self.projectid = None
-        """the date and time the host was removed"""
-        self.removed = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnGateways.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnGateways.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnGateways.py
deleted file mode 100644
index 14fcb8f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnGateways.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists site 2 site vpn gateways"""
-from baseCmd import *
-from baseResponse import *
-class listVpnGatewaysCmd (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
-        """id of the vpn gateway"""
-        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
-        """list objects by project"""
-        self.projectid = None
-        """id of vpc"""
-        self.vpcid = None
-        self.required = []
-
-class listVpnGatewaysResponse (baseResponse):
-    def __init__(self):
-        """the vpn gateway ID"""
-        self.id = None
-        """the owner"""
-        self.account = None
-        """the domain name of the owner"""
-        self.domain = None
-        """the domain id of the owner"""
-        self.domainid = None
-        """the project name"""
-        self.project = None
-        """the project id"""
-        self.projectid = None
-        """the public IP address"""
-        self.publicip = None
-        """the date and time the host was removed"""
-        self.removed = None
-        """the vpc id of this gateway"""
-        self.vpcid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnUsers.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnUsers.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnUsers.py
deleted file mode 100644
index 79ae68a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnUsers.py
+++ /dev/null
@@ -1,65 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists vpn users"""
-from baseCmd import *
-from baseResponse import *
-class listVpnUsersCmd (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 uuid of the Vpn user"""
-        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
-        """list objects by project"""
-        self.projectid = None
-        """the username of the vpn user."""
-        self.username = None
-        self.required = []
-
-class listVpnUsersResponse (baseResponse):
-    def __init__(self):
-        """the vpn userID"""
-        self.id = None
-        """the account of the remote access vpn"""
-        self.account = None
-        """the domain name of the account of the remote access vpn"""
-        self.domain = None
-        """the domain id of the account of the remote access vpn"""
-        self.domainid = None
-        """the project name of the vpn"""
-        self.project = None
-        """the project id of the vpn"""
-        self.projectid = None
-        """the state of the Vpn User"""
-        self.state = None
-        """the username of the vpn user"""
-        self.username = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listZones.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listZones.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listZones.py
deleted file mode 100644
index 5e6ed5d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listZones.py
+++ /dev/null
@@ -1,141 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists zones"""
-from baseCmd import *
-from baseResponse import *
-class listZonesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """true if you want to retrieve all available Zones. False if you only want to return the Zones from which you have at least one VM. Default is false."""
-        self.available = None
-        """the ID of the domain associated with the zone"""
-        self.domainid = None
-        """the ID of the zone"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """the name of the zone"""
-        self.name = None
-        """the network type of the zone that the virtual machine belongs to"""
-        self.networktype = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """flag to display the capacity of the zones"""
-        self.showcapacities = None
-        """List zones by resource tags (key/value pairs)"""
-        self.tags = []
-        self.required = []
-
-class listZonesResponse (baseResponse):
-    def __init__(self):
-        """Zone id"""
-        self.id = None
-        """the allocation state of the cluster"""
-        self.allocationstate = None
-        """Zone description"""
-        self.description = None
-        """the dhcp Provider for the Zone"""
-        self.dhcpprovider = None
-        """the display text of the zone"""
-        self.displaytext = None
-        """the first DNS for the Zone"""
-        self.dns1 = None
-        """the second DNS for the Zone"""
-        self.dns2 = None
-        """Network domain name for the networks in the zone"""
-        self.domain = None
-        """the UUID of the containing domain, null for public zones"""
-        self.domainid = None
-        """the name of the containing domain, null for public zones"""
-        self.domainname = None
-        """the guest CIDR address for the Zone"""
-        self.guestcidraddress = None
-        """the first internal DNS for the Zone"""
-        self.internaldns1 = None
-        """the second internal DNS for the Zone"""
-        self.internaldns2 = None
-        """the first IPv6 DNS for the Zone"""
-        self.ip6dns1 = None
-        """the second IPv6 DNS for the Zone"""
-        self.ip6dns2 = None
-        """true if local storage offering enabled, false otherwise"""
-        self.localstorageenabled = None
-        """Zone name"""
-        self.name = None
-        """the network type of the zone; can be Basic or Advanced"""
-        self.networktype = None
-        """true if security groups support is enabled, false otherwise"""
-        self.securitygroupsenabled = None
-        """the vlan range of the zone"""
-        self.vlan = None
-        """Zone Token"""
-        self.zonetoken = None
-        """the capacity of the Zone"""
-        self.capacity = []
-        """the list of resource tags associated with zone."""
-        self.tags = []
-
-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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/lockAccount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/lockAccount.py b/tools/marvin/build/lib/marvin/cloudstackAPI/lockAccount.py
deleted file mode 100644
index d33f898..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/lockAccount.py
+++ /dev/null
@@ -1,176 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Locks an account"""
-from baseCmd import *
-from baseResponse import *
-class lockAccountCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Locks the specified account."""
-        """Required"""
-        self.account = None
-        """Locks the specified account on this domain."""
-        """Required"""
-        self.domainid = None
-        self.required = ["account","domainid",]
-
-class lockAccountResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/lockUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/lockUser.py b/tools/marvin/build/lib/marvin/cloudstackAPI/lockUser.py
deleted file mode 100644
index 0372547..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/lockUser.py
+++ /dev/null
@@ -1,66 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Locks a user account"""
-from baseCmd import *
-from baseResponse import *
-class lockUserCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Locks user by user ID."""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class lockUserResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/login.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/login.py b/tools/marvin/build/lib/marvin/cloudstackAPI/login.py
deleted file mode 100644
index 003bd11..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/login.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Logs a user into the CloudStack. A successful login attempt will generate a JSESSIONID cookie value that can be passed in subsequent Query command calls until the "logout" command has been issued or the session has expired."""
-from baseCmd import *
-from baseResponse import *
-class loginCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Username"""
-        """Required"""
-        self.username = None
-        """Hashed password (Default is MD5). If you wish to use any other hashing algorithm, you would need to write a custom authentication adapter See Docs section."""
-        """Required"""
-        self.password = None
-        """path of the domain that the user belongs to. Example: domain=/com/cloud/internal.  If no domain is passed in, the ROOT domain is assumed."""
-        self.domain = None
-        """id of the domain that the user belongs to. If both domain and domainId are passed in, "domainId" parameter takes precendence"""
-        self.domainId = None
-        self.required = ["username","password",]
-
-class loginResponse (baseResponse):
-    def __init__(self):
-        """Username"""
-        self.username = None
-        """User id"""
-        self.userid = None
-        """Password"""
-        self.password = None
-        """domain ID that the user belongs to"""
-        self.domainid = None
-        """the time period before the session has expired"""
-        self.timeout = None
-        """the account name the user belongs to"""
-        self.account = None
-        """first name of the user"""
-        self.firstname = None
-        """last name of the user"""
-        self.lastname = None
-        """the account type (admin, domain-admin, read-only-admin, user)"""
-        self.type = None
-        """user time zone"""
-        self.timezone = None
-        """user time zone offset from UTC 00:00"""
-        self.timezoneoffset = None
-        """Session key that can be passed in subsequent Query command calls"""
-        self.sessionkey = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/logout.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/logout.py b/tools/marvin/build/lib/marvin/cloudstackAPI/logout.py
deleted file mode 100644
index 6bd4332..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/logout.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Logs out the user"""
-from baseCmd import *
-from baseResponse import *
-class logoutCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        self.required = []
-
-class logoutResponse (baseResponse):
-    def __init__(self):
-        """success if the logout action succeeded"""
-        self.description = None
-


[14/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listServiceOfferings.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listServiceOfferings.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listServiceOfferings.py
deleted file mode 100644
index 17580c0..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listServiceOfferings.py
+++ /dev/null
@@ -1,124 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all available service offerings."""
-from baseCmd import *
-from baseResponse import *
-class listServiceOfferingsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the domain associated with the service offering"""
-        self.domainid = None
-        """ID of the service offering"""
-        self.id = None
-        """is this a system vm offering"""
-        self.issystem = None
-        """List by keyword"""
-        self.keyword = None
-        """name of the service offering"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """List service offerings by resource tags (key/value pairs)"""
-        self.resourcetags = []
-        """the system VM type. Possible types are "consoleproxy", "secondarystoragevm" or "domainrouter"."""
-        self.systemvmtype = None
-        """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."""
-        self.virtualmachineid = None
-        self.required = []
-
-class listServiceOfferingsResponse (baseResponse):
-    def __init__(self):
-        """the id of the service offering"""
-        self.id = None
-        """the number of CPU"""
-        self.cpunumber = None
-        """the clock rate CPU speed in Mhz"""
-        self.cpuspeed = None
-        """the date this service offering was created"""
-        self.created = None
-        """is this a  default system vm offering"""
-        self.defaultuse = None
-        """deployment strategy used to deploy VM."""
-        self.deploymentplanner = None
-        """bytes read rate of the service offering"""
-        self.diskBytesReadRate = None
-        """bytes write rate of the service offering"""
-        self.diskBytesWriteRate = None
-        """io requests read rate of the service offering"""
-        self.diskIopsReadRate = None
-        """io requests write rate of the service offering"""
-        self.diskIopsWriteRate = None
-        """an alternate display text of the service offering."""
-        self.displaytext = None
-        """Domain name for the offering"""
-        self.domain = None
-        """the domain id of the service offering"""
-        self.domainid = None
-        """the host tag for the service offering"""
-        self.hosttags = None
-        """is this a system vm offering"""
-        self.issystem = None
-        """true if the vm needs to be volatile, i.e., on every reboot of vm from API root disk is discarded and creates a new root disk"""
-        self.isvolatile = None
-        """restrict the CPU usage to committed service offering"""
-        self.limitcpuuse = None
-        """the memory in MB"""
-        self.memory = None
-        """the name of the service offering"""
-        self.name = None
-        """data transfer rate in megabits per second allowed."""
-        self.networkrate = None
-        """the ha support in the service offering"""
-        self.offerha = None
-        """additional key/value details tied with this service offering"""
-        self.serviceofferingdetails = None
-        """the storage type for this service offering"""
-        self.storagetype = None
-        """is this a the systemvm type for system vm offering"""
-        self.systemvmtype = None
-        """the tags for the service offering"""
-        self.tags = None
-        """the list of resource tags associated with service offering. The resource tags are not used for Volume/VM placement on the specific host."""
-        self.resourcetags = []
-
-class resourcetags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listSnapshotPolicies.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listSnapshotPolicies.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listSnapshotPolicies.py
deleted file mode 100644
index 7c8ef79..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listSnapshotPolicies.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists snapshot policies."""
-from baseCmd import *
-from baseResponse import *
-class listSnapshotPoliciesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the disk volume"""
-        """Required"""
-        self.volumeid = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = ["volumeid",]
-
-class listSnapshotPoliciesResponse (baseResponse):
-    def __init__(self):
-        """the ID of the snapshot policy"""
-        self.id = None
-        """the interval type of the snapshot policy"""
-        self.intervaltype = None
-        """maximum number of snapshots retained"""
-        self.maxsnaps = None
-        """time the snapshot is scheduled to be taken."""
-        self.schedule = None
-        """the time zone of the snapshot policy"""
-        self.timezone = None
-        """the ID of the disk volume"""
-        self.volumeid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listSnapshots.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listSnapshots.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listSnapshots.py
deleted file mode 100644
index 79213ea..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listSnapshots.py
+++ /dev/null
@@ -1,118 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all available snapshots for the account."""
-from baseCmd import *
-from baseResponse import *
-class listSnapshotsCmd (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
-        """lists snapshot by snapshot ID"""
-        self.id = None
-        """valid values are HOURLY, DAILY, WEEKLY, and MONTHLY."""
-        self.intervaltype = 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 snapshot by snapshot name"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list objects by project"""
-        self.projectid = None
-        """valid values are MANUAL or RECURRING."""
-        self.snapshottype = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        """the ID of the disk volume"""
-        self.volumeid = None
-        """list snapshots by zone id"""
-        self.zoneid = None
-        self.required = []
-
-class listSnapshotsResponse (baseResponse):
-    def __init__(self):
-        """ID of the snapshot"""
-        self.id = None
-        """the account associated with the snapshot"""
-        self.account = None
-        """the date the snapshot was created"""
-        self.created = None
-        """the domain name of the snapshot's account"""
-        self.domain = None
-        """the domain ID of the snapshot's account"""
-        self.domainid = None
-        """valid types are hourly, daily, weekly, monthy, template, and none."""
-        self.intervaltype = None
-        """name of the snapshot"""
-        self.name = None
-        """the project name of the snapshot"""
-        self.project = None
-        """the project id of the snapshot"""
-        self.projectid = None
-        """the type of the snapshot"""
-        self.snapshottype = None
-        """the state of the snapshot. BackedUp means that snapshot is ready to be used; Creating - the snapshot is being allocated on the primary storage; BackingUp - the snapshot is being backed up on secondary storage"""
-        self.state = None
-        """ID of the disk volume"""
-        self.volumeid = None
-        """name of the disk volume"""
-        self.volumename = None
-        """type of the disk volume"""
-        self.volumetype = None
-        """id of the availability zone"""
-        self.zoneid = None
-        """the list of resource tags associated with snapshot"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listStaticRoutes.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listStaticRoutes.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listStaticRoutes.py
deleted file mode 100644
index f965e11..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listStaticRoutes.py
+++ /dev/null
@@ -1,98 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all static routes"""
-from baseCmd import *
-from baseResponse import *
-class listStaticRoutesCmd (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 static routes by gateway id"""
-        self.gatewayid = None
-        """list static route by id"""
-        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
-        """list objects by project"""
-        self.projectid = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        """list static routes by vpc id"""
-        self.vpcid = None
-        self.required = []
-
-class listStaticRoutesResponse (baseResponse):
-    def __init__(self):
-        """the ID of static route"""
-        self.id = None
-        """the account associated with the static route"""
-        self.account = None
-        """static route CIDR"""
-        self.cidr = None
-        """the domain associated with the static route"""
-        self.domain = None
-        """the ID of the domain associated with the static route"""
-        self.domainid = None
-        """VPC gateway the route is created for"""
-        self.gatewayid = None
-        """the project name of the static route"""
-        self.project = None
-        """the project id of the static route"""
-        self.projectid = None
-        """the state of the static route"""
-        self.state = None
-        """VPC the static route belongs to"""
-        self.vpcid = None
-        """the list of resource tags associated with static route"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listStorageNetworkIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listStorageNetworkIpRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listStorageNetworkIpRange.py
deleted file mode 100644
index 83807c4..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listStorageNetworkIpRange.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List a storage network IP range."""
-from baseCmd import *
-from baseResponse import *
-class listStorageNetworkIpRangeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """optional parameter. Storaget network IP range uuid, if specicied, using it to search the range."""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """optional parameter. Pod uuid, if specicied and range uuid is absent, using it to search the range."""
-        self.podid = None
-        """optional parameter. Zone uuid, if specicied and both pod uuid and range uuid are absent, using it to search the range."""
-        self.zoneid = None
-        self.required = []
-
-class listStorageNetworkIpRangeResponse (baseResponse):
-    def __init__(self):
-        """the uuid of storage network IP range."""
-        self.id = None
-        """the end ip of the storage network IP range"""
-        self.endip = None
-        """the gateway of the storage network IP range"""
-        self.gateway = None
-        """the netmask of the storage network IP range"""
-        self.netmask = None
-        """the network uuid of storage network IP range"""
-        self.networkid = None
-        """the Pod uuid for the storage network IP range"""
-        self.podid = None
-        """the start ip of the storage network IP range"""
-        self.startip = None
-        """the ID or VID of the VLAN."""
-        self.vlan = None
-        """the Zone uuid of the storage network IP range"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listStoragePools.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listStoragePools.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listStoragePools.py
deleted file mode 100644
index 7f211a6..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listStoragePools.py
+++ /dev/null
@@ -1,97 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists storage pools."""
-from baseCmd import *
-from baseResponse import *
-class listStoragePoolsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list storage pools belongig to the specific cluster"""
-        self.clusterid = None
-        """the ID of the storage pool"""
-        self.id = None
-        """the IP address for the storage pool"""
-        self.ipaddress = None
-        """List by keyword"""
-        self.keyword = None
-        """the name of the storage pool"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """the storage pool path"""
-        self.path = None
-        """the Pod ID for the storage pool"""
-        self.podid = None
-        """the ID of the storage pool"""
-        self.scope = None
-        """the Zone ID for the storage pool"""
-        self.zoneid = None
-        self.required = []
-
-class listStoragePoolsResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listStorageProviders.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listStorageProviders.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listStorageProviders.py
deleted file mode 100644
index 264496c..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listStorageProviders.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists storage providers."""
-from baseCmd import *
-from baseResponse import *
-class listStorageProvidersCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the type of storage provider: either primary or image"""
-        """Required"""
-        self.type = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = ["type",]
-
-class listStorageProvidersResponse (baseResponse):
-    def __init__(self):
-        """the name of the storage provider"""
-        self.name = None
-        """the type of the storage provider: primary or image provider"""
-        self.type = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listSupportedNetworkServices.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listSupportedNetworkServices.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listSupportedNetworkServices.py
deleted file mode 100644
index f9624d6..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listSupportedNetworkServices.py
+++ /dev/null
@@ -1,71 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all network services provided by CloudStack or for the given Provider."""
-from baseCmd import *
-from baseResponse import *
-class listSupportedNetworkServicesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """network service provider name"""
-        self.provider = None
-        """network service name to list providers and capabilities of"""
-        self.service = None
-        self.required = []
-
-class listSupportedNetworkServicesResponse (baseResponse):
-    def __init__(self):
-        """the service name"""
-        self.name = None
-        """the list of capabilities"""
-        self.capability = []
-        """the service provider name"""
-        self.provider = []
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listSwifts.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listSwifts.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listSwifts.py
deleted file mode 100644
index b80ac78..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listSwifts.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List Swift."""
-from baseCmd import *
-from baseResponse import *
-class listSwiftsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the id of the swift"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listSwiftsResponse (baseResponse):
-    def __init__(self):
-        """the ID of the image store"""
-        self.id = None
-        """the details of the image store"""
-        self.details = None
-        """the name of the image store"""
-        self.name = None
-        """the protocol of the image store"""
-        self.protocol = None
-        """the provider name of the image store"""
-        self.providername = None
-        """the scope of the image store"""
-        self.scope = None
-        """the url of the image store"""
-        self.url = None
-        """the Zone ID of the image store"""
-        self.zoneid = None
-        """the Zone name of the image store"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listSystemVms.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listSystemVms.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listSystemVms.py
deleted file mode 100644
index 13e54ce..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listSystemVms.py
+++ /dev/null
@@ -1,105 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List system virtual machines."""
-from baseCmd import *
-from baseResponse import *
-class listSystemVmsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the host ID of the system VM"""
-        self.hostid = None
-        """the ID of the system VM"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """the name of the system VM"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """the Pod ID of the system VM"""
-        self.podid = None
-        """the state of the system VM"""
-        self.state = None
-        """the storage ID where vm's volumes belong to"""
-        self.storageid = None
-        """the system VM type. Possible types are "consoleproxy" and "secondarystoragevm"."""
-        self.systemvmtype = None
-        """the Zone ID of the system VM"""
-        self.zoneid = None
-        self.required = []
-
-class listSystemVmsResponse (baseResponse):
-    def __init__(self):
-        """the ID of the system VM"""
-        self.id = None
-        """the number of active console sessions for the console proxy system vm"""
-        self.activeviewersessions = None
-        """the date and time the system VM was created"""
-        self.created = None
-        """the first DNS for the system VM"""
-        self.dns1 = None
-        """the second DNS for the system VM"""
-        self.dns2 = None
-        """the gateway for the system VM"""
-        self.gateway = None
-        """the host ID for the system VM"""
-        self.hostid = None
-        """the hostname for the system VM"""
-        self.hostname = None
-        """the job ID associated with the system VM. This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobid = None
-        """the job status associated with the system VM.  This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobstatus = None
-        """the link local IP address for the system vm"""
-        self.linklocalip = None
-        """the link local MAC address for the system vm"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the system vm"""
-        self.linklocalnetmask = None
-        """the name of the system VM"""
-        self.name = None
-        """the network domain for the system VM"""
-        self.networkdomain = None
-        """the Pod ID for the system VM"""
-        self.podid = None
-        """the private IP address for the system VM"""
-        self.privateip = None
-        """the private MAC address for the system VM"""
-        self.privatemacaddress = None
-        """the private netmask for the system VM"""
-        self.privatenetmask = None
-        """the public IP address for the system VM"""
-        self.publicip = None
-        """the public MAC address for the system VM"""
-        self.publicmacaddress = None
-        """the public netmask for the system VM"""
-        self.publicnetmask = None
-        """the state of the system VM"""
-        self.state = None
-        """the system VM type"""
-        self.systemvmtype = None
-        """the template ID for the system VM"""
-        self.templateid = None
-        """the Zone ID for the system VM"""
-        self.zoneid = None
-        """the Zone name for the system VM"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listTags.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listTags.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listTags.py
deleted file mode 100644
index 805a1f1..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listTags.py
+++ /dev/null
@@ -1,75 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List resource tag(s)"""
-from baseCmd import *
-from baseResponse import *
-class listTagsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list resources by account. Must be used with the domainId parameter."""
-        self.account = None
-        """list by customer name"""
-        self.customer = 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 key"""
-        self.key = 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
-        """list objects by project"""
-        self.projectid = None
-        """list by resource id"""
-        self.resourceid = None
-        """list by resource type"""
-        self.resourcetype = None
-        """list by value"""
-        self.value = None
-        self.required = []
-
-class listTagsResponse (baseResponse):
-    def __init__(self):
-        """the account associated with the tag"""
-        self.account = None
-        """customer associated with the tag"""
-        self.customer = None
-        """the domain associated with the tag"""
-        self.domain = None
-        """the ID of the domain associated with the tag"""
-        self.domainid = None
-        """tag key name"""
-        self.key = None
-        """the project name where tag belongs to"""
-        self.project = None
-        """the project id the tag belongs to"""
-        self.projectid = None
-        """id of the resource"""
-        self.resourceid = None
-        """resource type"""
-        self.resourcetype = None
-        """tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listTemplatePermissions.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listTemplatePermissions.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listTemplatePermissions.py
deleted file mode 100644
index 9ce101e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listTemplatePermissions.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List template visibility and all accounts that have permissions to view this template."""
-from baseCmd import *
-from baseResponse import *
-class listTemplatePermissionsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the template ID"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class listTemplatePermissionsResponse (baseResponse):
-    def __init__(self):
-        """the template ID"""
-        self.id = None
-        """the list of accounts the template is available for"""
-        self.account = None
-        """the ID of the domain to which the template belongs"""
-        self.domainid = None
-        """true if this template is a public template, false otherwise"""
-        self.ispublic = None
-        """the list of projects the template is available for"""
-        self.projectids = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listTemplates.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listTemplates.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listTemplates.py
deleted file mode 100644
index 1e02b7a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listTemplates.py
+++ /dev/null
@@ -1,157 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List all public, private, and privileged templates."""
-from baseCmd import *
-from baseResponse import *
-class listTemplatesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """possible values are "featured", "self", "selfexecutable","sharedexecutable","executable", and "community". * featured : templates that have been marked as featured and public. * self : templates that have been registered or created by the calling user. * selfexecutable : same as self, but only returns templates that can be used to deploy a new VM. * sharedexecutable : templates ready to be deployed that have been granted to the calling user by another user. * executable : templates that are owned by the calling user, or public templates, that can be used to deploy a VM. * community : templates that have been marked as public but not featured. * all : all templates (only usable by admins)."""
-        """Required"""
-        self.templatefilter = None
-        """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 hypervisor for which to restrict the search"""
-        self.hypervisor = None
-        """the template ID"""
-        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 template name"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list objects by project"""
-        self.projectid = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        """list templates by zoneId"""
-        self.zoneid = None
-        self.required = ["templatefilter",]
-
-class listTemplatesResponse (baseResponse):
-    def __init__(self):
-        """the template ID"""
-        self.id = None
-        """the account name to which the template belongs"""
-        self.account = None
-        """the account id to which the template belongs"""
-        self.accountid = None
-        """true if the ISO is bootable, false otherwise"""
-        self.bootable = None
-        """checksum of the template"""
-        self.checksum = None
-        """the date this template was created"""
-        self.created = None
-        """true if the template is managed across all Zones, false otherwise"""
-        self.crossZones = None
-        """additional key/value details tied with template"""
-        self.details = None
-        """the template display text"""
-        self.displaytext = None
-        """the name of the domain to which the template belongs"""
-        self.domain = None
-        """the ID of the domain to which the template belongs"""
-        self.domainid = None
-        """the format of the template."""
-        self.format = None
-        """the ID of the secondary storage host for the template"""
-        self.hostid = None
-        """the name of the secondary storage host for the template"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """true if the template is extractable, false otherwise"""
-        self.isextractable = None
-        """true if this template is a featured template, false otherwise"""
-        self.isfeatured = None
-        """true if this template is a public template, false otherwise"""
-        self.ispublic = None
-        """true if the template is ready to be deployed from, false otherwise."""
-        self.isready = None
-        """the template name"""
-        self.name = None
-        """the ID of the OS type for this template."""
-        self.ostypeid = None
-        """the name of the OS type for this template."""
-        self.ostypename = None
-        """true if the reset password feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the template"""
-        self.project = None
-        """the project id of the template"""
-        self.projectid = None
-        """the date this template was removed"""
-        self.removed = None
-        """the size of the template"""
-        self.size = None
-        """the template ID of the parent template if present"""
-        self.sourcetemplateid = None
-        """true if template is sshkey enabled, false otherwise"""
-        self.sshkeyenabled = None
-        """the status of the template"""
-        self.status = None
-        """the tag of this template"""
-        self.templatetag = None
-        """the type of the template"""
-        self.templatetype = None
-        """the ID of the zone for this template"""
-        self.zoneid = None
-        """the name of the zone for this template"""
-        self.zonename = None
-        """the list of resource tags associated with tempate"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listTrafficMonitors.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listTrafficMonitors.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listTrafficMonitors.py
deleted file mode 100644
index 6d94e2f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listTrafficMonitors.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List traffic monitor Hosts."""
-from baseCmd import *
-from baseResponse import *
-class listTrafficMonitorsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """zone Id"""
-        """Required"""
-        self.zoneid = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = ["zoneid",]
-
-class listTrafficMonitorsResponse (baseResponse):
-    def __init__(self):
-        """the ID of the external firewall"""
-        self.id = None
-        """the management IP address of the external firewall"""
-        self.ipaddress = None
-        """the number of times to retry requests to the external firewall"""
-        self.numretries = None
-        """the timeout (in seconds) for requests to the external firewall"""
-        self.timeout = None
-        """the zone ID of the external firewall"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listTrafficTypeImplementors.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listTrafficTypeImplementors.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listTrafficTypeImplementors.py
deleted file mode 100644
index 282c3bc..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listTrafficTypeImplementors.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists implementors of implementor of a network traffic type or implementors of all network traffic types"""
-from baseCmd import *
-from baseResponse import *
-class listTrafficTypeImplementorsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """Optional. The network traffic type, if specified, return its implementor. Otherwise, return all traffic types with their implementor"""
-        self.traffictype = None
-        self.required = []
-
-class listTrafficTypeImplementorsResponse (baseResponse):
-    def __init__(self):
-        """network traffic type"""
-        self.traffictype = None
-        """implementor of network traffic type"""
-        self.traffictypeimplementor = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listTrafficTypes.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listTrafficTypes.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listTrafficTypes.py
deleted file mode 100644
index 2fda712..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listTrafficTypes.py
+++ /dev/null
@@ -1,52 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists traffic types of a given physical network."""
-from baseCmd import *
-from baseResponse import *
-class listTrafficTypesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the Physical Network ID"""
-        """Required"""
-        self.physicalnetworkid = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = ["physicalnetworkid",]
-
-class listTrafficTypesResponse (baseResponse):
-    def __init__(self):
-        """uuid of the network provider"""
-        self.id = None
-        """true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """the provider name"""
-        self.name = None
-        """the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """services for this provider"""
-        self.servicelist = None
-        """state of the network provider"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listUcsBlades.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listUcsBlades.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listUcsBlades.py
deleted file mode 100644
index c5a3c09..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listUcsBlades.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List ucs blades"""
-from baseCmd import *
-from baseResponse import *
-class listUcsBladesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """ucs manager id"""
-        """Required"""
-        self.ucsmanagerid = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = ["ucsmanagerid",]
-
-class listUcsBladesResponse (baseResponse):
-    def __init__(self):
-        """ucs blade id"""
-        self.id = None
-        """ucs blade dn"""
-        self.bladedn = None
-        """cloudstack host id this blade associates to"""
-        self.hostid = None
-        """associated ucs profile dn"""
-        self.profiledn = None
-        """ucs manager id"""
-        self.ucsmanagerid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listUcsManagers.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listUcsManagers.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listUcsManagers.py
deleted file mode 100644
index e18a61e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listUcsManagers.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List ucs manager"""
-from baseCmd import *
-from baseResponse import *
-class listUcsManagersCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the ucs manager"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """the zone id"""
-        self.zoneid = None
-        self.required = []
-
-class listUcsManagersResponse (baseResponse):
-    def __init__(self):
-        """the ID of the ucs manager"""
-        self.id = None
-        """the name of ucs manager"""
-        self.name = None
-        """the url of ucs manager"""
-        self.url = None
-        """the zone ID of ucs manager"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listUcsProfiles.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listUcsProfiles.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listUcsProfiles.py
deleted file mode 100644
index 249fc8e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listUcsProfiles.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List profile in ucs manager"""
-from baseCmd import *
-from baseResponse import *
-class listUcsProfilesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the id for the ucs manager"""
-        """Required"""
-        self.ucsmanagerid = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = ["ucsmanagerid",]
-
-class listUcsProfilesResponse (baseResponse):
-    def __init__(self):
-        """ucs profile dn"""
-        self.ucsdn = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listUsageRecords.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listUsageRecords.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listUsageRecords.py
deleted file mode 100644
index 83131a0..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listUsageRecords.py
+++ /dev/null
@@ -1,101 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists usage records for accounts"""
-from baseCmd import *
-from baseResponse import *
-class listUsageRecordsCmd (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 usage records for the specified user."""
-        self.account = None
-        """List usage records for the specified account"""
-        self.accountid = None
-        """List usage records for the specified domain."""
-        self.domainid = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """List usage records for specified project"""
-        self.projectid = None
-        """List usage records for the specified usage type"""
-        self.type = None
-        self.required = ["enddate","startdate",]
-
-class listUsageRecordsResponse (baseResponse):
-    def __init__(self):
-        """the user account name"""
-        self.account = None
-        """the user account Id"""
-        self.accountid = None
-        """description of the usage record"""
-        self.description = None
-        """the domain the resource is associated with"""
-        self.domain = None
-        """the domain ID"""
-        self.domainid = None
-        """end date of the usage record"""
-        self.enddate = None
-        """True if the resource is default"""
-        self.isdefault = None
-        """True if the IPAddress is source NAT"""
-        self.issourcenat = None
-        """True if the IPAddress is system IP - allocated during vm deploy or lb rule create"""
-        self.issystem = None
-        """virtual machine name"""
-        self.name = None
-        """id of the network"""
-        self.networkid = None
-        """offering ID"""
-        self.offeringid = None
-        """the project name of the resource"""
-        self.project = None
-        """the project id of the resource"""
-        self.projectid = None
-        """raw usage in hours"""
-        self.rawusage = None
-        """resource size"""
-        self.size = None
-        """start date of the usage record"""
-        self.startdate = None
-        """template ID"""
-        self.templateid = None
-        """resource type"""
-        self.type = None
-        """usage in hours"""
-        self.usage = None
-        """id of the resource"""
-        self.usageid = None
-        """usage type ID"""
-        self.usagetype = None
-        """virtual machine ID"""
-        self.virtualmachineid = None
-        """virtual size of resource"""
-        self.virtualsize = None
-        """the zone ID"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listUsageTypes.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listUsageTypes.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listUsageTypes.py
deleted file mode 100644
index 787a416..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listUsageTypes.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List Usage Types"""
-from baseCmd import *
-from baseResponse import *
-class listUsageTypesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        self.required = []
-
-class listUsageTypesResponse (baseResponse):
-    def __init__(self):
-        """description of usage type"""
-        self.description = None
-        """usage type"""
-        self.usagetypeid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listUsers.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listUsers.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listUsers.py
deleted file mode 100644
index 88dce3b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listUsers.py
+++ /dev/null
@@ -1,85 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists user accounts"""
-from baseCmd import *
-from baseResponse import *
-class listUsersCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list resources by account. Must be used with the domainId parameter."""
-        self.account = None
-        """List users by account type. Valid types include admin, domain-admin, read-only-admin, or user."""
-        self.accounttype = None
-        """list only resources belonging to the domain specified"""
-        self.domainid = None
-        """List user by ID."""
-        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
-        """List users by state of the user account."""
-        self.state = None
-        """List user by the username"""
-        self.username = None
-        self.required = []
-
-class listUsersResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listVMSnapshot.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVMSnapshot.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVMSnapshot.py
deleted file mode 100644
index 3405807..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listVMSnapshot.py
+++ /dev/null
@@ -1,89 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List virtual machine snapshot by conditions"""
-from baseCmd import *
-from baseResponse import *
-class listVMSnapshotCmd (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
-        """lists snapshot by snapshot name or display name"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list objects by project"""
-        self.projectid = None
-        """state of the virtual machine snapshot"""
-        self.state = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        """the ID of the vm"""
-        self.virtualmachineid = None
-        """The ID of the VM snapshot"""
-        self.vmsnapshotid = None
-        self.required = []
-
-class listVMSnapshotResponse (baseResponse):
-    def __init__(self):
-        """the ID of the vm snapshot"""
-        self.id = None
-        """the account associated with the disk volume"""
-        self.account = None
-        """the create date of the vm snapshot"""
-        self.created = None
-        """indiates if this is current snapshot"""
-        self.current = None
-        """the description of the vm snapshot"""
-        self.description = None
-        """the display name of the vm snapshot"""
-        self.displayname = None
-        """the domain associated with the disk volume"""
-        self.domain = None
-        """the ID of the domain associated with the disk volume"""
-        self.domainid = None
-        """the name of the vm snapshot"""
-        self.name = None
-        """the parent ID of the vm snapshot"""
-        self.parent = None
-        """the parent displayName of the vm snapshot"""
-        self.parentName = None
-        """the project name of the vpn"""
-        self.project = None
-        """the project id of the vpn"""
-        self.projectid = None
-        """the state of the vm snapshot"""
-        self.state = None
-        """VM Snapshot type"""
-        self.type = None
-        """the vm ID of the vm snapshot"""
-        self.virtualmachineid = None
-        """the Zone ID of the vm snapshot"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listVPCOfferings.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVPCOfferings.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVPCOfferings.py
deleted file mode 100644
index 0c707c1..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listVPCOfferings.py
+++ /dev/null
@@ -1,116 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists VPC offerings"""
-from baseCmd import *
-from baseResponse import *
-class listVPCOfferingsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list VPC offerings by display text"""
-        self.displaytext = None
-        """list VPC offerings by id"""
-        self.id = None
-        """true if need to list only default VPC offerings. Default value is false"""
-        self.isdefault = None
-        """List by keyword"""
-        self.keyword = None
-        """list VPC offerings by name"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list VPC offerings by state"""
-        self.state = None
-        """list VPC offerings supporting certain services"""
-        self.supportedservices = []
-        self.required = []
-
-class listVPCOfferingsResponse (baseResponse):
-    def __init__(self):
-        """the id of the vpc offering"""
-        self.id = None
-        """the date this vpc offering was created"""
-        self.created = None
-        """an alternate display text of the vpc offering."""
-        self.displaytext = None
-        """true if vpc offering is default, false otherwise"""
-        self.isdefault = None
-        """the name of the vpc offering"""
-        self.name = None
-        """state of the vpc offering. Can be Disabled/Enabled"""
-        self.state = None
-        """the list of supported services"""
-        self.service = []
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-


[21/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateCluster.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateCluster.py b/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateCluster.py
deleted file mode 100644
index e52e233..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateCluster.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Dedicate an existing cluster"""
-from baseCmd import *
-from baseResponse import *
-class dedicateClusterCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the Cluster"""
-        """Required"""
-        self.clusterid = None
-        """the ID of the containing domain"""
-        """Required"""
-        self.domainid = None
-        """the name of the account which needs dedication. Must be used with domainId."""
-        self.account = None
-        self.required = ["clusterid","domainid",]
-
-class dedicateClusterResponse (baseResponse):
-    def __init__(self):
-        """the ID of the dedicated resource"""
-        self.id = None
-        """the Account ID of the cluster"""
-        self.accountid = None
-        """the Dedication Affinity Group ID of the cluster"""
-        self.affinitygroupid = None
-        """the ID of the cluster"""
-        self.clusterid = None
-        """the name of the cluster"""
-        self.clustername = None
-        """the domain ID of the cluster"""
-        self.domainid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateGuestVlanRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateGuestVlanRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateGuestVlanRange.py
deleted file mode 100644
index 3c779a6..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateGuestVlanRange.py
+++ /dev/null
@@ -1,61 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Dedicates a guest vlan range to an account"""
-from baseCmd import *
-from baseResponse import *
-class dedicateGuestVlanRangeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """account who will own the VLAN"""
-        """Required"""
-        self.account = None
-        """domain ID of the account owning a VLAN"""
-        """Required"""
-        self.domainid = None
-        """physical network ID of the vlan"""
-        """Required"""
-        self.physicalnetworkid = None
-        """guest vlan range to be dedicated"""
-        """Required"""
-        self.vlanrange = None
-        """project who will own the VLAN"""
-        self.projectid = None
-        self.required = ["account","domainid","physicalnetworkid","vlanrange",]
-
-class dedicateGuestVlanRangeResponse (baseResponse):
-    def __init__(self):
-        """the ID of the guest VLAN range"""
-        self.id = None
-        """the account of the guest VLAN range"""
-        self.account = None
-        """the domain name of the guest VLAN range"""
-        self.domain = None
-        """the domain ID of the guest VLAN range"""
-        self.domainid = None
-        """the guest VLAN range"""
-        self.guestvlanrange = None
-        """the physical network of the guest vlan range"""
-        self.physicalnetworkid = None
-        """the project name of the guest vlan range"""
-        self.project = None
-        """the project id of the guest vlan range"""
-        self.projectid = None
-        """the zone of the guest vlan range"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateHost.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateHost.py b/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateHost.py
deleted file mode 100644
index 122d3e2..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateHost.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Dedicates a host."""
-from baseCmd import *
-from baseResponse import *
-class dedicateHostCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the containing domain"""
-        """Required"""
-        self.domainid = None
-        """the ID of the host to update"""
-        """Required"""
-        self.hostid = None
-        """the name of the account which needs dedication. Must be used with domainId."""
-        self.account = None
-        self.required = ["domainid","hostid",]
-
-class dedicateHostResponse (baseResponse):
-    def __init__(self):
-        """the ID of the dedicated resource"""
-        self.id = None
-        """the Account ID of the host"""
-        self.accountid = None
-        """the Dedication Affinity Group ID of the host"""
-        self.affinitygroupid = None
-        """the domain ID of the host"""
-        self.domainid = None
-        """the ID of the host"""
-        self.hostid = None
-        """the name of the host"""
-        self.hostname = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/dedicatePod.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/dedicatePod.py b/tools/marvin/build/lib/marvin/cloudstackAPI/dedicatePod.py
deleted file mode 100644
index 494d846..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/dedicatePod.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Dedicates a Pod."""
-from baseCmd import *
-from baseResponse import *
-class dedicatePodCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the containing domain"""
-        """Required"""
-        self.domainid = None
-        """the ID of the Pod"""
-        """Required"""
-        self.podid = None
-        """the name of the account which needs dedication. Must be used with domainId."""
-        self.account = None
-        self.required = ["domainid","podid",]
-
-class dedicatePodResponse (baseResponse):
-    def __init__(self):
-        """the ID of the dedicated resource"""
-        self.id = None
-        """the Account Id to which the Pod is dedicated"""
-        self.accountid = None
-        """the Dedication Affinity Group ID of the pod"""
-        self.affinitygroupid = None
-        """the domain ID to which the Pod is dedicated"""
-        self.domainid = None
-        """the ID of the Pod"""
-        self.podid = None
-        """the Name of the Pod"""
-        self.podname = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/dedicatePublicIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/dedicatePublicIpRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/dedicatePublicIpRange.py
deleted file mode 100644
index ce4f768..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/dedicatePublicIpRange.py
+++ /dev/null
@@ -1,84 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Dedicates a Public IP range to an account"""
-from baseCmd import *
-from baseResponse import *
-class dedicatePublicIpRangeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the id of the VLAN IP range"""
-        """Required"""
-        self.id = None
-        """account who will own the VLAN"""
-        """Required"""
-        self.account = None
-        """domain ID of the account owning a VLAN"""
-        """Required"""
-        self.domainid = None
-        """project who will own the VLAN"""
-        self.projectid = None
-        self.required = ["id","account","domainid",]
-
-class dedicatePublicIpRangeResponse (baseResponse):
-    def __init__(self):
-        """the ID of the VLAN IP range"""
-        self.id = None
-        """the account of the VLAN IP range"""
-        self.account = None
-        """the description of the VLAN IP range"""
-        self.description = None
-        """the domain name of the VLAN IP range"""
-        self.domain = None
-        """the domain ID of the VLAN IP range"""
-        self.domainid = None
-        """the end ip of the VLAN IP range"""
-        self.endip = None
-        """the end ipv6 of the VLAN IP range"""
-        self.endipv6 = None
-        """the virtual network for the VLAN IP range"""
-        self.forvirtualnetwork = None
-        """the gateway of the VLAN IP range"""
-        self.gateway = None
-        """the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """the netmask of the VLAN IP range"""
-        self.netmask = None
-        """the network id of vlan range"""
-        self.networkid = None
-        """the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """the Pod ID for the VLAN IP range"""
-        self.podid = None
-        """the Pod name for the VLAN IP range"""
-        self.podname = None
-        """the project name of the vlan range"""
-        self.project = None
-        """the project id of the vlan range"""
-        self.projectid = None
-        """the start ip of the VLAN IP range"""
-        self.startip = None
-        """the start ipv6 of the VLAN IP range"""
-        self.startipv6 = None
-        """the ID or VID of the VLAN."""
-        self.vlan = None
-        """the Zone ID of the VLAN IP range"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateZone.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateZone.py b/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateZone.py
deleted file mode 100644
index caf901e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/dedicateZone.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Dedicates a zones."""
-from baseCmd import *
-from baseResponse import *
-class dedicateZoneCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the containing domain"""
-        """Required"""
-        self.domainid = None
-        """the ID of the zone"""
-        """Required"""
-        self.zoneid = None
-        """the name of the account which needs dedication. Must be used with domainId."""
-        self.account = None
-        self.required = ["domainid","zoneid",]
-
-class dedicateZoneResponse (baseResponse):
-    def __init__(self):
-        """the ID of the dedicated resource"""
-        self.id = None
-        """the Account Id to which the Zone is dedicated"""
-        self.accountid = None
-        """the Dedication Affinity Group ID of the zone"""
-        self.affinitygroupid = None
-        """the domain ID to which the Zone is dedicated"""
-        self.domainid = None
-        """the ID of the Zone"""
-        self.zoneid = None
-        """the Name of the Zone"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAccount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAccount.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAccount.py
deleted file mode 100644
index 84810c8..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAccount.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a account, and all users associated with this account"""
-from baseCmd import *
-from baseResponse import *
-class deleteAccountCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Account id"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteAccountResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAccountFromProject.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAccountFromProject.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAccountFromProject.py
deleted file mode 100644
index e7e32fc..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAccountFromProject.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes account from the project"""
-from baseCmd import *
-from baseResponse import *
-class deleteAccountFromProjectCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """name of the account to be removed from the project"""
-        """Required"""
-        self.account = None
-        """id of the project to remove the account from"""
-        """Required"""
-        self.projectid = None
-        self.required = ["account","projectid",]
-
-class deleteAccountFromProjectResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAffinityGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAffinityGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAffinityGroup.py
deleted file mode 100644
index 059dd8a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAffinityGroup.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes affinity group"""
-from baseCmd import *
-from baseResponse import *
-class deleteAffinityGroupCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the account of the affinity group. Must be specified with domain ID"""
-        self.account = None
-        """the domain ID of account owning the affinity group"""
-        self.domainid = None
-        """The ID of the affinity group. Mutually exclusive with name parameter"""
-        self.id = None
-        """The name of the affinity group. Mutually exclusive with id parameter"""
-        self.name = None
-        self.required = []
-
-class deleteAffinityGroupResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAlerts.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAlerts.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAlerts.py
deleted file mode 100644
index 7bebd41..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAlerts.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Delete one or more alerts."""
-from baseCmd import *
-from baseResponse import *
-class deleteAlertsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """end date range to delete alerts (including) this date (use format "yyyy-MM-dd" or the new format "yyyy-MM-ddThh:mm:ss")"""
-        self.enddate = None
-        """the IDs of the alerts"""
-        self.ids = []
-        """start date range to delete alerts (including) this date (use format "yyyy-MM-dd" or the new format "yyyy-MM-ddThh:mm:ss")"""
-        self.startdate = None
-        """delete by alert type"""
-        self.type = None
-        self.required = []
-
-class deleteAlertsResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAutoScalePolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAutoScalePolicy.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAutoScalePolicy.py
deleted file mode 100644
index 5ce5b2a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAutoScalePolicy.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a autoscale policy."""
-from baseCmd import *
-from baseResponse import *
-class deleteAutoScalePolicyCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the autoscale policy"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteAutoScalePolicyResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAutoScaleVmGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAutoScaleVmGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAutoScaleVmGroup.py
deleted file mode 100644
index 060d5f0..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAutoScaleVmGroup.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a autoscale vm group."""
-from baseCmd import *
-from baseResponse import *
-class deleteAutoScaleVmGroupCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the autoscale group"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteAutoScaleVmGroupResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAutoScaleVmProfile.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAutoScaleVmProfile.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAutoScaleVmProfile.py
deleted file mode 100644
index 9279a56..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteAutoScaleVmProfile.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a autoscale vm profile."""
-from baseCmd import *
-from baseResponse import *
-class deleteAutoScaleVmProfileCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the autoscale profile"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteAutoScaleVmProfileResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteBigSwitchVnsDevice.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteBigSwitchVnsDevice.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteBigSwitchVnsDevice.py
deleted file mode 100644
index c3c4150..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteBigSwitchVnsDevice.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""delete a bigswitch vns device"""
-from baseCmd import *
-from baseResponse import *
-class deleteBigSwitchVnsDeviceCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """BigSwitch device ID"""
-        """Required"""
-        self.vnsdeviceid = None
-        self.required = ["vnsdeviceid",]
-
-class deleteBigSwitchVnsDeviceResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteCluster.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteCluster.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteCluster.py
deleted file mode 100644
index 7ad27c2..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteCluster.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a cluster."""
-from baseCmd import *
-from baseResponse import *
-class deleteClusterCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the cluster ID"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteClusterResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteCondition.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteCondition.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteCondition.py
deleted file mode 100644
index e87ec95..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteCondition.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Removes a condition"""
-from baseCmd import *
-from baseResponse import *
-class deleteConditionCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the condition."""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteConditionResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteCounter.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteCounter.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteCounter.py
deleted file mode 100644
index 78c2b71..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteCounter.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a counter"""
-from baseCmd import *
-from baseResponse import *
-class deleteCounterCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the counter"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteCounterResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteDiskOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteDiskOffering.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteDiskOffering.py
deleted file mode 100644
index 535d992..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteDiskOffering.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a disk offering."""
-from baseCmd import *
-from baseResponse import *
-class deleteDiskOfferingCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """ID of the disk offering"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteDiskOfferingResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteDomain.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteDomain.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteDomain.py
deleted file mode 100644
index 7289850..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteDomain.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a specified domain"""
-from baseCmd import *
-from baseResponse import *
-class deleteDomainCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """ID of domain to delete"""
-        """Required"""
-        self.id = None
-        """true if all domain resources (child domains, accounts) have to be cleaned up, false otherwise"""
-        self.cleanup = None
-        self.required = ["id",]
-
-class deleteDomainResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteEgressFirewallRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteEgressFirewallRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteEgressFirewallRule.py
deleted file mode 100644
index 3baecad..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteEgressFirewallRule.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes an ggress firewall rule"""
-from baseCmd import *
-from baseResponse import *
-class deleteEgressFirewallRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the firewall rule"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteEgressFirewallRuleResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteEvents.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteEvents.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteEvents.py
deleted file mode 100644
index 3b4cbdf..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteEvents.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Delete one or more events."""
-from baseCmd import *
-from baseResponse import *
-class deleteEventsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """end date range to delete events (including) this date (use format "yyyy-MM-dd" or the new format "yyyy-MM-ddThh:mm:ss")"""
-        self.enddate = None
-        """the IDs of the events"""
-        self.ids = []
-        """start date range to delete events (including) this date (use format "yyyy-MM-dd" or the new format "yyyy-MM-ddThh:mm:ss")"""
-        self.startdate = None
-        """delete by event type"""
-        self.type = None
-        self.required = []
-
-class deleteEventsResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteFirewallRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteFirewallRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteFirewallRule.py
deleted file mode 100644
index de9344a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteFirewallRule.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a firewall rule"""
-from baseCmd import *
-from baseResponse import *
-class deleteFirewallRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the firewall rule"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteFirewallRuleResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteGlobalLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteGlobalLoadBalancerRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteGlobalLoadBalancerRule.py
deleted file mode 100644
index 26ef6fe..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteGlobalLoadBalancerRule.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a global load balancer rule."""
-from baseCmd import *
-from baseResponse import *
-class deleteGlobalLoadBalancerRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the global load balancer rule"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteGlobalLoadBalancerRuleResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteHost.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteHost.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteHost.py
deleted file mode 100644
index 1ffd8de..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteHost.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a host."""
-from baseCmd import *
-from baseResponse import *
-class deleteHostCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the host ID"""
-        """Required"""
-        self.id = None
-        """Force delete the host. All HA enabled vms running on the host will be put to HA; HA disabled ones will be stopped"""
-        self.forced = None
-        """Force destroy local storage on this host. All VMs created on this local storage will be destroyed"""
-        self.forcedestroylocalstorage = None
-        self.required = ["id",]
-
-class deleteHostResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteImageStore.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteImageStore.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteImageStore.py
deleted file mode 100644
index 447eab3..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteImageStore.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes an image store ."""
-from baseCmd import *
-from baseResponse import *
-class deleteImageStoreCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the image store ID"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteImageStoreResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteInstanceGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteInstanceGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteInstanceGroup.py
deleted file mode 100644
index ccfef7f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteInstanceGroup.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a vm group"""
-from baseCmd import *
-from baseResponse import *
-class deleteInstanceGroupCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the instance group"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteInstanceGroupResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteIpForwardingRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteIpForwardingRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteIpForwardingRule.py
deleted file mode 100644
index 3cf496f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteIpForwardingRule.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes an ip forwarding rule"""
-from baseCmd import *
-from baseResponse import *
-class deleteIpForwardingRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the id of the forwarding rule"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteIpForwardingRuleResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteIso.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteIso.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteIso.py
deleted file mode 100644
index 748b6be..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteIso.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes an ISO file."""
-from baseCmd import *
-from baseResponse import *
-class deleteIsoCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the ISO file"""
-        """Required"""
-        self.id = None
-        """the ID of the zone of the ISO file. If not specified, the ISO will be deleted from all the zones"""
-        self.zoneid = None
-        self.required = ["id",]
-
-class deleteIsoResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLBHealthCheckPolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLBHealthCheckPolicy.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLBHealthCheckPolicy.py
deleted file mode 100644
index 5008616..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLBHealthCheckPolicy.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a load balancer HealthCheck policy."""
-from baseCmd import *
-from baseResponse import *
-class deleteLBHealthCheckPolicyCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the load balancer HealthCheck policy"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteLBHealthCheckPolicyResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLBStickinessPolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLBStickinessPolicy.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLBStickinessPolicy.py
deleted file mode 100644
index d90b4d8..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLBStickinessPolicy.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a LB stickiness policy."""
-from baseCmd import *
-from baseResponse import *
-class deleteLBStickinessPolicyCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the LB stickiness policy"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteLBStickinessPolicyResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLdapConfiguration.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLdapConfiguration.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLdapConfiguration.py
deleted file mode 100644
index 3ac530d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLdapConfiguration.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Remove an Ldap Configuration"""
-from baseCmd import *
-from baseResponse import *
-class deleteLdapConfigurationCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Hostname"""
-        """Required"""
-        self.hostname = None
-        self.required = ["hostname",]
-
-class deleteLdapConfigurationResponse (baseResponse):
-    def __init__(self):
-        """hostname"""
-        self.hostname = None
-        """port"""
-        self.port = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLoadBalancer.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLoadBalancer.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLoadBalancer.py
deleted file mode 100644
index 753c370..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLoadBalancer.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a load balancer"""
-from baseCmd import *
-from baseResponse import *
-class deleteLoadBalancerCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the Load Balancer"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteLoadBalancerResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLoadBalancerRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLoadBalancerRule.py
deleted file mode 100644
index 6608250..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteLoadBalancerRule.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a load balancer rule."""
-from baseCmd import *
-from baseResponse import *
-class deleteLoadBalancerRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the load balancer rule"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteLoadBalancerRuleResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetwork.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetwork.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetwork.py
deleted file mode 100644
index adbb792..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetwork.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a network"""
-from baseCmd import *
-from baseResponse import *
-class deleteNetworkCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the network"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteNetworkResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkACL.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkACL.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkACL.py
deleted file mode 100644
index cf2288d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkACL.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a Network ACL"""
-from baseCmd import *
-from baseResponse import *
-class deleteNetworkACLCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the network ACL"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteNetworkACLResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkACLList.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkACLList.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkACLList.py
deleted file mode 100644
index e9b854b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkACLList.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a Network ACL"""
-from baseCmd import *
-from baseResponse import *
-class deleteNetworkACLListCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the network ACL"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteNetworkACLListResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkDevice.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkDevice.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkDevice.py
deleted file mode 100644
index 11014f4..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkDevice.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes network device."""
-from baseCmd import *
-from baseResponse import *
-class deleteNetworkDeviceCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Id of network device to delete"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteNetworkDeviceResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkOffering.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkOffering.py
deleted file mode 100644
index 7674721..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkOffering.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a network offering."""
-from baseCmd import *
-from baseResponse import *
-class deleteNetworkOfferingCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the network offering"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteNetworkOfferingResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkServiceProvider.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkServiceProvider.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkServiceProvider.py
deleted file mode 100644
index 0bdc3e4..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNetworkServiceProvider.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a Network Service Provider."""
-from baseCmd import *
-from baseResponse import *
-class deleteNetworkServiceProviderCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the network service provider"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteNetworkServiceProviderResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNiciraNvpDevice.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNiciraNvpDevice.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNiciraNvpDevice.py
deleted file mode 100644
index 067ea8b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteNiciraNvpDevice.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""delete a nicira nvp device"""
-from baseCmd import *
-from baseResponse import *
-class deleteNiciraNvpDeviceCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Nicira device ID"""
-        """Required"""
-        self.nvpdeviceid = None
-        self.required = ["nvpdeviceid",]
-
-class deleteNiciraNvpDeviceResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deletePhysicalNetwork.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deletePhysicalNetwork.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deletePhysicalNetwork.py
deleted file mode 100644
index 3638130..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deletePhysicalNetwork.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a Physical Network."""
-from baseCmd import *
-from baseResponse import *
-class deletePhysicalNetworkCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the Physical network"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deletePhysicalNetworkResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deletePod.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deletePod.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deletePod.py
deleted file mode 100644
index 73e636e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deletePod.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a Pod."""
-from baseCmd import *
-from baseResponse import *
-class deletePodCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the Pod"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deletePodResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deletePortForwardingRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deletePortForwardingRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deletePortForwardingRule.py
deleted file mode 100644
index 4669d0e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deletePortForwardingRule.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a port forwarding rule"""
-from baseCmd import *
-from baseResponse import *
-class deletePortForwardingRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the port forwarding rule"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deletePortForwardingRuleResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deletePortableIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deletePortableIpRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deletePortableIpRange.py
deleted file mode 100644
index 9fe2346..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deletePortableIpRange.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""deletes a range of portable public IP's associated with a region"""
-from baseCmd import *
-from baseResponse import *
-class deletePortableIpRangeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Id of the portable ip range"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deletePortableIpRangeResponse (baseResponse):
-    def __init__(self):
-        """any text associated with the success or failure"""
-        self.displaytext = None
-        """true if operation is executed successfully"""
-        self.success = None
-


[17/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listCounters.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listCounters.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listCounters.py
deleted file mode 100644
index 105b2fe..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listCounters.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List the counters"""
-from baseCmd import *
-from baseResponse import *
-class listCountersCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """ID of the Counter."""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """Name of the counter."""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """Source of the counter."""
-        self.source = None
-        self.required = []
-
-class listCountersResponse (baseResponse):
-    def __init__(self):
-        """the id of the Counter"""
-        self.id = None
-        """Name of the counter."""
-        self.name = None
-        """Source of the counter."""
-        self.source = None
-        """Value in case of snmp or other specific counters."""
-        self.value = None
-        """zone id of counter"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedClusters.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedClusters.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedClusters.py
deleted file mode 100644
index 6afffa4..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedClusters.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists dedicated clusters."""
-from baseCmd import *
-from baseResponse import *
-class listDedicatedClustersCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the name of the account associated with the cluster. Must be used with domainId."""
-        self.account = None
-        """list dedicated clusters by affinity group"""
-        self.affinitygroupid = None
-        """the ID of the cluster"""
-        self.clusterid = None
-        """the ID of the domain associated with the cluster"""
-        self.domainid = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listDedicatedClustersResponse (baseResponse):
-    def __init__(self):
-        """the ID of the dedicated resource"""
-        self.id = None
-        """the Account ID of the cluster"""
-        self.accountid = None
-        """the Dedication Affinity Group ID of the cluster"""
-        self.affinitygroupid = None
-        """the ID of the cluster"""
-        self.clusterid = None
-        """the name of the cluster"""
-        self.clustername = None
-        """the domain ID of the cluster"""
-        self.domainid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedGuestVlanRanges.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedGuestVlanRanges.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedGuestVlanRanges.py
deleted file mode 100644
index 9cb0d57..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedGuestVlanRanges.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists dedicated guest vlan ranges"""
-from baseCmd import *
-from baseResponse import *
-class listDedicatedGuestVlanRangesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the account with which the guest VLAN range is associated. Must be used with the domainId parameter."""
-        self.account = None
-        """the domain ID with which the guest VLAN range is associated.  If used with the account parameter, returns all guest VLAN ranges for that account in the specified domain."""
-        self.domainid = None
-        """the dedicated guest vlan range"""
-        self.guestvlanrange = None
-        """list dedicated guest vlan ranges by id"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """physical network id of the guest VLAN range"""
-        self.physicalnetworkid = None
-        """project who will own the guest VLAN range"""
-        self.projectid = None
-        """zone of the guest VLAN range"""
-        self.zoneid = None
-        self.required = []
-
-class listDedicatedGuestVlanRangesResponse (baseResponse):
-    def __init__(self):
-        """the ID of the guest VLAN range"""
-        self.id = None
-        """the account of the guest VLAN range"""
-        self.account = None
-        """the domain name of the guest VLAN range"""
-        self.domain = None
-        """the domain ID of the guest VLAN range"""
-        self.domainid = None
-        """the guest VLAN range"""
-        self.guestvlanrange = None
-        """the physical network of the guest vlan range"""
-        self.physicalnetworkid = None
-        """the project name of the guest vlan range"""
-        self.project = None
-        """the project id of the guest vlan range"""
-        self.projectid = None
-        """the zone of the guest vlan range"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedHosts.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedHosts.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedHosts.py
deleted file mode 100644
index d2f8aaf..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedHosts.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists dedicated hosts."""
-from baseCmd import *
-from baseResponse import *
-class listDedicatedHostsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the name of the account associated with the host. Must be used with domainId."""
-        self.account = None
-        """list dedicated hosts by affinity group"""
-        self.affinitygroupid = None
-        """the ID of the domain associated with the host"""
-        self.domainid = None
-        """the ID of the host"""
-        self.hostid = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listDedicatedHostsResponse (baseResponse):
-    def __init__(self):
-        """the ID of the dedicated resource"""
-        self.id = None
-        """the Account ID of the host"""
-        self.accountid = None
-        """the Dedication Affinity Group ID of the host"""
-        self.affinitygroupid = None
-        """the domain ID of the host"""
-        self.domainid = None
-        """the ID of the host"""
-        self.hostid = None
-        """the name of the host"""
-        self.hostname = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedPods.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedPods.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedPods.py
deleted file mode 100644
index 245f0e3..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedPods.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists dedicated pods."""
-from baseCmd import *
-from baseResponse import *
-class listDedicatedPodsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the name of the account associated with the pod. Must be used with domainId."""
-        self.account = None
-        """list dedicated pods by affinity group"""
-        self.affinitygroupid = None
-        """the ID of the domain associated with the pod"""
-        self.domainid = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """the ID of the pod"""
-        self.podid = None
-        self.required = []
-
-class listDedicatedPodsResponse (baseResponse):
-    def __init__(self):
-        """the ID of the dedicated resource"""
-        self.id = None
-        """the Account Id to which the Pod is dedicated"""
-        self.accountid = None
-        """the Dedication Affinity Group ID of the pod"""
-        self.affinitygroupid = None
-        """the domain ID to which the Pod is dedicated"""
-        self.domainid = None
-        """the ID of the Pod"""
-        self.podid = None
-        """the Name of the Pod"""
-        self.podname = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedZones.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedZones.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedZones.py
deleted file mode 100644
index d287010..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listDedicatedZones.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List dedicated zones."""
-from baseCmd import *
-from baseResponse import *
-class listDedicatedZonesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the name of the account associated with the zone. Must be used with domainId."""
-        self.account = None
-        """list dedicated zones by affinity group"""
-        self.affinitygroupid = None
-        """the ID of the domain associated with the zone"""
-        self.domainid = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """the ID of the Zone"""
-        self.zoneid = None
-        self.required = []
-
-class listDedicatedZonesResponse (baseResponse):
-    def __init__(self):
-        """the ID of the dedicated resource"""
-        self.id = None
-        """the Account Id to which the Zone is dedicated"""
-        self.accountid = None
-        """the Dedication Affinity Group ID of the zone"""
-        self.affinitygroupid = None
-        """the domain ID to which the Zone is dedicated"""
-        self.domainid = None
-        """the ID of the Zone"""
-        self.zoneid = None
-        """the Name of the Zone"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listDeploymentPlanners.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listDeploymentPlanners.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listDeploymentPlanners.py
deleted file mode 100644
index 6adefdc..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listDeploymentPlanners.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all DeploymentPlanners available."""
-from baseCmd import *
-from baseResponse import *
-class listDeploymentPlannersCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listDeploymentPlannersResponse (baseResponse):
-    def __init__(self):
-        """Deployment Planner name"""
-        self.name = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listDiskOfferings.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listDiskOfferings.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listDiskOfferings.py
deleted file mode 100644
index c49758d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listDiskOfferings.py
+++ /dev/null
@@ -1,77 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all available disk offerings."""
-from baseCmd import *
-from baseResponse import *
-class listDiskOfferingsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the domain of the disk offering."""
-        self.domainid = None
-        """ID of the disk offering"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """name of the disk offering"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listDiskOfferingsResponse (baseResponse):
-    def __init__(self):
-        """unique ID of the disk offering"""
-        self.id = None
-        """the date this disk offering was created"""
-        self.created = None
-        """bytes read rate of the disk offering"""
-        self.diskBytesReadRate = None
-        """bytes write rate of the disk offering"""
-        self.diskBytesWriteRate = None
-        """io requests read rate of the disk offering"""
-        self.diskIopsReadRate = None
-        """io requests write rate of the disk offering"""
-        self.diskIopsWriteRate = None
-        """the size of the disk offering in GB"""
-        self.disksize = None
-        """whether to display the offering to the end user or not."""
-        self.displayoffering = None
-        """an alternate display text of the disk offering."""
-        self.displaytext = None
-        """the domain name this disk offering belongs to. Ignore this information as it is not currently applicable."""
-        self.domain = None
-        """the domain ID this disk offering belongs to. Ignore this information as it is not currently applicable."""
-        self.domainid = None
-        """true if disk offering uses custom size, false otherwise"""
-        self.iscustomized = None
-        """true if disk offering uses custom iops, false otherwise"""
-        self.iscustomizediops = None
-        """the max iops of the disk offering"""
-        self.maxiops = None
-        """the min iops of the disk offering"""
-        self.miniops = None
-        """the name of the disk offering"""
-        self.name = None
-        """the storage type for this disk offering"""
-        self.storagetype = None
-        """the tags for the disk offering"""
-        self.tags = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listDomainChildren.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listDomainChildren.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listDomainChildren.py
deleted file mode 100644
index 83c1fb9..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listDomainChildren.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all children domains belonging to a specified domain"""
-from baseCmd import *
-from baseResponse import *
-class listDomainChildrenCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list children domain by parent domain ID."""
-        self.id = None
-        """to return the entire tree, use the value "true". To return the first level children, use the value "false"."""
-        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 children domains by name"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listDomainChildrenResponse (baseResponse):
-    def __init__(self):
-        """the ID of the domain"""
-        self.id = None
-        """whether the domain has one or more sub-domains"""
-        self.haschild = None
-        """the level of the domain"""
-        self.level = None
-        """the name of the domain"""
-        self.name = None
-        """the network domain"""
-        self.networkdomain = None
-        """the domain ID of the parent domain"""
-        self.parentdomainid = None
-        """the domain name of the parent domain"""
-        self.parentdomainname = None
-        """the path of the domain"""
-        self.path = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listDomains.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listDomains.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listDomains.py
deleted file mode 100644
index 1f8c929..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listDomains.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists domains and provides detailed information for listed domains"""
-from baseCmd import *
-from baseResponse import *
-class listDomainsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """List domain by domain ID."""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """List domains by domain level."""
-        self.level = 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 domain by domain name."""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listDomainsResponse (baseResponse):
-    def __init__(self):
-        """the ID of the domain"""
-        self.id = None
-        """whether the domain has one or more sub-domains"""
-        self.haschild = None
-        """the level of the domain"""
-        self.level = None
-        """the name of the domain"""
-        self.name = None
-        """the network domain"""
-        self.networkdomain = None
-        """the domain ID of the parent domain"""
-        self.parentdomainid = None
-        """the domain name of the parent domain"""
-        self.parentdomainname = None
-        """the path of the domain"""
-        self.path = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listEgressFirewallRules.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listEgressFirewallRules.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listEgressFirewallRules.py
deleted file mode 100644
index 38f169c..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listEgressFirewallRules.py
+++ /dev/null
@@ -1,102 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all egress firewall rules for network id."""
-from baseCmd import *
-from baseResponse import *
-class listEgressFirewallRulesCmd (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
-        """Lists rule with the specified ID."""
-        self.id = None
-        """Lists rule with the specified ID."""
-        self.id = None
-        """the id of IP address of the firwall services"""
-        self.ipaddressid = 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 id network network for the egress firwall services"""
-        self.networkid = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list objects by project"""
-        self.projectid = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        self.required = []
-
-class listEgressFirewallRulesResponse (baseResponse):
-    def __init__(self):
-        """the ID of the firewall rule"""
-        self.id = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """the ending port of firewall rule's port range"""
-        self.endport = None
-        """error code for this icmp message"""
-        self.icmpcode = None
-        """type of the icmp message being sent"""
-        self.icmptype = None
-        """the public ip address for the firewall rule"""
-        self.ipaddress = None
-        """the public ip address id for the firewall rule"""
-        self.ipaddressid = None
-        """the network id of the firewall rule"""
-        self.networkid = None
-        """the protocol of the firewall rule"""
-        self.protocol = None
-        """the starting port of firewall rule's port range"""
-        self.startport = None
-        """the state of the rule"""
-        self.state = None
-        """the list of resource tags associated with the rule"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listEventTypes.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listEventTypes.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listEventTypes.py
deleted file mode 100644
index 46a1341..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listEventTypes.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List Event Types"""
-from baseCmd import *
-from baseResponse import *
-class listEventTypesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        self.required = []
-
-class listEventTypesResponse (baseResponse):
-    def __init__(self):
-        """Event Type"""
-        self.name = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listEvents.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listEvents.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listEvents.py
deleted file mode 100644
index 5e4646f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listEvents.py
+++ /dev/null
@@ -1,85 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""A command to list events."""
-from baseCmd import *
-from baseResponse import *
-class listEventsCmd (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 duration of the event"""
-        self.duration = None
-        """the end date range of the list you want to retrieve (use format "yyyy-MM-dd" or the new format "yyyy-MM-dd HH:mm:ss")"""
-        self.enddate = None
-        """the time the event was entered"""
-        self.entrytime = None
-        """the ID of the event"""
-        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 event level (INFO, WARN, ERROR)"""
-        self.level = 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
-        """list objects by project"""
-        self.projectid = None
-        """the start date range of the list you want to retrieve (use format "yyyy-MM-dd" or the new format "yyyy-MM-dd HH:mm:ss")"""
-        self.startdate = None
-        """the event type (see event types)"""
-        self.type = None
-        self.required = []
-
-class listEventsResponse (baseResponse):
-    def __init__(self):
-        """the ID of the event"""
-        self.id = None
-        """the account name for the account that owns the object being acted on in the event (e.g. the owner of the virtual machine, ip address, or security group)"""
-        self.account = None
-        """the date the event was created"""
-        self.created = None
-        """a brief description of the event"""
-        self.description = None
-        """the name of the account's domain"""
-        self.domain = None
-        """the id of the account's domain"""
-        self.domainid = None
-        """the event level (INFO, WARN, ERROR)"""
-        self.level = None
-        """whether the event is parented"""
-        self.parentid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """the state of the event"""
-        self.state = None
-        """the type of the event (see event types)"""
-        self.type = None
-        """the name of the user who performed the action (can be different from the account if an admin is performing an action for a user, e.g. starting/stopping a user's virtual machine)"""
-        self.username = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listFirewallRules.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listFirewallRules.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listFirewallRules.py
deleted file mode 100644
index bb19ca1..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listFirewallRules.py
+++ /dev/null
@@ -1,98 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all firewall rules for an IP address."""
-from baseCmd import *
-from baseResponse import *
-class listFirewallRulesCmd (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
-        """Lists rule with the specified ID."""
-        self.id = None
-        """the id of IP address of the firwall services"""
-        self.ipaddressid = 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
-        """list objects by project"""
-        self.projectid = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        self.required = []
-
-class listFirewallRulesResponse (baseResponse):
-    def __init__(self):
-        """the ID of the firewall rule"""
-        self.id = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """the ending port of firewall rule's port range"""
-        self.endport = None
-        """error code for this icmp message"""
-        self.icmpcode = None
-        """type of the icmp message being sent"""
-        self.icmptype = None
-        """the public ip address for the firewall rule"""
-        self.ipaddress = None
-        """the public ip address id for the firewall rule"""
-        self.ipaddressid = None
-        """the network id of the firewall rule"""
-        self.networkid = None
-        """the protocol of the firewall rule"""
-        self.protocol = None
-        """the starting port of firewall rule's port range"""
-        self.startport = None
-        """the state of the rule"""
-        self.state = None
-        """the list of resource tags associated with the rule"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listGlobalLoadBalancerRules.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listGlobalLoadBalancerRules.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listGlobalLoadBalancerRules.py
deleted file mode 100644
index ac55b10..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listGlobalLoadBalancerRules.py
+++ /dev/null
@@ -1,161 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists load balancer rules."""
-from baseCmd import *
-from baseResponse import *
-class listGlobalLoadBalancerRulesCmd (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 global load balancer rule"""
-        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
-        """list objects by project"""
-        self.projectid = None
-        """region ID"""
-        self.regionid = None
-        """List resources by tags (key/value pairs)"""
-        self.tags = []
-        self.required = []
-
-class listGlobalLoadBalancerRulesResponse (baseResponse):
-    def __init__(self):
-        """global load balancer rule ID"""
-        self.id = None
-        """the account of the load balancer rule"""
-        self.account = None
-        """the description of the global load balancer rule"""
-        self.description = None
-        """the domain of the load balancer rule"""
-        self.domain = None
-        """the domain ID of the load balancer rule"""
-        self.domainid = None
-        """DNS domain name given for the global load balancer"""
-        self.gslbdomainname = None
-        """Load balancing method used for the global load balancer"""
-        self.gslblbmethod = None
-        """GSLB service type"""
-        self.gslbservicetype = None
-        """session persistence method used for the global load balancer"""
-        self.gslbstickysessionmethodname = None
-        """name of the global load balancer rule"""
-        self.name = None
-        """the project name of the load balancer"""
-        self.project = None
-        """the project id of the load balancer"""
-        self.projectid = None
-        """Region Id in which global load balancer is created"""
-        self.regionid = None
-        """List of load balancer rules that are part of GSLB rule"""
-        self.loadbalancerrule = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class loadbalancerrule:
-    def __init__(self):
-        """"the load balancer rule ID"""
-        self.id = None
-        """"the account of the load balancer rule"""
-        self.account = None
-        """"the load balancer algorithm (source, roundrobin, leastconn)"""
-        self.algorithm = None
-        """"the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """"the description of the load balancer"""
-        self.description = None
-        """"the domain of the load balancer rule"""
-        self.domain = None
-        """"the domain ID of the load balancer rule"""
-        self.domainid = None
-        """"the name of the load balancer"""
-        self.name = None
-        """"the id of the guest network the lb rule belongs to"""
-        self.networkid = None
-        """"the private port"""
-        self.privateport = None
-        """"the project name of the load balancer"""
-        self.project = None
-        """"the project id of the load balancer"""
-        self.projectid = None
-        """"the public ip address"""
-        self.publicip = None
-        """"the public ip address id"""
-        self.publicipid = None
-        """"the public port"""
-        self.publicport = None
-        """"the state of the rule"""
-        self.state = None
-        """"the id of the zone the rule belongs to"""
-        self.zoneid = None
-        """"the list of resource tags associated with load balancer"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listHosts.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listHosts.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listHosts.py
deleted file mode 100644
index 5b74a59..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listHosts.py
+++ /dev/null
@@ -1,147 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists hosts."""
-from baseCmd import *
-from baseResponse import *
-class listHostsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """lists hosts existing in particular cluster"""
-        self.clusterid = None
-        """comma separated list of host details requested, value can be a list of [ min, all, capacity, events, stats]"""
-        self.details = []
-        """if true, list only hosts dedicated to HA"""
-        self.hahost = None
-        """the id of the host"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """the name of the host"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """the Pod ID for the host"""
-        self.podid = None
-        """list hosts by resource state. Resource state represents current state determined by admin of host, valule can be one of [Enabled, Disabled, Unmanaged, PrepareForMaintenance, ErrorInMaintenance, Maintenance, Error]"""
-        self.resourcestate = None
-        """the state of the host"""
-        self.state = None
-        """the host type"""
-        self.type = None
-        """lists hosts in the same cluster as this VM and flag hosts with enough CPU/RAm to host this VM"""
-        self.virtualmachineid = None
-        """the Zone ID for the host"""
-        self.zoneid = None
-        self.required = []
-
-class listHostsResponse (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
-        """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
-        """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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listHypervisorCapabilities.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listHypervisorCapabilities.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listHypervisorCapabilities.py
deleted file mode 100644
index 3547f27..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listHypervisorCapabilities.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all hypervisor capabilities."""
-from baseCmd import *
-from baseResponse import *
-class listHypervisorCapabilitiesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the hypervisor for which to restrict the search"""
-        self.hypervisor = None
-        """ID of the hypervisor capability"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listHypervisorCapabilitiesResponse (baseResponse):
-    def __init__(self):
-        """the ID of the hypervisor capabilities row"""
-        self.id = None
-        """the hypervisor type"""
-        self.hypervisor = None
-        """the hypervisor version"""
-        self.hypervisorversion = None
-        """the maximum number of Data Volumes that can be attached for this hypervisor"""
-        self.maxdatavolumeslimit = None
-        """the maximum number of guest vms recommended for this hypervisor"""
-        self.maxguestslimit = None
-        """the maximum number of Hosts per cluster for this hypervisor"""
-        self.maxhostspercluster = None
-        """true if security group is supported"""
-        self.securitygroupenabled = None
-        """true if storage motion is supported"""
-        self.storagemotionenabled = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listHypervisors.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listHypervisors.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listHypervisors.py
deleted file mode 100644
index a49dc50..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listHypervisors.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List hypervisors"""
-from baseCmd import *
-from baseResponse import *
-class listHypervisorsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the zone id for listing hypervisors."""
-        self.zoneid = None
-        self.required = []
-
-class listHypervisorsResponse (baseResponse):
-    def __init__(self):
-        """Hypervisor name"""
-        self.name = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listImageStores.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listImageStores.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listImageStores.py
deleted file mode 100644
index 21c649b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listImageStores.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists image stores."""
-from baseCmd import *
-from baseResponse import *
-class listImageStoresCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the storage pool"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """the name of the image store"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """the image store protocol"""
-        self.protocol = None
-        """the image store provider"""
-        self.provider = None
-        """the Zone ID for the image store"""
-        self.zoneid = None
-        self.required = []
-
-class listImageStoresResponse (baseResponse):
-    def __init__(self):
-        """the ID of the image store"""
-        self.id = None
-        """the details of the image store"""
-        self.details = None
-        """the name of the image store"""
-        self.name = None
-        """the protocol of the image store"""
-        self.protocol = None
-        """the provider name of the image store"""
-        self.providername = None
-        """the scope of the image store"""
-        self.scope = None
-        """the url of the image store"""
-        self.url = None
-        """the Zone ID of the image store"""
-        self.zoneid = None
-        """the Zone name of the image store"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listInstanceGroups.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listInstanceGroups.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listInstanceGroups.py
deleted file mode 100644
index 6a0bbae..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listInstanceGroups.py
+++ /dev/null
@@ -1,65 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists vm groups"""
-from baseCmd import *
-from baseResponse import *
-class listInstanceGroupsCmd (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 instance groups by ID"""
-        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
-        """list instance groups by name"""
-        self.name = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """list objects by project"""
-        self.projectid = None
-        self.required = []
-
-class listInstanceGroupsResponse (baseResponse):
-    def __init__(self):
-        """the id of the instance group"""
-        self.id = None
-        """the account owning the instance group"""
-        self.account = None
-        """time and date the instance group was created"""
-        self.created = None
-        """the domain name of the instance group"""
-        self.domain = None
-        """the domain ID of the instance group"""
-        self.domainid = None
-        """the name of the instance group"""
-        self.name = None
-        """the project name of the group"""
-        self.project = None
-        """the project id of the group"""
-        self.projectid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listInternalLoadBalancerElements.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listInternalLoadBalancerElements.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listInternalLoadBalancerElements.py
deleted file mode 100644
index 794edad..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listInternalLoadBalancerElements.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Lists all available Internal Load Balancer elements."""
-from baseCmd import *
-from baseResponse import *
-class listInternalLoadBalancerElementsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """list internal load balancer elements by enabled state"""
-        self.enabled = None
-        """list internal load balancer elements by id"""
-        self.id = None
-        """List by keyword"""
-        self.keyword = None
-        """list internal load balancer elements by network service provider id"""
-        self.nspid = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        self.required = []
-
-class listInternalLoadBalancerElementsResponse (baseResponse):
-    def __init__(self):
-        """the id of the internal load balancer element"""
-        self.id = None
-        """Enabled/Disabled the element"""
-        self.enabled = None
-        """the physical network service provider id of the element"""
-        self.nspid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listInternalLoadBalancerVMs.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listInternalLoadBalancerVMs.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listInternalLoadBalancerVMs.py
deleted file mode 100644
index eee1d66..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listInternalLoadBalancerVMs.py
+++ /dev/null
@@ -1,182 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List internal LB VMs."""
-from baseCmd import *
-from baseResponse import *
-class listInternalLoadBalancerVMsCmd (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
-        """if true is passed for this parameter, list only VPC Internal LB VMs"""
-        self.forvpc = None
-        """the host ID of the Internal LB VM"""
-        self.hostid = None
-        """the ID of the Internal LB VM"""
-        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 name of the Internal LB VM"""
-        self.name = None
-        """list by network id"""
-        self.networkid = None
-        """"""
-        self.page = None
-        """"""
-        self.pagesize = None
-        """the Pod ID of the Internal LB VM"""
-        self.podid = None
-        """list objects by project"""
-        self.projectid = None
-        """the state of the Internal LB VM"""
-        self.state = None
-        """List Internal LB VMs by VPC"""
-        self.vpcid = None
-        """the Zone ID of the Internal LB VM"""
-        self.zoneid = None
-        self.required = []
-
-class listInternalLoadBalancerVMsResponse (baseResponse):
-    def __init__(self):
-        """the id of the router"""
-        self.id = None
-        """the account associated with the router"""
-        self.account = None
-        """the date and time the router was created"""
-        self.created = None
-        """the first DNS for the router"""
-        self.dns1 = None
-        """the second DNS for the router"""
-        self.dns2 = None
-        """the domain associated with the router"""
-        self.domain = None
-        """the domain ID associated with the router"""
-        self.domainid = None
-        """the gateway for the router"""
-        self.gateway = None
-        """the guest IP address for the router"""
-        self.guestipaddress = None
-        """the guest MAC address for the router"""
-        self.guestmacaddress = None
-        """the guest netmask for the router"""
-        self.guestnetmask = None
-        """the ID of the corresponding guest network"""
-        self.guestnetworkid = None
-        """the host ID for the router"""
-        self.hostid = None
-        """the hostname for the router"""
-        self.hostname = None
-        """the first IPv6 DNS for the router"""
-        self.ip6dns1 = None
-        """the second IPv6 DNS for the router"""
-        self.ip6dns2 = None
-        """if this router is an redundant virtual router"""
-        self.isredundantrouter = None
-        """the link local IP address for the router"""
-        self.linklocalip = None
-        """the link local MAC address for the router"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the router"""
-        self.linklocalnetmask = None
-        """the ID of the corresponding link local network"""
-        self.linklocalnetworkid = None
-        """the name of the router"""
-        self.name = None
-        """the network domain for the router"""
-        self.networkdomain = None
-        """the Pod ID for the router"""
-        self.podid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """the public IP address for the router"""
-        self.publicip = None
-        """the public MAC address for the router"""
-        self.publicmacaddress = None
-        """the public netmask for the router"""
-        self.publicnetmask = None
-        """the ID of the corresponding public network"""
-        self.publicnetworkid = None
-        """the state of redundant virtual router"""
-        self.redundantstate = None
-        """role of the domain router"""
-        self.role = None
-        """the version of scripts"""
-        self.scriptsversion = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """the state of the router"""
-        self.state = None
-        """the template ID for the router"""
-        self.templateid = None
-        """the version of template"""
-        self.templateversion = None
-        """VPC the router belongs to"""
-        self.vpcid = None
-        """the Zone ID for the router"""
-        self.zoneid = None
-        """the Zone name for the router"""
-        self.zonename = None
-        """the list of nics associated with the router"""
-        self.nic = []
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listIpForwardingRules.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listIpForwardingRules.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listIpForwardingRules.py
deleted file mode 100644
index 73838a2..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listIpForwardingRules.py
+++ /dev/null
@@ -1,104 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List the ip forwarding rules"""
-from baseCmd import *
-from baseResponse import *
-class listIpForwardingRulesCmd (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
-        """Lists rule with the specified ID."""
-        self.id = None
-        """list the rule belonging to this public ip address"""
-        self.ipaddressid = 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
-        """list objects by project"""
-        self.projectid = None
-        """Lists all rules applied to the specified Vm."""
-        self.virtualmachineid = None
-        self.required = []
-
-class listIpForwardingRulesResponse (baseResponse):
-    def __init__(self):
-        """the ID of the port forwarding rule"""
-        self.id = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """the public ip address for the port forwarding rule"""
-        self.ipaddress = None
-        """the public ip address id for the port forwarding rule"""
-        self.ipaddressid = None
-        """the ending port of port forwarding rule's private port range"""
-        self.privateendport = None
-        """the starting port of port forwarding rule's private port range"""
-        self.privateport = None
-        """the protocol of the port forwarding rule"""
-        self.protocol = None
-        """the ending port of port forwarding rule's private port range"""
-        self.publicendport = None
-        """the starting port of port forwarding rule's public port range"""
-        self.publicport = None
-        """the state of the rule"""
-        self.state = None
-        """the VM display name for the port forwarding rule"""
-        self.virtualmachinedisplayname = None
-        """the VM ID for the port forwarding rule"""
-        self.virtualmachineid = None
-        """the VM name for the port forwarding rule"""
-        self.virtualmachinename = None
-        """the vm ip address for the port forwarding rule"""
-        self.vmguestip = None
-        """the list of resource tags associated with the rule"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/listIsoPermissions.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listIsoPermissions.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listIsoPermissions.py
deleted file mode 100644
index 0ad16c0..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listIsoPermissions.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""List iso visibility and all accounts that have permissions to view this iso."""
-from baseCmd import *
-from baseResponse import *
-class listIsoPermissionsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the template ID"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class listIsoPermissionsResponse (baseResponse):
-    def __init__(self):
-        """the template ID"""
-        self.id = None
-        """the list of accounts the template is available for"""
-        self.account = None
-        """the ID of the domain to which the template belongs"""
-        self.domainid = None
-        """true if this template is a public template, false otherwise"""
-        self.ispublic = None
-        """the list of projects the template is available for"""
-        self.projectids = None
-


[20/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deletePrivateGateway.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deletePrivateGateway.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deletePrivateGateway.py
deleted file mode 100644
index 8f30a0f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deletePrivateGateway.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a Private gateway"""
-from baseCmd import *
-from baseResponse import *
-class deletePrivateGatewayCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the private gateway"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deletePrivateGatewayResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteProject.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteProject.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteProject.py
deleted file mode 100644
index e0f6e69..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteProject.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a project"""
-from baseCmd import *
-from baseResponse import *
-class deleteProjectCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """id of the project to be deleted"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteProjectResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteProjectInvitation.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteProjectInvitation.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteProjectInvitation.py
deleted file mode 100644
index beef9b8..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteProjectInvitation.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Accepts or declines project invitation"""
-from baseCmd import *
-from baseResponse import *
-class deleteProjectInvitationCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """id of the invitation"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteProjectInvitationResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteRemoteAccessVpn.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteRemoteAccessVpn.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteRemoteAccessVpn.py
deleted file mode 100644
index 2188299..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteRemoteAccessVpn.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Destroys a l2tp/ipsec remote access vpn"""
-from baseCmd import *
-from baseResponse import *
-class deleteRemoteAccessVpnCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """public ip address id of the vpn server"""
-        """Required"""
-        self.publicipid = None
-        self.required = ["publicipid",]
-
-class deleteRemoteAccessVpnResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSSHKeyPair.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSSHKeyPair.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSSHKeyPair.py
deleted file mode 100644
index 6236cf5..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSSHKeyPair.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a keypair by name"""
-from baseCmd import *
-from baseResponse import *
-class deleteSSHKeyPairCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Name of the keypair"""
-        """Required"""
-        self.name = None
-        """the account associated with the keypair. Must be used with the domainId parameter."""
-        self.account = None
-        """the domain ID associated with the keypair"""
-        self.domainid = None
-        """the project associated with keypair"""
-        self.projectid = None
-        self.required = ["name",]
-
-class deleteSSHKeyPairResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSecondaryStagingStore.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSecondaryStagingStore.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSecondaryStagingStore.py
deleted file mode 100644
index 79363bc..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSecondaryStagingStore.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a secondary staging store ."""
-from baseCmd import *
-from baseResponse import *
-class deleteSecondaryStagingStoreCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the staging store ID"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteSecondaryStagingStoreResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSecurityGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSecurityGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSecurityGroup.py
deleted file mode 100644
index 3278396..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSecurityGroup.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes security group"""
-from baseCmd import *
-from baseResponse import *
-class deleteSecurityGroupCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the account of the security group. Must be specified with domain ID"""
-        self.account = None
-        """the domain ID of account owning the security group"""
-        self.domainid = None
-        """The ID of the security group. Mutually exclusive with name parameter"""
-        self.id = None
-        """The ID of the security group. Mutually exclusive with id parameter"""
-        self.name = None
-        """the project of the security group"""
-        self.projectid = None
-        self.required = []
-
-class deleteSecurityGroupResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteServiceOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteServiceOffering.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteServiceOffering.py
deleted file mode 100644
index 44e3df6..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteServiceOffering.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a service offering."""
-from baseCmd import *
-from baseResponse import *
-class deleteServiceOfferingCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the service offering"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteServiceOfferingResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSnapshot.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSnapshot.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSnapshot.py
deleted file mode 100644
index f98b15c..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSnapshot.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a snapshot of a disk volume."""
-from baseCmd import *
-from baseResponse import *
-class deleteSnapshotCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the snapshot"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteSnapshotResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSnapshotPolicies.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSnapshotPolicies.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSnapshotPolicies.py
deleted file mode 100644
index 1ed481d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteSnapshotPolicies.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes snapshot policies for the account."""
-from baseCmd import *
-from baseResponse import *
-class deleteSnapshotPoliciesCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the Id of the snapshot policy"""
-        self.id = None
-        """list of snapshots policy IDs separated by comma"""
-        self.ids = []
-        self.required = []
-
-class deleteSnapshotPoliciesResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteStaticRoute.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteStaticRoute.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteStaticRoute.py
deleted file mode 100644
index 030f3e6..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteStaticRoute.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a static route"""
-from baseCmd import *
-from baseResponse import *
-class deleteStaticRouteCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the static route"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteStaticRouteResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteStorageNetworkIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteStorageNetworkIpRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteStorageNetworkIpRange.py
deleted file mode 100644
index ad61954..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteStorageNetworkIpRange.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a storage network IP Range."""
-from baseCmd import *
-from baseResponse import *
-class deleteStorageNetworkIpRangeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the uuid of the storage network ip range"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteStorageNetworkIpRangeResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteStoragePool.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteStoragePool.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteStoragePool.py
deleted file mode 100644
index 6ea4ee3..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteStoragePool.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a storage pool."""
-from baseCmd import *
-from baseResponse import *
-class deleteStoragePoolCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Storage pool id"""
-        """Required"""
-        self.id = None
-        """Force destroy storage pool (force expunge volumes in Destroyed state as a part of pool removal)"""
-        self.forced = None
-        self.required = ["id",]
-
-class deleteStoragePoolResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTags.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTags.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTags.py
deleted file mode 100644
index 7891ff6..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTags.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deleting resource tag(s)"""
-from baseCmd import *
-from baseResponse import *
-class deleteTagsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Delete tags for resource id(s)"""
-        """Required"""
-        self.resourceids = []
-        """Delete tag by resource type"""
-        """Required"""
-        self.resourcetype = None
-        """Delete tags matching key/value pairs"""
-        self.tags = []
-        self.required = ["resourceids","resourcetype",]
-
-class deleteTagsResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTemplate.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTemplate.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTemplate.py
deleted file mode 100644
index 83eb45f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTemplate.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a template from the system. All virtual machines using the deleted template will not be affected."""
-from baseCmd import *
-from baseResponse import *
-class deleteTemplateCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the template"""
-        """Required"""
-        self.id = None
-        """the ID of zone of the template"""
-        self.zoneid = None
-        self.required = ["id",]
-
-class deleteTemplateResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTrafficMonitor.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTrafficMonitor.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTrafficMonitor.py
deleted file mode 100644
index c03a2f3..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTrafficMonitor.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes an traffic monitor host."""
-from baseCmd import *
-from baseResponse import *
-class deleteTrafficMonitorCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Id of the Traffic Monitor Host."""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteTrafficMonitorResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTrafficType.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTrafficType.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTrafficType.py
deleted file mode 100644
index 6cf0f47..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteTrafficType.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes traffic type of a physical network"""
-from baseCmd import *
-from baseResponse import *
-class deleteTrafficTypeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """traffic type id"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteTrafficTypeResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteUser.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteUser.py
deleted file mode 100644
index 2d97909..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteUser.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a user for an account"""
-from baseCmd import *
-from baseResponse import *
-class deleteUserCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """id of the user to be deleted"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteUserResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVMSnapshot.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVMSnapshot.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVMSnapshot.py
deleted file mode 100644
index 91dfab6..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVMSnapshot.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a vmsnapshot."""
-from baseCmd import *
-from baseResponse import *
-class deleteVMSnapshotCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the VM snapshot"""
-        """Required"""
-        self.vmsnapshotid = None
-        self.required = ["vmsnapshotid",]
-
-class deleteVMSnapshotResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVPC.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVPC.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVPC.py
deleted file mode 100644
index 073e038..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVPC.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a VPC"""
-from baseCmd import *
-from baseResponse import *
-class deleteVPCCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the VPC"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteVPCResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVPCOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVPCOffering.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVPCOffering.py
deleted file mode 100644
index 0e222f1..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVPCOffering.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes VPC offering"""
-from baseCmd import *
-from baseResponse import *
-class deleteVPCOfferingCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the VPC offering"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteVPCOfferingResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVlanIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVlanIpRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVlanIpRange.py
deleted file mode 100644
index 94f54d1..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVlanIpRange.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a VLAN IP range."""
-from baseCmd import *
-from baseResponse import *
-class deleteVlanIpRangeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the id of the VLAN IP range"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteVlanIpRangeResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVolume.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVolume.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVolume.py
deleted file mode 100644
index ad0cd62..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVolume.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a detached disk volume."""
-from baseCmd import *
-from baseResponse import *
-class deleteVolumeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """The ID of the disk volume"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteVolumeResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVpnConnection.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVpnConnection.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVpnConnection.py
deleted file mode 100644
index b134980..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVpnConnection.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Delete site to site vpn connection"""
-from baseCmd import *
-from baseResponse import *
-class deleteVpnConnectionCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """id of vpn connection"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteVpnConnectionResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVpnCustomerGateway.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVpnCustomerGateway.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVpnCustomerGateway.py
deleted file mode 100644
index 559282e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVpnCustomerGateway.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Delete site to site vpn customer gateway"""
-from baseCmd import *
-from baseResponse import *
-class deleteVpnCustomerGatewayCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """id of customer gateway"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteVpnCustomerGatewayResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVpnGateway.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVpnGateway.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVpnGateway.py
deleted file mode 100644
index 06de8a3..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteVpnGateway.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Delete site to site vpn gateway"""
-from baseCmd import *
-from baseResponse import *
-class deleteVpnGatewayCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """id of customer gateway"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteVpnGatewayResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deleteZone.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteZone.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deleteZone.py
deleted file mode 100644
index 32818b1..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deleteZone.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Deletes a Zone."""
-from baseCmd import *
-from baseResponse import *
-class deleteZoneCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the Zone"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class deleteZoneResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/deployVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/deployVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/deployVirtualMachine.py
deleted file mode 100644
index ba45f1d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/deployVirtualMachine.py
+++ /dev/null
@@ -1,421 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates and automatically starts a virtual machine based on a service offering, disk offering, and template."""
-from baseCmd import *
-from baseResponse import *
-class deployVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the service offering for the virtual machine"""
-        """Required"""
-        self.serviceofferingid = None
-        """the ID of the template for the virtual machine"""
-        """Required"""
-        self.templateid = None
-        """availability zone for the virtual machine"""
-        """Required"""
-        self.zoneid = None
-        """an optional account for the virtual machine. Must be used with domainId."""
-        self.account = None
-        """comma separated list of affinity groups id that are going to be applied to the virtual machine. Mutually exclusive with affinitygroupnames parameter"""
-        self.affinitygroupids = []
-        """comma separated list of affinity groups names that are going to be applied to the virtual machine.Mutually exclusive with affinitygroupids parameter"""
-        self.affinitygroupnames = []
-        """the ID of the disk offering for the virtual machine. If the template is of ISO format, the diskOfferingId is for the root disk volume. Otherwise this parameter is used to indicate the offering for the data disk volume. If the templateId parameter passed is from a Template object, the diskOfferingId refers to a DATA Disk Volume created. If the templateId parameter passed is from an ISO object, the diskOfferingId refers to a ROOT Disk Volume created."""
-        self.diskofferingid = None
-        """an optional user generated name for the virtual machine"""
-        self.displayname = None
-        """an optional field, whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """an optional domainId for the virtual machine. If the account parameter is used, domainId must also be used."""
-        self.domainid = None
-        """an optional group for the virtual machine"""
-        self.group = None
-        """destination Host ID to deploy the VM to - parameter available for root admin only"""
-        self.hostid = None
-        """the hypervisor on which to deploy the virtual machine"""
-        self.hypervisor = None
-        """the ipv6 address for default vm's network"""
-        self.ip6address = None
-        """the ip address for default vm's network"""
-        self.ipaddress = None
-        """ip to network mapping. Can't be specified with networkIds parameter. Example: iptonetworklist[0].ip=10.10.10.11&iptonetworklist[0].ipv6=fc00:1234:5678::abcd&iptonetworklist[0].networkid=uuid - requests to use ip 10.10.10.11 in network id=uuid"""
-        self.iptonetworklist = []
-        """an optional keyboard device type for the virtual machine. valid value can be one of de,de-ch,es,fi,fr,fr-be,fr-ch,is,it,jp,nl-be,no,pt,uk,us"""
-        self.keyboard = None
-        """name of the ssh key pair used to login to the virtual machine"""
-        self.keypair = None
-        """host name for the virtual machine"""
-        self.name = None
-        """list of network ids used by virtual machine. Can't be specified with ipToNetworkList parameter"""
-        self.networkids = []
-        """Deploy vm for the project"""
-        self.projectid = None
-        """comma separated list of security groups id that going to be applied to the virtual machine. Should be passed only when vm is created from a zone with Basic Network support. Mutually exclusive with securitygroupnames parameter"""
-        self.securitygroupids = []
-        """comma separated list of security groups names that going to be applied to the virtual machine. Should be passed only when vm is created from a zone with Basic Network support. Mutually exclusive with securitygroupids parameter"""
-        self.securitygroupnames = []
-        """the arbitrary size for the DATADISK volume. Mutually exclusive with diskOfferingId"""
-        self.size = None
-        """true if network offering supports specifying ip ranges; defaulted to true if not specified"""
-        self.startvm = None
-        """an optional binary data that can be sent to the virtual machine upon a successful deployment. This binary data must be base64 encoded before adding it to the request. Using HTTP GET (via querystring), you can send up to 2KB of data after base64 encoding. Using HTTP POST(via POST body), you can send up to 32K of data after base64 encoding."""
-        self.userdata = None
-        self.required = ["serviceofferingid","templateid","zoneid",]
-
-class deployVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/destroyRouter.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/destroyRouter.py b/tools/marvin/build/lib/marvin/cloudstackAPI/destroyRouter.py
deleted file mode 100644
index 4e63dba..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/destroyRouter.py
+++ /dev/null
@@ -1,151 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Destroys a router."""
-from baseCmd import *
-from baseResponse import *
-class destroyRouterCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the router"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class destroyRouterResponse (baseResponse):
-    def __init__(self):
-        """the id of the router"""
-        self.id = None
-        """the account associated with the router"""
-        self.account = None
-        """the date and time the router was created"""
-        self.created = None
-        """the first DNS for the router"""
-        self.dns1 = None
-        """the second DNS for the router"""
-        self.dns2 = None
-        """the domain associated with the router"""
-        self.domain = None
-        """the domain ID associated with the router"""
-        self.domainid = None
-        """the gateway for the router"""
-        self.gateway = None
-        """the guest IP address for the router"""
-        self.guestipaddress = None
-        """the guest MAC address for the router"""
-        self.guestmacaddress = None
-        """the guest netmask for the router"""
-        self.guestnetmask = None
-        """the ID of the corresponding guest network"""
-        self.guestnetworkid = None
-        """the host ID for the router"""
-        self.hostid = None
-        """the hostname for the router"""
-        self.hostname = None
-        """the first IPv6 DNS for the router"""
-        self.ip6dns1 = None
-        """the second IPv6 DNS for the router"""
-        self.ip6dns2 = None
-        """if this router is an redundant virtual router"""
-        self.isredundantrouter = None
-        """the link local IP address for the router"""
-        self.linklocalip = None
-        """the link local MAC address for the router"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the router"""
-        self.linklocalnetmask = None
-        """the ID of the corresponding link local network"""
-        self.linklocalnetworkid = None
-        """the name of the router"""
-        self.name = None
-        """the network domain for the router"""
-        self.networkdomain = None
-        """the Pod ID for the router"""
-        self.podid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """the public IP address for the router"""
-        self.publicip = None
-        """the public MAC address for the router"""
-        self.publicmacaddress = None
-        """the public netmask for the router"""
-        self.publicnetmask = None
-        """the ID of the corresponding public network"""
-        self.publicnetworkid = None
-        """the state of redundant virtual router"""
-        self.redundantstate = None
-        """role of the domain router"""
-        self.role = None
-        """the version of scripts"""
-        self.scriptsversion = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """the state of the router"""
-        self.state = None
-        """the template ID for the router"""
-        self.templateid = None
-        """the version of template"""
-        self.templateversion = None
-        """VPC the router belongs to"""
-        self.vpcid = None
-        """the Zone ID for the router"""
-        self.zoneid = None
-        """the Zone name for the router"""
-        self.zonename = None
-        """the list of nics associated with the router"""
-        self.nic = []
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/destroySystemVm.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/destroySystemVm.py b/tools/marvin/build/lib/marvin/cloudstackAPI/destroySystemVm.py
deleted file mode 100644
index c7c2078..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/destroySystemVm.py
+++ /dev/null
@@ -1,86 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Destroyes a system virtual machine."""
-from baseCmd import *
-from baseResponse import *
-class destroySystemVmCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the system virtual machine"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class destroySystemVmResponse (baseResponse):
-    def __init__(self):
-        """the ID of the system VM"""
-        self.id = None
-        """the number of active console sessions for the console proxy system vm"""
-        self.activeviewersessions = None
-        """the date and time the system VM was created"""
-        self.created = None
-        """the first DNS for the system VM"""
-        self.dns1 = None
-        """the second DNS for the system VM"""
-        self.dns2 = None
-        """the gateway for the system VM"""
-        self.gateway = None
-        """the host ID for the system VM"""
-        self.hostid = None
-        """the hostname for the system VM"""
-        self.hostname = None
-        """the job ID associated with the system VM. This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobid = None
-        """the job status associated with the system VM.  This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobstatus = None
-        """the link local IP address for the system vm"""
-        self.linklocalip = None
-        """the link local MAC address for the system vm"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the system vm"""
-        self.linklocalnetmask = None
-        """the name of the system VM"""
-        self.name = None
-        """the network domain for the system VM"""
-        self.networkdomain = None
-        """the Pod ID for the system VM"""
-        self.podid = None
-        """the private IP address for the system VM"""
-        self.privateip = None
-        """the private MAC address for the system VM"""
-        self.privatemacaddress = None
-        """the private netmask for the system VM"""
-        self.privatenetmask = None
-        """the public IP address for the system VM"""
-        self.publicip = None
-        """the public MAC address for the system VM"""
-        self.publicmacaddress = None
-        """the public netmask for the system VM"""
-        self.publicnetmask = None
-        """the state of the system VM"""
-        self.state = None
-        """the system VM type"""
-        self.systemvmtype = None
-        """the template ID for the system VM"""
-        self.templateid = None
-        """the Zone ID for the system VM"""
-        self.zoneid = None
-        """the Zone name for the system VM"""
-        self.zonename = None
-


[08/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/stopRouter.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/stopRouter.py b/tools/marvin/build/lib/marvin/cloudstackAPI/stopRouter.py
deleted file mode 100644
index c2c10df..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/stopRouter.py
+++ /dev/null
@@ -1,153 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Stops a router."""
-from baseCmd import *
-from baseResponse import *
-class stopRouterCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the router"""
-        """Required"""
-        self.id = None
-        """Force stop the VM. The caller knows the VM is stopped."""
-        self.forced = None
-        self.required = ["id",]
-
-class stopRouterResponse (baseResponse):
-    def __init__(self):
-        """the id of the router"""
-        self.id = None
-        """the account associated with the router"""
-        self.account = None
-        """the date and time the router was created"""
-        self.created = None
-        """the first DNS for the router"""
-        self.dns1 = None
-        """the second DNS for the router"""
-        self.dns2 = None
-        """the domain associated with the router"""
-        self.domain = None
-        """the domain ID associated with the router"""
-        self.domainid = None
-        """the gateway for the router"""
-        self.gateway = None
-        """the guest IP address for the router"""
-        self.guestipaddress = None
-        """the guest MAC address for the router"""
-        self.guestmacaddress = None
-        """the guest netmask for the router"""
-        self.guestnetmask = None
-        """the ID of the corresponding guest network"""
-        self.guestnetworkid = None
-        """the host ID for the router"""
-        self.hostid = None
-        """the hostname for the router"""
-        self.hostname = None
-        """the first IPv6 DNS for the router"""
-        self.ip6dns1 = None
-        """the second IPv6 DNS for the router"""
-        self.ip6dns2 = None
-        """if this router is an redundant virtual router"""
-        self.isredundantrouter = None
-        """the link local IP address for the router"""
-        self.linklocalip = None
-        """the link local MAC address for the router"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the router"""
-        self.linklocalnetmask = None
-        """the ID of the corresponding link local network"""
-        self.linklocalnetworkid = None
-        """the name of the router"""
-        self.name = None
-        """the network domain for the router"""
-        self.networkdomain = None
-        """the Pod ID for the router"""
-        self.podid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """the public IP address for the router"""
-        self.publicip = None
-        """the public MAC address for the router"""
-        self.publicmacaddress = None
-        """the public netmask for the router"""
-        self.publicnetmask = None
-        """the ID of the corresponding public network"""
-        self.publicnetworkid = None
-        """the state of redundant virtual router"""
-        self.redundantstate = None
-        """role of the domain router"""
-        self.role = None
-        """the version of scripts"""
-        self.scriptsversion = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """the state of the router"""
-        self.state = None
-        """the template ID for the router"""
-        self.templateid = None
-        """the version of template"""
-        self.templateversion = None
-        """VPC the router belongs to"""
-        self.vpcid = None
-        """the Zone ID for the router"""
-        self.zoneid = None
-        """the Zone name for the router"""
-        self.zonename = None
-        """the list of nics associated with the router"""
-        self.nic = []
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/stopSystemVm.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/stopSystemVm.py b/tools/marvin/build/lib/marvin/cloudstackAPI/stopSystemVm.py
deleted file mode 100644
index f699041..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/stopSystemVm.py
+++ /dev/null
@@ -1,88 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Stops a system VM."""
-from baseCmd import *
-from baseResponse import *
-class stopSystemVmCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the system virtual machine"""
-        """Required"""
-        self.id = None
-        """Force stop the VM.  The caller knows the VM is stopped."""
-        self.forced = None
-        self.required = ["id",]
-
-class stopSystemVmResponse (baseResponse):
-    def __init__(self):
-        """the ID of the system VM"""
-        self.id = None
-        """the number of active console sessions for the console proxy system vm"""
-        self.activeviewersessions = None
-        """the date and time the system VM was created"""
-        self.created = None
-        """the first DNS for the system VM"""
-        self.dns1 = None
-        """the second DNS for the system VM"""
-        self.dns2 = None
-        """the gateway for the system VM"""
-        self.gateway = None
-        """the host ID for the system VM"""
-        self.hostid = None
-        """the hostname for the system VM"""
-        self.hostname = None
-        """the job ID associated with the system VM. This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobid = None
-        """the job status associated with the system VM.  This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobstatus = None
-        """the link local IP address for the system vm"""
-        self.linklocalip = None
-        """the link local MAC address for the system vm"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the system vm"""
-        self.linklocalnetmask = None
-        """the name of the system VM"""
-        self.name = None
-        """the network domain for the system VM"""
-        self.networkdomain = None
-        """the Pod ID for the system VM"""
-        self.podid = None
-        """the private IP address for the system VM"""
-        self.privateip = None
-        """the private MAC address for the system VM"""
-        self.privatemacaddress = None
-        """the private netmask for the system VM"""
-        self.privatenetmask = None
-        """the public IP address for the system VM"""
-        self.publicip = None
-        """the public MAC address for the system VM"""
-        self.publicmacaddress = None
-        """the public netmask for the system VM"""
-        self.publicnetmask = None
-        """the state of the system VM"""
-        self.state = None
-        """the system VM type"""
-        self.systemvmtype = None
-        """the template ID for the system VM"""
-        self.templateid = None
-        """the Zone ID for the system VM"""
-        self.zoneid = None
-        """the Zone name for the system VM"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/stopVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/stopVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/stopVirtualMachine.py
deleted file mode 100644
index 3965c50..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/stopVirtualMachine.py
+++ /dev/null
@@ -1,371 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Stops a virtual machine."""
-from baseCmd import *
-from baseResponse import *
-class stopVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the virtual machine"""
-        """Required"""
-        self.id = None
-        """Force stop the VM (vm is marked as Stopped even when command fails to be send to the backend).  The caller knows the VM is stopped."""
-        self.forced = None
-        self.required = ["id",]
-
-class stopVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/suspendProject.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/suspendProject.py b/tools/marvin/build/lib/marvin/cloudstackAPI/suspendProject.py
deleted file mode 100644
index 898a63e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/suspendProject.py
+++ /dev/null
@@ -1,141 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Suspends a project"""
-from baseCmd import *
-from baseResponse import *
-class suspendProjectCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """id of the project to be suspended"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class suspendProjectResponse (baseResponse):
-    def __init__(self):
-        """the id of the project"""
-        self.id = None
-        """the account name of the project's owner"""
-        self.account = None
-        """the total number of cpu cores available to be created for this project"""
-        self.cpuavailable = None
-        """the total number of cpu cores the project can own"""
-        self.cpulimit = None
-        """the total number of cpu cores owned by project"""
-        self.cputotal = None
-        """the displaytext of the project"""
-        self.displaytext = None
-        """the domain name where the project belongs to"""
-        self.domain = None
-        """the domain id the project belongs to"""
-        self.domainid = None
-        """the total number of public ip addresses available for this project to acquire"""
-        self.ipavailable = None
-        """the total number of public ip addresses this project can acquire"""
-        self.iplimit = None
-        """the total number of public ip addresses allocated for this project"""
-        self.iptotal = None
-        """the total memory (in MB) available to be created for this project"""
-        self.memoryavailable = None
-        """the total memory (in MB) the project can own"""
-        self.memorylimit = None
-        """the total memory (in MB) owned by project"""
-        self.memorytotal = None
-        """the name of the project"""
-        self.name = None
-        """the total number of networks available to be created for this project"""
-        self.networkavailable = None
-        """the total number of networks the project can own"""
-        self.networklimit = None
-        """the total number of networks owned by project"""
-        self.networktotal = None
-        """the total primary storage space (in GiB) available to be used for this project"""
-        self.primarystorageavailable = None
-        """the total primary storage space (in GiB) the project can own"""
-        self.primarystoragelimit = None
-        """the total primary storage space (in GiB) owned by project"""
-        self.primarystoragetotal = None
-        """the total secondary storage space (in GiB) available to be used for this project"""
-        self.secondarystorageavailable = None
-        """the total secondary storage space (in GiB) the project can own"""
-        self.secondarystoragelimit = None
-        """the total secondary storage space (in GiB) owned by project"""
-        self.secondarystoragetotal = None
-        """the total number of snapshots available for this project"""
-        self.snapshotavailable = None
-        """the total number of snapshots which can be stored by this project"""
-        self.snapshotlimit = None
-        """the total number of snapshots stored by this project"""
-        self.snapshottotal = None
-        """the state of the project"""
-        self.state = None
-        """the total number of templates available to be created by this project"""
-        self.templateavailable = None
-        """the total number of templates which can be created by this project"""
-        self.templatelimit = None
-        """the total number of templates which have been created by this project"""
-        self.templatetotal = None
-        """the total number of virtual machines available for this project to acquire"""
-        self.vmavailable = None
-        """the total number of virtual machines that can be deployed by this project"""
-        self.vmlimit = None
-        """the total number of virtual machines running for this project"""
-        self.vmrunning = None
-        """the total number of virtual machines stopped for this project"""
-        self.vmstopped = None
-        """the total number of virtual machines deployed by this project"""
-        self.vmtotal = None
-        """the total volume available for this project"""
-        self.volumeavailable = None
-        """the total volume which can be used by this project"""
-        self.volumelimit = None
-        """the total volume being used by this project"""
-        self.volumetotal = None
-        """the total number of vpcs available to be created for this project"""
-        self.vpcavailable = None
-        """the total number of vpcs the project can own"""
-        self.vpclimit = None
-        """the total number of vpcs owned by project"""
-        self.vpctotal = None
-        """the list of resource tags associated with vm"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateAccount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateAccount.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateAccount.py
deleted file mode 100644
index aabd811..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateAccount.py
+++ /dev/null
@@ -1,183 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates account information for the authenticated user"""
-from baseCmd import *
-from baseResponse import *
-class updateAccountCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """new name for the account"""
-        """Required"""
-        self.newname = None
-        """the current account name"""
-        self.account = None
-        """details for account used to store specific parameters"""
-        self.accountdetails = []
-        """the ID of the domain where the account exists"""
-        self.domainid = None
-        """Account id"""
-        self.id = None
-        """Network domain for the account's networks; empty string will update domainName with NULL value"""
-        self.networkdomain = None
-        self.required = ["newname",]
-
-class updateAccountResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateAutoScalePolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateAutoScalePolicy.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateAutoScalePolicy.py
deleted file mode 100644
index 752c07c..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateAutoScalePolicy.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates an existing autoscale policy."""
-from baseCmd import *
-from baseResponse import *
-class updateAutoScalePolicyCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the autoscale policy"""
-        """Required"""
-        self.id = None
-        """the list of IDs of the conditions that are being evaluated on every interval"""
-        self.conditionids = []
-        """the duration for which the conditions have to be true before action is taken"""
-        self.duration = None
-        """the cool down period for which the policy should not be evaluated after the action has been taken"""
-        self.quiettime = None
-        self.required = ["id",]
-
-class updateAutoScalePolicyResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateAutoScaleVmGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateAutoScaleVmGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateAutoScaleVmGroup.py
deleted file mode 100644
index 705714e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateAutoScaleVmGroup.py
+++ /dev/null
@@ -1,70 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates an existing autoscale vm group."""
-from baseCmd import *
-from baseResponse import *
-class updateAutoScaleVmGroupCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the autoscale group"""
-        """Required"""
-        self.id = None
-        """the frequency at which the conditions have to be evaluated"""
-        self.interval = 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
-        """list of scaledown autoscale policies"""
-        self.scaledownpolicyids = []
-        """list of scaleup autoscale policies"""
-        self.scaleuppolicyids = []
-        self.required = ["id",]
-
-class updateAutoScaleVmGroupResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateAutoScaleVmProfile.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateAutoScaleVmProfile.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateAutoScaleVmProfile.py
deleted file mode 100644
index d733c79..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateAutoScaleVmProfile.py
+++ /dev/null
@@ -1,64 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates an existing autoscale vm profile."""
-from baseCmd import *
-from baseResponse import *
-class updateAutoScaleVmProfileCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the autoscale vm profile"""
-        """Required"""
-        self.id = None
-        """the ID of the user used to launch and destroy the VMs"""
-        self.autoscaleuserid = None
-        """counterparam list. Example: counterparam[0].name=snmpcommunity&counterparam[0].value=public&counterparam[1].name=snmpport&counterparam[1].value=161"""
-        self.counterparam = []
-        """the time allowed for existing connections to get closed before a vm is destroyed"""
-        self.destroyvmgraceperiod = None
-        """the template of the auto deployed virtual machine"""
-        self.templateid = None
-        self.required = ["id",]
-
-class updateAutoScaleVmProfileResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateCluster.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateCluster.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateCluster.py
deleted file mode 100644
index 3c19279..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateCluster.py
+++ /dev/null
@@ -1,91 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates an existing cluster"""
-from baseCmd import *
-from baseResponse import *
-class updateClusterCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the Cluster"""
-        """Required"""
-        self.id = None
-        """Allocation state of this cluster for allocation of new resources"""
-        self.allocationstate = None
-        """the cluster name"""
-        self.clustername = None
-        """hypervisor type of the cluster"""
-        self.clustertype = None
-        """hypervisor type of the cluster"""
-        self.hypervisor = None
-        """whether this cluster is managed by cloudstack"""
-        self.managedstate = None
-        self.required = ["id",]
-
-class updateClusterResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateConfiguration.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateConfiguration.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateConfiguration.py
deleted file mode 100644
index 6e54ab5..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateConfiguration.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a configuration."""
-from baseCmd import *
-from baseResponse import *
-class updateConfigurationCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the name of the configuration"""
-        """Required"""
-        self.name = None
-        """the ID of the Account to update the parameter value for corresponding account"""
-        self.accountid = None
-        """the ID of the Cluster to update the parameter value for corresponding cluster"""
-        self.clusterid = None
-        """the ID of the Storage pool to update the parameter value for corresponding storage pool"""
-        self.storageid = None
-        """the value of the configuration"""
-        self.value = None
-        """the ID of the Zone to update the parameter value for corresponding zone"""
-        self.zoneid = None
-        self.required = ["name",]
-
-class updateConfigurationResponse (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
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateDefaultNicForVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateDefaultNicForVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateDefaultNicForVirtualMachine.py
deleted file mode 100644
index 1d073ed..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateDefaultNicForVirtualMachine.py
+++ /dev/null
@@ -1,372 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Changes the default NIC on a VM"""
-from baseCmd import *
-from baseResponse import *
-class updateDefaultNicForVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """NIC ID"""
-        """Required"""
-        self.nicid = None
-        """Virtual Machine ID"""
-        """Required"""
-        self.virtualmachineid = None
-        self.required = ["nicid","virtualmachineid",]
-
-class updateDefaultNicForVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateDiskOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateDiskOffering.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateDiskOffering.py
deleted file mode 100644
index a90dab8..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateDiskOffering.py
+++ /dev/null
@@ -1,76 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a disk offering."""
-from baseCmd import *
-from baseResponse import *
-class updateDiskOfferingCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """ID of the disk offering"""
-        """Required"""
-        self.id = None
-        """an optional field, whether to display the offering to the end user or not."""
-        self.displayoffering = None
-        """updates alternate display text of the disk offering with this value"""
-        self.displaytext = None
-        """updates name of the disk offering with this value"""
-        self.name = None
-        """sort key of the disk offering, integer"""
-        self.sortkey = None
-        self.required = ["id",]
-
-class updateDiskOfferingResponse (baseResponse):
-    def __init__(self):
-        """unique ID of the disk offering"""
-        self.id = None
-        """the date this disk offering was created"""
-        self.created = None
-        """bytes read rate of the disk offering"""
-        self.diskBytesReadRate = None
-        """bytes write rate of the disk offering"""
-        self.diskBytesWriteRate = None
-        """io requests read rate of the disk offering"""
-        self.diskIopsReadRate = None
-        """io requests write rate of the disk offering"""
-        self.diskIopsWriteRate = None
-        """the size of the disk offering in GB"""
-        self.disksize = None
-        """whether to display the offering to the end user or not."""
-        self.displayoffering = None
-        """an alternate display text of the disk offering."""
-        self.displaytext = None
-        """the domain name this disk offering belongs to. Ignore this information as it is not currently applicable."""
-        self.domain = None
-        """the domain ID this disk offering belongs to. Ignore this information as it is not currently applicable."""
-        self.domainid = None
-        """true if disk offering uses custom size, false otherwise"""
-        self.iscustomized = None
-        """true if disk offering uses custom iops, false otherwise"""
-        self.iscustomizediops = None
-        """the max iops of the disk offering"""
-        self.maxiops = None
-        """the min iops of the disk offering"""
-        self.miniops = None
-        """the name of the disk offering"""
-        self.name = None
-        """the storage type for this disk offering"""
-        self.storagetype = None
-        """the tags for the disk offering"""
-        self.tags = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateDomain.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateDomain.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateDomain.py
deleted file mode 100644
index 3ba2377..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateDomain.py
+++ /dev/null
@@ -1,52 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a domain with a new name"""
-from baseCmd import *
-from baseResponse import *
-class updateDomainCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """ID of domain to update"""
-        """Required"""
-        self.id = None
-        """updates domain with this name"""
-        self.name = None
-        """Network domain for the domain's networks; empty string will update domainName with NULL value"""
-        self.networkdomain = None
-        self.required = ["id",]
-
-class updateDomainResponse (baseResponse):
-    def __init__(self):
-        """the ID of the domain"""
-        self.id = None
-        """whether the domain has one or more sub-domains"""
-        self.haschild = None
-        """the level of the domain"""
-        self.level = None
-        """the name of the domain"""
-        self.name = None
-        """the network domain"""
-        self.networkdomain = None
-        """the domain ID of the parent domain"""
-        self.parentdomainid = None
-        """the domain name of the parent domain"""
-        self.parentdomainname = None
-        """the path of the domain"""
-        self.path = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateGlobalLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateGlobalLoadBalancerRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateGlobalLoadBalancerRule.py
deleted file mode 100644
index 98e907b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateGlobalLoadBalancerRule.py
+++ /dev/null
@@ -1,148 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""update global load balancer rules."""
-from baseCmd import *
-from baseResponse import *
-class updateGlobalLoadBalancerRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the global load balancer rule"""
-        """Required"""
-        self.id = None
-        """the description of the load balancer rule"""
-        self.description = None
-        """load balancer algorithm (roundrobin, leastconn, proximity) that is used to distributed traffic across the zones participating in global server load balancing, if not specified defaults to 'round robin'"""
-        self.gslblbmethod = None
-        """session sticky method (sourceip) if not specified defaults to sourceip"""
-        self.gslbstickysessionmethodname = None
-        self.required = ["id",]
-
-class updateGlobalLoadBalancerRuleResponse (baseResponse):
-    def __init__(self):
-        """global load balancer rule ID"""
-        self.id = None
-        """the account of the load balancer rule"""
-        self.account = None
-        """the description of the global load balancer rule"""
-        self.description = None
-        """the domain of the load balancer rule"""
-        self.domain = None
-        """the domain ID of the load balancer rule"""
-        self.domainid = None
-        """DNS domain name given for the global load balancer"""
-        self.gslbdomainname = None
-        """Load balancing method used for the global load balancer"""
-        self.gslblbmethod = None
-        """GSLB service type"""
-        self.gslbservicetype = None
-        """session persistence method used for the global load balancer"""
-        self.gslbstickysessionmethodname = None
-        """name of the global load balancer rule"""
-        self.name = None
-        """the project name of the load balancer"""
-        self.project = None
-        """the project id of the load balancer"""
-        self.projectid = None
-        """Region Id in which global load balancer is created"""
-        self.regionid = None
-        """List of load balancer rules that are part of GSLB rule"""
-        self.loadbalancerrule = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class loadbalancerrule:
-    def __init__(self):
-        """"the load balancer rule ID"""
-        self.id = None
-        """"the account of the load balancer rule"""
-        self.account = None
-        """"the load balancer algorithm (source, roundrobin, leastconn)"""
-        self.algorithm = None
-        """"the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """"the description of the load balancer"""
-        self.description = None
-        """"the domain of the load balancer rule"""
-        self.domain = None
-        """"the domain ID of the load balancer rule"""
-        self.domainid = None
-        """"the name of the load balancer"""
-        self.name = None
-        """"the id of the guest network the lb rule belongs to"""
-        self.networkid = None
-        """"the private port"""
-        self.privateport = None
-        """"the project name of the load balancer"""
-        self.project = None
-        """"the project id of the load balancer"""
-        self.projectid = None
-        """"the public ip address"""
-        self.publicip = None
-        """"the public ip address id"""
-        self.publicipid = None
-        """"the public port"""
-        self.publicport = None
-        """"the state of the rule"""
-        self.state = None
-        """"the id of the zone the rule belongs to"""
-        self.zoneid = None
-        """"the list of resource tags associated with load balancer"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-


[26/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/attachIso.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/attachIso.py b/tools/marvin/build/lib/marvin/cloudstackAPI/attachIso.py
deleted file mode 100644
index 68159da..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/attachIso.py
+++ /dev/null
@@ -1,372 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Attaches an ISO to a virtual machine."""
-from baseCmd import *
-from baseResponse import *
-class attachIsoCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the ISO file"""
-        """Required"""
-        self.id = None
-        """the ID of the virtual machine"""
-        """Required"""
-        self.virtualmachineid = None
-        self.required = ["id","virtualmachineid",]
-
-class attachIsoResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/attachVolume.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/attachVolume.py b/tools/marvin/build/lib/marvin/cloudstackAPI/attachVolume.py
deleted file mode 100644
index 7298731..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/attachVolume.py
+++ /dev/null
@@ -1,148 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Attaches a disk volume to a virtual machine."""
-from baseCmd import *
-from baseResponse import *
-class attachVolumeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the disk volume"""
-        """Required"""
-        self.id = None
-        """the ID of the virtual machine"""
-        """Required"""
-        self.virtualmachineid = None
-        """the ID of the device to map the volume to within the guest OS. If no deviceId is passed in, the next available deviceId will be chosen. Possible values for a Linux OS are:* 1 - /dev/xvdb* 2 - /dev/xvdc* 4 - /dev/xvde* 5 - /dev/xvdf* 6 - /dev/xvdg* 7 - /dev/xvdh* 8 - /dev/xvdi* 9 - /dev/xvdj"""
-        self.deviceid = None
-        self.required = ["id","virtualmachineid",]
-
-class attachVolumeResponse (baseResponse):
-    def __init__(self):
-        """ID of the disk volume"""
-        self.id = None
-        """the account associated with the disk volume"""
-        self.account = None
-        """the date the volume was attached to a VM instance"""
-        self.attached = None
-        """the date the disk volume was created"""
-        self.created = None
-        """the boolean state of whether the volume is destroyed or not"""
-        self.destroyed = None
-        """the ID of the device on user vm the volume is attahed to. This tag is not returned when the volume is detached."""
-        self.deviceid = None
-        """bytes read rate of the disk volume"""
-        self.diskBytesReadRate = None
-        """bytes write rate of the disk volume"""
-        self.diskBytesWriteRate = None
-        """io requests read rate of the disk volume"""
-        self.diskIopsReadRate = None
-        """io requests write rate of the disk volume"""
-        self.diskIopsWriteRate = None
-        """the display text of the disk offering"""
-        self.diskofferingdisplaytext = None
-        """ID of the disk offering"""
-        self.diskofferingid = None
-        """name of the disk offering"""
-        self.diskofferingname = None
-        """an optional field whether to the display the volume to the end user or not."""
-        self.displayvolume = None
-        """the domain associated with the disk volume"""
-        self.domain = None
-        """the ID of the domain associated with the disk volume"""
-        self.domainid = None
-        """Hypervisor the volume belongs to"""
-        self.hypervisor = None
-        """true if the volume is extractable, false otherwise"""
-        self.isextractable = None
-        """max iops of the disk volume"""
-        self.maxiops = None
-        """min iops of the disk volume"""
-        self.miniops = None
-        """name of the disk volume"""
-        self.name = None
-        """The path of the volume"""
-        self.path = None
-        """the project name of the vpn"""
-        self.project = None
-        """the project id of the vpn"""
-        self.projectid = None
-        """the display text of the service offering for root disk"""
-        self.serviceofferingdisplaytext = None
-        """ID of the service offering for root disk"""
-        self.serviceofferingid = None
-        """name of the service offering for root disk"""
-        self.serviceofferingname = None
-        """size of the disk volume"""
-        self.size = None
-        """ID of the snapshot from which this volume was created"""
-        self.snapshotid = None
-        """the state of the disk volume"""
-        self.state = None
-        """the status of the volume"""
-        self.status = None
-        """name of the primary storage hosting the disk volume"""
-        self.storage = None
-        """id of the primary storage hosting the disk volume; returned to admin user only"""
-        self.storageid = None
-        """shared or local storage"""
-        self.storagetype = None
-        """type of the disk volume (ROOT or DATADISK)"""
-        self.type = None
-        """id of the virtual machine"""
-        self.virtualmachineid = None
-        """display name of the virtual machine"""
-        self.vmdisplayname = None
-        """name of the virtual machine"""
-        self.vmname = None
-        """state of the virtual machine"""
-        self.vmstate = None
-        """ID of the availability zone"""
-        self.zoneid = None
-        """name of the availability zone"""
-        self.zonename = None
-        """the list of resource tags associated with volume"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/authorizeSecurityGroupEgress.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/authorizeSecurityGroupEgress.py b/tools/marvin/build/lib/marvin/cloudstackAPI/authorizeSecurityGroupEgress.py
deleted file mode 100644
index 4214808..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/authorizeSecurityGroupEgress.py
+++ /dev/null
@@ -1,71 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Authorizes a particular egress rule for this security group"""
-from baseCmd import *
-from baseResponse import *
-class authorizeSecurityGroupEgressCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """an optional account for the security group. Must be used with domainId."""
-        self.account = None
-        """the cidr list associated"""
-        self.cidrlist = []
-        """an optional domainId for the security group. If the account parameter is used, domainId must also be used."""
-        self.domainid = None
-        """end port for this egress rule"""
-        self.endport = None
-        """error code for this icmp message"""
-        self.icmpcode = None
-        """type of the icmp message being sent"""
-        self.icmptype = None
-        """an optional project of the security group"""
-        self.projectid = None
-        """TCP is default. UDP is the other supported protocol"""
-        self.protocol = None
-        """The ID of the security group. Mutually exclusive with securityGroupName parameter"""
-        self.securitygroupid = None
-        """The name of the security group. Mutually exclusive with securityGroupName parameter"""
-        self.securitygroupname = None
-        """start port for this egress rule"""
-        self.startport = None
-        """user to security group mapping"""
-        self.usersecuritygrouplist = []
-        self.required = []
-
-class authorizeSecurityGroupEgressResponse (baseResponse):
-    def __init__(self):
-        """account owning the security group rule"""
-        self.account = None
-        """the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """the ending IP of the security group rule"""
-        self.endport = None
-        """the code for the ICMP message response"""
-        self.icmpcode = None
-        """the type of the ICMP message response"""
-        self.icmptype = None
-        """the protocol of the security group rule"""
-        self.protocol = None
-        """the id of the security group rule"""
-        self.ruleid = None
-        """security group name"""
-        self.securitygroupname = None
-        """the starting IP of the security group rule"""
-        self.startport = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/authorizeSecurityGroupIngress.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/authorizeSecurityGroupIngress.py b/tools/marvin/build/lib/marvin/cloudstackAPI/authorizeSecurityGroupIngress.py
deleted file mode 100644
index 50c1650..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/authorizeSecurityGroupIngress.py
+++ /dev/null
@@ -1,71 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Authorizes a particular ingress rule for this security group"""
-from baseCmd import *
-from baseResponse import *
-class authorizeSecurityGroupIngressCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """an optional account for the security group. Must be used with domainId."""
-        self.account = None
-        """the cidr list associated"""
-        self.cidrlist = []
-        """an optional domainId for the security group. If the account parameter is used, domainId must also be used."""
-        self.domainid = None
-        """end port for this ingress rule"""
-        self.endport = None
-        """error code for this icmp message"""
-        self.icmpcode = None
-        """type of the icmp message being sent"""
-        self.icmptype = None
-        """an optional project of the security group"""
-        self.projectid = None
-        """TCP is default. UDP is the other supported protocol"""
-        self.protocol = None
-        """The ID of the security group. Mutually exclusive with securityGroupName parameter"""
-        self.securitygroupid = None
-        """The name of the security group. Mutually exclusive with securityGroupName parameter"""
-        self.securitygroupname = None
-        """start port for this ingress rule"""
-        self.startport = None
-        """user to security group mapping"""
-        self.usersecuritygrouplist = []
-        self.required = []
-
-class authorizeSecurityGroupIngressResponse (baseResponse):
-    def __init__(self):
-        """account owning the security group rule"""
-        self.account = None
-        """the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """the ending IP of the security group rule"""
-        self.endport = None
-        """the code for the ICMP message response"""
-        self.icmpcode = None
-        """the type of the ICMP message response"""
-        self.icmptype = None
-        """the protocol of the security group rule"""
-        self.protocol = None
-        """the id of the security group rule"""
-        self.ruleid = None
-        """security group name"""
-        self.securitygroupname = None
-        """the starting IP of the security group rule"""
-        self.startport = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/baseCmd.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/baseCmd.py b/tools/marvin/build/lib/marvin/cloudstackAPI/baseCmd.py
deleted file mode 100644
index f03f42d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/baseCmd.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-"""Base Command"""
-class baseCmd(object):
-    pass

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/baseResponse.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/baseResponse.py b/tools/marvin/build/lib/marvin/cloudstackAPI/baseResponse.py
deleted file mode 100644
index 8c5742f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/baseResponse.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-"""Base class for response"""
-class baseResponse(object):
-    pass

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/cancelHostMaintenance.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/cancelHostMaintenance.py b/tools/marvin/build/lib/marvin/cloudstackAPI/cancelHostMaintenance.py
deleted file mode 100644
index b5b9976..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/cancelHostMaintenance.py
+++ /dev/null
@@ -1,122 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Cancels host maintenance."""
-from baseCmd import *
-from baseResponse import *
-class cancelHostMaintenanceCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the host ID"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class cancelHostMaintenanceResponse (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
-        """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
-        """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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/cancelStorageMaintenance.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/cancelStorageMaintenance.py b/tools/marvin/build/lib/marvin/cloudstackAPI/cancelStorageMaintenance.py
deleted file mode 100644
index ccd9547..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/cancelStorageMaintenance.py
+++ /dev/null
@@ -1,78 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Cancels maintenance for primary storage"""
-from baseCmd import *
-from baseResponse import *
-class cancelStorageMaintenanceCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the primary storage ID"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class cancelStorageMaintenanceResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/changeServiceForRouter.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/changeServiceForRouter.py b/tools/marvin/build/lib/marvin/cloudstackAPI/changeServiceForRouter.py
deleted file mode 100644
index a189633..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/changeServiceForRouter.py
+++ /dev/null
@@ -1,154 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Upgrades domain router to a new service offering"""
-from baseCmd import *
-from baseResponse import *
-class changeServiceForRouterCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """The ID of the router"""
-        """Required"""
-        self.id = None
-        """the service offering ID to apply to the domain router"""
-        """Required"""
-        self.serviceofferingid = None
-        self.required = ["id","serviceofferingid",]
-
-class changeServiceForRouterResponse (baseResponse):
-    def __init__(self):
-        """the id of the router"""
-        self.id = None
-        """the account associated with the router"""
-        self.account = None
-        """the date and time the router was created"""
-        self.created = None
-        """the first DNS for the router"""
-        self.dns1 = None
-        """the second DNS for the router"""
-        self.dns2 = None
-        """the domain associated with the router"""
-        self.domain = None
-        """the domain ID associated with the router"""
-        self.domainid = None
-        """the gateway for the router"""
-        self.gateway = None
-        """the guest IP address for the router"""
-        self.guestipaddress = None
-        """the guest MAC address for the router"""
-        self.guestmacaddress = None
-        """the guest netmask for the router"""
-        self.guestnetmask = None
-        """the ID of the corresponding guest network"""
-        self.guestnetworkid = None
-        """the host ID for the router"""
-        self.hostid = None
-        """the hostname for the router"""
-        self.hostname = None
-        """the first IPv6 DNS for the router"""
-        self.ip6dns1 = None
-        """the second IPv6 DNS for the router"""
-        self.ip6dns2 = None
-        """if this router is an redundant virtual router"""
-        self.isredundantrouter = None
-        """the link local IP address for the router"""
-        self.linklocalip = None
-        """the link local MAC address for the router"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the router"""
-        self.linklocalnetmask = None
-        """the ID of the corresponding link local network"""
-        self.linklocalnetworkid = None
-        """the name of the router"""
-        self.name = None
-        """the network domain for the router"""
-        self.networkdomain = None
-        """the Pod ID for the router"""
-        self.podid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """the public IP address for the router"""
-        self.publicip = None
-        """the public MAC address for the router"""
-        self.publicmacaddress = None
-        """the public netmask for the router"""
-        self.publicnetmask = None
-        """the ID of the corresponding public network"""
-        self.publicnetworkid = None
-        """the state of redundant virtual router"""
-        self.redundantstate = None
-        """role of the domain router"""
-        self.role = None
-        """the version of scripts"""
-        self.scriptsversion = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """the state of the router"""
-        self.state = None
-        """the template ID for the router"""
-        self.templateid = None
-        """the version of template"""
-        self.templateversion = None
-        """VPC the router belongs to"""
-        self.vpcid = None
-        """the Zone ID for the router"""
-        self.zoneid = None
-        """the Zone name for the router"""
-        self.zonename = None
-        """the list of nics associated with the router"""
-        self.nic = []
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/changeServiceForSystemVm.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/changeServiceForSystemVm.py b/tools/marvin/build/lib/marvin/cloudstackAPI/changeServiceForSystemVm.py
deleted file mode 100644
index 1a6c1b2..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/changeServiceForSystemVm.py
+++ /dev/null
@@ -1,89 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Changes the service offering for a system vm (console proxy or secondary storage). The system vm must be in a "Stopped" state for this command to take effect."""
-from baseCmd import *
-from baseResponse import *
-class changeServiceForSystemVmCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """The ID of the system vm"""
-        """Required"""
-        self.id = None
-        """the service offering ID to apply to the system vm"""
-        """Required"""
-        self.serviceofferingid = None
-        self.required = ["id","serviceofferingid",]
-
-class changeServiceForSystemVmResponse (baseResponse):
-    def __init__(self):
-        """the ID of the system VM"""
-        self.id = None
-        """the number of active console sessions for the console proxy system vm"""
-        self.activeviewersessions = None
-        """the date and time the system VM was created"""
-        self.created = None
-        """the first DNS for the system VM"""
-        self.dns1 = None
-        """the second DNS for the system VM"""
-        self.dns2 = None
-        """the gateway for the system VM"""
-        self.gateway = None
-        """the host ID for the system VM"""
-        self.hostid = None
-        """the hostname for the system VM"""
-        self.hostname = None
-        """the job ID associated with the system VM. This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobid = None
-        """the job status associated with the system VM.  This is only displayed if the router listed is part of a currently running asynchronous job."""
-        self.jobstatus = None
-        """the link local IP address for the system vm"""
-        self.linklocalip = None
-        """the link local MAC address for the system vm"""
-        self.linklocalmacaddress = None
-        """the link local netmask for the system vm"""
-        self.linklocalnetmask = None
-        """the name of the system VM"""
-        self.name = None
-        """the network domain for the system VM"""
-        self.networkdomain = None
-        """the Pod ID for the system VM"""
-        self.podid = None
-        """the private IP address for the system VM"""
-        self.privateip = None
-        """the private MAC address for the system VM"""
-        self.privatemacaddress = None
-        """the private netmask for the system VM"""
-        self.privatenetmask = None
-        """the public IP address for the system VM"""
-        self.publicip = None
-        """the public MAC address for the system VM"""
-        self.publicmacaddress = None
-        """the public netmask for the system VM"""
-        self.publicnetmask = None
-        """the state of the system VM"""
-        self.state = None
-        """the system VM type"""
-        self.systemvmtype = None
-        """the template ID for the system VM"""
-        self.templateid = None
-        """the Zone ID for the system VM"""
-        self.zoneid = None
-        """the Zone name for the system VM"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/changeServiceForVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/changeServiceForVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/changeServiceForVirtualMachine.py
deleted file mode 100644
index e0d2ede..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/changeServiceForVirtualMachine.py
+++ /dev/null
@@ -1,372 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Changes the service offering for a virtual machine. The virtual machine must be in a "Stopped" state for this command to take effect."""
-from baseCmd import *
-from baseResponse import *
-class changeServiceForVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """The ID of the virtual machine"""
-        """Required"""
-        self.id = None
-        """the service offering ID to apply to the virtual machine"""
-        """Required"""
-        self.serviceofferingid = None
-        self.required = ["id","serviceofferingid",]
-
-class changeServiceForVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/cleanVMReservations.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/cleanVMReservations.py b/tools/marvin/build/lib/marvin/cloudstackAPI/cleanVMReservations.py
deleted file mode 100644
index 89113e2..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/cleanVMReservations.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Cleanups VM reservations in the database."""
-from baseCmd import *
-from baseResponse import *
-class cleanVMReservationsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        self.required = []
-
-class cleanVMReservationsResponse (baseResponse):
-    def __init__(self):
-        """any text associated with the success or failure"""
-        self.displaytext = None
-        """true if operation is executed successfully"""
-        self.success = None
-


[06/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateStoragePool.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateStoragePool.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateStoragePool.py
deleted file mode 100644
index d77e0e7..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateStoragePool.py
+++ /dev/null
@@ -1,84 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a storage pool."""
-from baseCmd import *
-from baseResponse import *
-class updateStoragePoolCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the Id of the storage pool"""
-        """Required"""
-        self.id = None
-        """bytes CloudStack can provision from this storage pool"""
-        self.capacitybytes = None
-        """IOPS CloudStack can provision from this storage pool"""
-        self.capacityiops = None
-        """comma-separated list of tags for the storage pool"""
-        self.tags = []
-        self.required = ["id",]
-
-class updateStoragePoolResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateTemplate.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateTemplate.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateTemplate.py
deleted file mode 100644
index 5787382..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateTemplate.py
+++ /dev/null
@@ -1,149 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates attributes of a template."""
-from baseCmd import *
-from baseResponse import *
-class updateTemplateCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the image file"""
-        """Required"""
-        self.id = None
-        """true if image is bootable, false otherwise"""
-        self.bootable = None
-        """the display text of the image"""
-        self.displaytext = None
-        """the format for the image"""
-        self.format = None
-        """true if template/ISO contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """true if the template type is routing i.e., if template is used to deploy router"""
-        self.isrouting = None
-        """the name of the image file"""
-        self.name = None
-        """the ID of the OS type that best represents the OS of this image."""
-        self.ostypeid = None
-        """true if the image supports the password reset feature; default is false"""
-        self.passwordenabled = None
-        """sort key of the template, integer"""
-        self.sortkey = None
-        self.required = ["id",]
-
-class updateTemplateResponse (baseResponse):
-    def __init__(self):
-        """the template ID"""
-        self.id = None
-        """the account name to which the template belongs"""
-        self.account = None
-        """the account id to which the template belongs"""
-        self.accountid = None
-        """true if the ISO is bootable, false otherwise"""
-        self.bootable = None
-        """checksum of the template"""
-        self.checksum = None
-        """the date this template was created"""
-        self.created = None
-        """true if the template is managed across all Zones, false otherwise"""
-        self.crossZones = None
-        """additional key/value details tied with template"""
-        self.details = None
-        """the template display text"""
-        self.displaytext = None
-        """the name of the domain to which the template belongs"""
-        self.domain = None
-        """the ID of the domain to which the template belongs"""
-        self.domainid = None
-        """the format of the template."""
-        self.format = None
-        """the ID of the secondary storage host for the template"""
-        self.hostid = None
-        """the name of the secondary storage host for the template"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """true if the template is extractable, false otherwise"""
-        self.isextractable = None
-        """true if this template is a featured template, false otherwise"""
-        self.isfeatured = None
-        """true if this template is a public template, false otherwise"""
-        self.ispublic = None
-        """true if the template is ready to be deployed from, false otherwise."""
-        self.isready = None
-        """the template name"""
-        self.name = None
-        """the ID of the OS type for this template."""
-        self.ostypeid = None
-        """the name of the OS type for this template."""
-        self.ostypename = None
-        """true if the reset password feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the template"""
-        self.project = None
-        """the project id of the template"""
-        self.projectid = None
-        """the date this template was removed"""
-        self.removed = None
-        """the size of the template"""
-        self.size = None
-        """the template ID of the parent template if present"""
-        self.sourcetemplateid = None
-        """true if template is sshkey enabled, false otherwise"""
-        self.sshkeyenabled = None
-        """the status of the template"""
-        self.status = None
-        """the tag of this template"""
-        self.templatetag = None
-        """the type of the template"""
-        self.templatetype = None
-        """the ID of the zone for this template"""
-        self.zoneid = None
-        """the name of the zone for this template"""
-        self.zonename = None
-        """the list of resource tags associated with tempate"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateTemplatePermissions.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateTemplatePermissions.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateTemplatePermissions.py
deleted file mode 100644
index 88d01e0..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateTemplatePermissions.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a template visibility permissions. A public template is visible to all accounts within the same domain. A private template is visible only to the owner of the template. A priviledged template is a private template with account permissions added. Only accounts specified under the template permissions are visible to them."""
-from baseCmd import *
-from baseResponse import *
-class updateTemplatePermissionsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the template ID"""
-        """Required"""
-        self.id = None
-        """a comma delimited list of accounts. If specified, "op" parameter has to be passed in."""
-        self.accounts = []
-        """true if the template/iso is extractable, false other wise. Can be set only by root admin"""
-        self.isextractable = None
-        """true for featured template/iso, false otherwise"""
-        self.isfeatured = None
-        """true for public template/iso, false for private templates/isos"""
-        self.ispublic = None
-        """permission operator (add, remove, reset)"""
-        self.op = None
-        """a comma delimited list of projects. If specified, "op" parameter has to be passed in."""
-        self.projectids = []
-        self.required = ["id",]
-
-class updateTemplatePermissionsResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateTrafficType.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateTrafficType.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateTrafficType.py
deleted file mode 100644
index 8d21642..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateTrafficType.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates traffic type of a physical network"""
-from baseCmd import *
-from baseResponse import *
-class updateTrafficTypeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """traffic type id"""
-        """Required"""
-        self.id = None
-        """The network name label of the physical device dedicated to this traffic on a KVM host"""
-        self.kvmnetworklabel = None
-        """The network name label of the physical device dedicated to this traffic on a VMware host"""
-        self.vmwarenetworklabel = None
-        """The network name label of the physical device dedicated to this traffic on a XenServer host"""
-        self.xennetworklabel = None
-        self.required = ["id",]
-
-class updateTrafficTypeResponse (baseResponse):
-    def __init__(self):
-        """id of the network provider"""
-        self.id = None
-        """The network name label of the physical device dedicated to this traffic on a KVM host"""
-        self.kvmnetworklabel = None
-        """the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """the trafficType to be added to the physical network"""
-        self.traffictype = None
-        """The network name label of the physical device dedicated to this traffic on a VMware host"""
-        self.vmwarenetworklabel = None
-        """The network name label of the physical device dedicated to this traffic on a XenServer host"""
-        self.xennetworklabel = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateUser.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateUser.py
deleted file mode 100644
index e60959b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateUser.py
+++ /dev/null
@@ -1,82 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a user account"""
-from baseCmd import *
-from baseResponse import *
-class updateUserCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """User uuid"""
-        """Required"""
-        self.id = None
-        """email"""
-        self.email = None
-        """first name"""
-        self.firstname = None
-        """last name"""
-        self.lastname = None
-        """Clear text password (default hashed to SHA256SALT). If you wish to use any other hasing algorithm, you would need to write a custom authentication adapter"""
-        self.password = None
-        """Specifies a timezone for this command. For more information on the timezone parameter, see Time Zone Format."""
-        self.timezone = None
-        """The API key for the user. Must be specified with userSecretKey"""
-        self.userapikey = None
-        """Unique username"""
-        self.username = None
-        """The secret key for the user. Must be specified with userApiKey"""
-        self.usersecretkey = None
-        self.required = ["id",]
-
-class updateUserResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateVMAffinityGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateVMAffinityGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateVMAffinityGroup.py
deleted file mode 100644
index b5e63dc..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateVMAffinityGroup.py
+++ /dev/null
@@ -1,373 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates the affinity/anti-affinity group associations of a virtual machine. The VM has to be stopped and restarted for the new properties to take effect."""
-from baseCmd import *
-from baseResponse import *
-class updateVMAffinityGroupCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the virtual machine"""
-        """Required"""
-        self.id = None
-        """comma separated list of affinity groups id that are going to be applied to the virtual machine. Should be passed only when vm is created from a zone with Basic Network support. Mutually exclusive with securitygroupnames parameter"""
-        self.affinitygroupids = []
-        """comma separated list of affinity groups names that are going to be applied to the virtual machine. Should be passed only when vm is created from a zone with Basic Network support. Mutually exclusive with securitygroupids parameter"""
-        self.affinitygroupnames = []
-        self.required = ["id",]
-
-class updateVMAffinityGroupResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateVPC.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateVPC.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateVPC.py
deleted file mode 100644
index b43cb95..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateVPC.py
+++ /dev/null
@@ -1,398 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a VPC"""
-from baseCmd import *
-from baseResponse import *
-class updateVPCCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the id of the VPC"""
-        """Required"""
-        self.id = None
-        """the name of the VPC"""
-        """Required"""
-        self.name = None
-        """the display text of the VPC"""
-        self.displaytext = None
-        self.required = ["id","name",]
-
-class updateVPCResponse (baseResponse):
-    def __init__(self):
-        """the id of the VPC"""
-        self.id = None
-        """the owner of the VPC"""
-        self.account = None
-        """the cidr the VPC"""
-        self.cidr = None
-        """the date this VPC was created"""
-        self.created = None
-        """an alternate display text of the VPC."""
-        self.displaytext = None
-        """the domain name of the owner"""
-        self.domain = None
-        """the domain id of the VPC owner"""
-        self.domainid = None
-        """the name of the VPC"""
-        self.name = None
-        """the network domain of the VPC"""
-        self.networkdomain = None
-        """the project name of the VPC"""
-        self.project = None
-        """the project id of the VPC"""
-        self.projectid = None
-        """true VPC requires restart"""
-        self.restartrequired = None
-        """state of the VPC. Can be Inactive/Enabled"""
-        self.state = None
-        """vpc offering id the VPC is created from"""
-        self.vpcofferingid = None
-        """zone id of the vpc"""
-        self.zoneid = None
-        """the name of the zone the VPC belongs to"""
-        self.zonename = None
-        """the list of networks belongign to the VPC"""
-        self.network = []
-        """the list of supported services"""
-        self.service = []
-        """the list of resource tags associated with the project"""
-        self.tags = []
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class network:
-    def __init__(self):
-        """"the id of the network"""
-        self.id = None
-        """"the owner of the network"""
-        self.account = None
-        """"ACL Id associated with the VPC network"""
-        self.aclid = None
-        """"acl type - access type to the network"""
-        self.acltype = None
-        """"Broadcast domain type of the network"""
-        self.broadcastdomaintype = None
-        """"broadcast uri of the network. This parameter is visible to ROOT admins only"""
-        self.broadcasturi = None
-        """"list networks available for vm deployment"""
-        self.canusefordeploy = None
-        """"Cloudstack managed address space, all CloudStack managed VMs get IP address from CIDR"""
-        self.cidr = None
-        """"an optional field, whether to the display the network to the end user or not."""
-        self.displaynetwork = None
-        """"the displaytext of the network"""
-        self.displaytext = None
-        """"the first DNS for the network"""
-        self.dns1 = None
-        """"the second DNS for the network"""
-        self.dns2 = None
-        """"the domain name of the network owner"""
-        self.domain = None
-        """"the domain id of the network owner"""
-        self.domainid = None
-        """"the network's gateway"""
-        self.gateway = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"true if network is default, false otherwise"""
-        self.isdefault = None
-        """"list networks that are persistent"""
-        self.ispersistent = None
-        """"true if network is system, false otherwise"""
-        self.issystem = None
-        """"the name of the network"""
-        self.name = None
-        """"the network's netmask"""
-        self.netmask = None
-        """"the network CIDR of the guest network configured with IP reservation. It is the summation of CIDR and RESERVED_IP_RANGE"""
-        self.networkcidr = None
-        """"the network domain"""
-        self.networkdomain = None
-        """"availability of the network offering the network is created from"""
-        self.networkofferingavailability = None
-        """"true if network offering is ip conserve mode enabled"""
-        self.networkofferingconservemode = None
-        """"display text of the network offering the network is created from"""
-        self.networkofferingdisplaytext = None
-        """"network offering id the network is created from"""
-        self.networkofferingid = None
-        """"name of the network offering the network is created from"""
-        self.networkofferingname = None
-        """"the physical network id"""
-        self.physicalnetworkid = None
-        """"the project name of the address"""
-        self.project = None
-        """"the project id of the ipaddress"""
-        self.projectid = None
-        """"related to what other network configuration"""
-        self.related = None
-        """"the network's IP range not to be used by CloudStack guest VMs and can be used for non CloudStack purposes"""
-        self.reservediprange = None
-        """"true network requires restart"""
-        self.restartrequired = None
-        """"true if network supports specifying ip ranges, false otherwise"""
-        self.specifyipranges = None
-        """"state of the network"""
-        self.state = None
-        """"true if users from subdomains can access the domain level network"""
-        self.subdomainaccess = None
-        """"the traffic type of the network"""
-        self.traffictype = None
-        """"the type of the network"""
-        self.type = None
-        """"The vlan of the network. This parameter is visible to ROOT admins only"""
-        self.vlan = None
-        """"VPC the network belongs to"""
-        self.vpcid = None
-        """"zone id of the network"""
-        self.zoneid = None
-        """"the name of the zone the network belongs to"""
-        self.zonename = None
-        """"the list of services"""
-        self.service = []
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-        """"the list of resource tags associated with network"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateVPCOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateVPCOffering.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateVPCOffering.py
deleted file mode 100644
index aab8917..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateVPCOffering.py
+++ /dev/null
@@ -1,107 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates VPC offering"""
-from baseCmd import *
-from baseResponse import *
-class updateVPCOfferingCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the id of the VPC offering"""
-        """Required"""
-        self.id = None
-        """the display text of the VPC offering"""
-        self.displaytext = None
-        """the name of the VPC offering"""
-        self.name = None
-        """update state for the VPC offering; supported states - Enabled/Disabled"""
-        self.state = None
-        self.required = ["id",]
-
-class updateVPCOfferingResponse (baseResponse):
-    def __init__(self):
-        """the id of the vpc offering"""
-        self.id = None
-        """the date this vpc offering was created"""
-        self.created = None
-        """an alternate display text of the vpc offering."""
-        self.displaytext = None
-        """true if vpc offering is default, false otherwise"""
-        self.isdefault = None
-        """the name of the vpc offering"""
-        self.name = None
-        """state of the vpc offering. Can be Disabled/Enabled"""
-        self.state = None
-        """the list of supported services"""
-        self.service = []
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateVirtualMachine.py
deleted file mode 100644
index b1ad6e4..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateVirtualMachine.py
+++ /dev/null
@@ -1,383 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates properties of a virtual machine. The VM has to be stopped and restarted for the new properties to take effect. UpdateVirtualMachine does not first check whether the VM is stopped. Therefore, stop the VM manually before issuing this call."""
-from baseCmd import *
-from baseResponse import *
-class updateVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """The ID of the virtual machine"""
-        """Required"""
-        self.id = None
-        """user generated name"""
-        self.displayname = None
-        """an optional field, whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """group of the virtual machine"""
-        self.group = None
-        """true if high-availability is enabled for the virtual machine, false otherwise"""
-        self.haenable = None
-        """true if VM contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """the ID of the OS type that best represents this VM."""
-        self.ostypeid = None
-        """an optional binary data that can be sent to the virtual machine upon a successful deployment. This binary data must be base64 encoded before adding it to the request. Using HTTP GET (via querystring), you can send up to 2KB of data after base64 encoding. Using HTTP POST(via POST body), you can send up to 32K of data after base64 encoding."""
-        self.userdata = None
-        self.required = ["id",]
-
-class updateVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateVolume.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateVolume.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateVolume.py
deleted file mode 100644
index 5955ec1..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateVolume.py
+++ /dev/null
@@ -1,150 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates the volume."""
-from baseCmd import *
-from baseResponse import *
-class updateVolumeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """an optional field, whether to the display the volume to the end user or not."""
-        self.displayvolume = None
-        """the ID of the disk volume"""
-        self.id = None
-        """The path of the volume"""
-        self.path = None
-        """The state of the volume"""
-        self.state = None
-        """Destination storage pool UUID for the volume"""
-        self.storageid = None
-        self.required = []
-
-class updateVolumeResponse (baseResponse):
-    def __init__(self):
-        """ID of the disk volume"""
-        self.id = None
-        """the account associated with the disk volume"""
-        self.account = None
-        """the date the volume was attached to a VM instance"""
-        self.attached = None
-        """the date the disk volume was created"""
-        self.created = None
-        """the boolean state of whether the volume is destroyed or not"""
-        self.destroyed = None
-        """the ID of the device on user vm the volume is attahed to. This tag is not returned when the volume is detached."""
-        self.deviceid = None
-        """bytes read rate of the disk volume"""
-        self.diskBytesReadRate = None
-        """bytes write rate of the disk volume"""
-        self.diskBytesWriteRate = None
-        """io requests read rate of the disk volume"""
-        self.diskIopsReadRate = None
-        """io requests write rate of the disk volume"""
-        self.diskIopsWriteRate = None
-        """the display text of the disk offering"""
-        self.diskofferingdisplaytext = None
-        """ID of the disk offering"""
-        self.diskofferingid = None
-        """name of the disk offering"""
-        self.diskofferingname = None
-        """an optional field whether to the display the volume to the end user or not."""
-        self.displayvolume = None
-        """the domain associated with the disk volume"""
-        self.domain = None
-        """the ID of the domain associated with the disk volume"""
-        self.domainid = None
-        """Hypervisor the volume belongs to"""
-        self.hypervisor = None
-        """true if the volume is extractable, false otherwise"""
-        self.isextractable = None
-        """max iops of the disk volume"""
-        self.maxiops = None
-        """min iops of the disk volume"""
-        self.miniops = None
-        """name of the disk volume"""
-        self.name = None
-        """The path of the volume"""
-        self.path = None
-        """the project name of the vpn"""
-        self.project = None
-        """the project id of the vpn"""
-        self.projectid = None
-        """the display text of the service offering for root disk"""
-        self.serviceofferingdisplaytext = None
-        """ID of the service offering for root disk"""
-        self.serviceofferingid = None
-        """name of the service offering for root disk"""
-        self.serviceofferingname = None
-        """size of the disk volume"""
-        self.size = None
-        """ID of the snapshot from which this volume was created"""
-        self.snapshotid = None
-        """the state of the disk volume"""
-        self.state = None
-        """the status of the volume"""
-        self.status = None
-        """name of the primary storage hosting the disk volume"""
-        self.storage = None
-        """id of the primary storage hosting the disk volume; returned to admin user only"""
-        self.storageid = None
-        """shared or local storage"""
-        self.storagetype = None
-        """type of the disk volume (ROOT or DATADISK)"""
-        self.type = None
-        """id of the virtual machine"""
-        self.virtualmachineid = None
-        """display name of the virtual machine"""
-        self.vmdisplayname = None
-        """name of the virtual machine"""
-        self.vmname = None
-        """state of the virtual machine"""
-        self.vmstate = None
-        """ID of the availability zone"""
-        self.zoneid = None
-        """name of the availability zone"""
-        self.zonename = None
-        """the list of resource tags associated with volume"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateVpnCustomerGateway.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateVpnCustomerGateway.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateVpnCustomerGateway.py
deleted file mode 100644
index 959473a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateVpnCustomerGateway.py
+++ /dev/null
@@ -1,93 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Update site to site vpn customer gateway"""
-from baseCmd import *
-from baseResponse import *
-class updateVpnCustomerGatewayCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """id of customer gateway"""
-        """Required"""
-        self.id = None
-        """guest cidr of the customer gateway"""
-        """Required"""
-        self.cidrlist = None
-        """ESP policy of the customer gateway"""
-        """Required"""
-        self.esppolicy = None
-        """public ip address id of the customer gateway"""
-        """Required"""
-        self.gateway = None
-        """IKE policy of the customer gateway"""
-        """Required"""
-        self.ikepolicy = None
-        """IPsec Preshared-Key of the customer gateway"""
-        """Required"""
-        self.ipsecpsk = None
-        """the account associated with the gateway. Must be used with the domainId parameter."""
-        self.account = None
-        """the domain ID associated with the gateway. If used with the account parameter returns the gateway associated with the account for the specified domain."""
-        self.domainid = None
-        """If DPD is enabled for VPN connection"""
-        self.dpd = None
-        """Lifetime of phase 2 VPN connection to the customer gateway, in seconds"""
-        self.esplifetime = None
-        """Lifetime of phase 1 VPN connection to the customer gateway, in seconds"""
-        self.ikelifetime = None
-        """name of this customer gateway"""
-        self.name = None
-        self.required = ["id","cidrlist","esppolicy","gateway","ikepolicy","ipsecpsk",]
-
-class updateVpnCustomerGatewayResponse (baseResponse):
-    def __init__(self):
-        """the vpn gateway ID"""
-        self.id = None
-        """the owner"""
-        self.account = None
-        """guest cidr list of the customer gateway"""
-        self.cidrlist = None
-        """the domain name of the owner"""
-        self.domain = None
-        """the domain id of the owner"""
-        self.domainid = None
-        """if DPD is enabled for customer gateway"""
-        self.dpd = None
-        """Lifetime of ESP SA of customer gateway"""
-        self.esplifetime = None
-        """IPsec policy of customer gateway"""
-        self.esppolicy = None
-        """public ip address id of the customer gateway"""
-        self.gateway = None
-        """Lifetime of IKE SA of customer gateway"""
-        self.ikelifetime = None
-        """IKE policy of customer gateway"""
-        self.ikepolicy = None
-        """guest ip of the customer gateway"""
-        self.ipaddress = None
-        """IPsec preshared-key of customer gateway"""
-        self.ipsecpsk = None
-        """name of the customer gateway"""
-        self.name = None
-        """the project name"""
-        self.project = None
-        """the project id"""
-        self.projectid = None
-        """the date and time the host was removed"""
-        self.removed = None
-


[29/29] git commit: updated refs/heads/master to 65b12f4

Posted by ta...@apache.org.
Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

This reverts commit ec00a6fb74042259ceea6add676de3f15e642d4a.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/65b12f45
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/65b12f45
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/65b12f45

Branch: refs/heads/master
Commit: 65b12f45b9b26c45a148dda191783508e6838363
Parents: ec00a6f
Author: SrikanteswaraRao Talluri <ta...@apache.org>
Authored: Fri Nov 8 16:05:30 2013 +0530
Committer: SrikanteswaraRao Talluri <ta...@apache.org>
Committed: Fri Nov 8 16:05:30 2013 +0530

----------------------------------------------------------------------
 .../maint/test_egress_rules_host_maintenance.py |    2 +-
 .../component/maint/test_high_availability.py   |    2 +-
 .../maint/test_vpc_host_maintenance.py          |    2 +-
 test/integration/component/test_accounts.py     |    2 +-
 .../component/test_affinity_groups.py           |    2 +-
 test/integration/component/test_asa1000v_fw.py  |    2 +-
 test/integration/component/test_baremetal.py    |    2 +-
 .../component/test_deploy_vm_userdata_reg.py    |    2 +-
 .../component/test_egress_fw_rules.py           |    4 +-
 test/integration/component/test_egress_rules.py |    2 +-
 test/integration/component/test_eip_elb.py      |   18 +-
 .../component/test_explicit_dedication.py       |    2 +-
 test/integration/component/test_haproxy.py      |    4 +-
 .../component/test_implicit_planner.py          |    2 +-
 .../component/test_netscaler_configs.py         |   16 +-
 test/integration/component/test_netscaler_lb.py |   20 +-
 .../component/test_netscaler_lb_algo.py         |   32 +-
 .../component/test_netscaler_lb_sticky.py       |   20 +-
 .../component/test_netscaler_nw_off.py          |    2 +-
 .../component/test_network_offering.py          |    2 +-
 test/integration/component/test_portable_ip.py  |    6 +-
 .../component/test_project_configs.py           |    2 +-
 .../component/test_project_resources.py         |    2 +-
 .../integration/component/test_project_usage.py |    2 +-
 test/integration/component/test_projects.py     |    2 +-
 .../component/test_security_groups.py           |    6 +-
 .../component/test_snapshot_limits.py           |    2 +-
 test/integration/component/test_stopped_vm.py   |    2 +-
 .../component/test_storage_motion.py            |    2 +-
 test/integration/component/test_templates.py    |    2 +-
 test/integration/component/test_usage.py        |    2 +-
 .../component/test_vm_passwdenabled.py          |    2 +-
 test/integration/component/test_vpc_network.py  |    2 +-
 .../integration/component/test_vpc_offerings.py |    2 +-
 test/integration/component/test_vpc_routers.py  |    2 +-
 .../component/test_vpc_vm_life_cycle.py         |    2 +-
 .../component/test_vpc_vm_life_cycle.py.rej     |   10 -
 .../component/test_vpc_vms_deployment.py        |    2 +-
 test/integration/smoke/test_affinity_groups.py  |    2 +-
 test/integration/smoke/test_loadbalance.py      |    4 +-
 test/integration/smoke/test_network.py          |   10 +-
 test/integration/smoke/test_nic.py              |    2 +-
 test/integration/smoke/test_pvlan.py            |    2 +-
 test/integration/smoke/test_resource_detail.py  |    2 +-
 test/integration/smoke/test_routers.py          |    2 +-
 test/integration/smoke/test_ssvm.py             |    2 +-
 test/integration/smoke/test_templates.py        |    2 +-
 test/integration/smoke/test_volumes.py          |    2 +-
 .../build/lib/marvin/TestCaseExecuteEngine.py   |  102 -
 tools/marvin/build/lib/marvin/__init__.py       |   18 -
 tools/marvin/build/lib/marvin/asyncJobMgr.py    |  261 --
 .../build/lib/marvin/cloudstackAPI/__init__.py  |   18 -
 .../lib/marvin/cloudstackAPI/activateProject.py |  141 -
 .../marvin/cloudstackAPI/addAccountToProject.py |   40 -
 .../marvin/cloudstackAPI/addBaremetalDhcp.py    |   54 -
 .../marvin/cloudstackAPI/addBaremetalHost.py    |  147 -
 .../addBaremetalPxeKickStartServer.py           |   51 -
 .../cloudstackAPI/addBaremetalPxePingServer.py  |   65 -
 .../cloudstackAPI/addBigSwitchVnsDevice.py      |   45 -
 .../lib/marvin/cloudstackAPI/addCluster.py      |  115 -
 .../build/lib/marvin/cloudstackAPI/addHost.py   |  145 -
 .../lib/marvin/cloudstackAPI/addImageStore.py   |   58 -
 .../lib/marvin/cloudstackAPI/addIpToNic.py      |   44 -
 .../cloudstackAPI/addLdapConfiguration.py       |   39 -
 .../marvin/cloudstackAPI/addNetworkDevice.py    |   35 -
 .../cloudstackAPI/addNetworkServiceProvider.py  |   53 -
 .../cloudstackAPI/addNicToVirtualMachine.py     |  374 --
 .../marvin/cloudstackAPI/addNiciraNvpDevice.py  |   60 -
 .../build/lib/marvin/cloudstackAPI/addRegion.py |   48 -
 .../marvin/cloudstackAPI/addResourceDetail.py   |   42 -
 .../build/lib/marvin/cloudstackAPI/addS3.py     |   66 -
 .../marvin/cloudstackAPI/addSecondaryStorage.py |   52 -
 .../build/lib/marvin/cloudstackAPI/addSwift.py  |   56 -
 .../marvin/cloudstackAPI/addTrafficMonitor.py   |   49 -
 .../lib/marvin/cloudstackAPI/addTrafficType.py  |   55 -
 .../lib/marvin/cloudstackAPI/addUcsManager.py   |   51 -
 .../lib/marvin/cloudstackAPI/addVpnUser.py      |   57 -
 .../lib/marvin/cloudstackAPI/archiveAlerts.py   |   41 -
 .../lib/marvin/cloudstackAPI/archiveEvents.py   |   41 -
 .../assignToGlobalLoadBalancerRule.py           |   41 -
 .../cloudstackAPI/assignToLoadBalancerRule.py   |   39 -
 .../cloudstackAPI/assignVirtualMachine.py       |  379 --
 .../marvin/cloudstackAPI/associateIpAddress.py  |  130 -
 .../cloudstackAPI/associateUcsProfileToBlade.py |   48 -
 .../build/lib/marvin/cloudstackAPI/attachIso.py |  372 --
 .../lib/marvin/cloudstackAPI/attachVolume.py    |  148 -
 .../authorizeSecurityGroupEgress.py             |   71 -
 .../authorizeSecurityGroupIngress.py            |   71 -
 .../build/lib/marvin/cloudstackAPI/baseCmd.py   |   20 -
 .../lib/marvin/cloudstackAPI/baseResponse.py    |   20 -
 .../cloudstackAPI/cancelHostMaintenance.py      |  122 -
 .../cloudstackAPI/cancelStorageMaintenance.py   |   78 -
 .../cloudstackAPI/changeServiceForRouter.py     |  154 -
 .../cloudstackAPI/changeServiceForSystemVm.py   |   89 -
 .../changeServiceForVirtualMachine.py           |  372 --
 .../marvin/cloudstackAPI/cleanVMReservations.py |   33 -
 .../marvin/cloudstackAPI/cloudstackAPIClient.py | 2513 ------------
 .../configureInternalLoadBalancerElement.py     |   41 -
 .../configureVirtualRouterElement.py            |   51 -
 .../build/lib/marvin/cloudstackAPI/copyIso.py   |  137 -
 .../lib/marvin/cloudstackAPI/copyTemplate.py    |  137 -
 .../lib/marvin/cloudstackAPI/createAccount.py   |  202 -
 .../marvin/cloudstackAPI/createAffinityGroup.py |   57 -
 .../cloudstackAPI/createAutoScalePolicy.py      |   60 -
 .../cloudstackAPI/createAutoScaleVmGroup.py     |   77 -
 .../cloudstackAPI/createAutoScaleVmProfile.py   |   70 -
 .../lib/marvin/cloudstackAPI/createCondition.py |   62 -
 .../lib/marvin/cloudstackAPI/createCounter.py   |   48 -
 .../marvin/cloudstackAPI/createDiskOffering.py  |   97 -
 .../lib/marvin/cloudstackAPI/createDomain.py    |   54 -
 .../cloudstackAPI/createEgressFirewallRule.py   |   94 -
 .../marvin/cloudstackAPI/createFirewallRule.py  |   94 -
 .../createGlobalLoadBalancerRule.py             |  161 -
 .../marvin/cloudstackAPI/createInstanceGroup.py |   54 -
 .../createInternalLoadBalancerElement.py        |   38 -
 .../cloudstackAPI/createIpForwardingRule.py     |   97 -
 .../cloudstackAPI/createLBHealthCheckPolicy.py  |   75 -
 .../cloudstackAPI/createLBStickinessPolicy.py   |   75 -
 .../marvin/cloudstackAPI/createLoadBalancer.py  |  127 -
 .../cloudstackAPI/createLoadBalancerRule.py     |  116 -
 .../lib/marvin/cloudstackAPI/createNetwork.py   |  251 --
 .../marvin/cloudstackAPI/createNetworkACL.py    |  101 -
 .../cloudstackAPI/createNetworkACLList.py       |   45 -
 .../cloudstackAPI/createNetworkOffering.py      |  167 -
 .../cloudstackAPI/createPhysicalNetwork.py      |   67 -
 .../build/lib/marvin/cloudstackAPI/createPod.py |   91 -
 .../cloudstackAPI/createPortForwardingRule.py   |  109 -
 .../cloudstackAPI/createPortableIpRange.py      |   85 -
 .../cloudstackAPI/createPrivateGateway.py       |   86 -
 .../lib/marvin/cloudstackAPI/createProject.py   |  148 -
 .../cloudstackAPI/createRemoteAccessVpn.py      |   62 -
 .../marvin/cloudstackAPI/createSSHKeyPair.py    |   44 -
 .../createSecondaryStagingStore.py              |   58 -
 .../marvin/cloudstackAPI/createSecurityGroup.py |  131 -
 .../cloudstackAPI/createServiceOffering.py      |  151 -
 .../lib/marvin/cloudstackAPI/createSnapshot.py  |   97 -
 .../cloudstackAPI/createSnapshotPolicy.py       |   56 -
 .../marvin/cloudstackAPI/createStaticRoute.py   |   80 -
 .../createStorageNetworkIpRange.py              |   63 -
 .../marvin/cloudstackAPI/createStoragePool.py   |  104 -
 .../lib/marvin/cloudstackAPI/createTags.py      |   44 -
 .../lib/marvin/cloudstackAPI/createTemplate.py  |  161 -
 .../lib/marvin/cloudstackAPI/createUser.py      |   87 -
 .../marvin/cloudstackAPI/createVMSnapshot.py    |   72 -
 .../build/lib/marvin/cloudstackAPI/createVPC.py |  413 --
 .../marvin/cloudstackAPI/createVPCOffering.py   |  109 -
 .../cloudstackAPI/createVirtualRouterElement.py |   50 -
 .../marvin/cloudstackAPI/createVlanIpRange.py   |  107 -
 .../lib/marvin/cloudstackAPI/createVolume.py    |  163 -
 .../marvin/cloudstackAPI/createVpnConnection.py |   75 -
 .../cloudstackAPI/createVpnCustomerGateway.py   |   90 -
 .../marvin/cloudstackAPI/createVpnGateway.py    |   50 -
 .../lib/marvin/cloudstackAPI/createZone.py      |  153 -
 .../lib/marvin/cloudstackAPI/dedicateCluster.py |   49 -
 .../cloudstackAPI/dedicateGuestVlanRange.py     |   61 -
 .../lib/marvin/cloudstackAPI/dedicateHost.py    |   49 -
 .../lib/marvin/cloudstackAPI/dedicatePod.py     |   49 -
 .../cloudstackAPI/dedicatePublicIpRange.py      |   84 -
 .../lib/marvin/cloudstackAPI/dedicateZone.py    |   49 -
 .../lib/marvin/cloudstackAPI/deleteAccount.py   |   36 -
 .../cloudstackAPI/deleteAccountFromProject.py   |   39 -
 .../marvin/cloudstackAPI/deleteAffinityGroup.py |   41 -
 .../lib/marvin/cloudstackAPI/deleteAlerts.py    |   41 -
 .../cloudstackAPI/deleteAutoScalePolicy.py      |   36 -
 .../cloudstackAPI/deleteAutoScaleVmGroup.py     |   36 -
 .../cloudstackAPI/deleteAutoScaleVmProfile.py   |   36 -
 .../cloudstackAPI/deleteBigSwitchVnsDevice.py   |   36 -
 .../lib/marvin/cloudstackAPI/deleteCluster.py   |   36 -
 .../lib/marvin/cloudstackAPI/deleteCondition.py |   36 -
 .../lib/marvin/cloudstackAPI/deleteCounter.py   |   36 -
 .../marvin/cloudstackAPI/deleteDiskOffering.py  |   36 -
 .../lib/marvin/cloudstackAPI/deleteDomain.py    |   38 -
 .../cloudstackAPI/deleteEgressFirewallRule.py   |   36 -
 .../lib/marvin/cloudstackAPI/deleteEvents.py    |   41 -
 .../marvin/cloudstackAPI/deleteFirewallRule.py  |   36 -
 .../deleteGlobalLoadBalancerRule.py             |   36 -
 .../lib/marvin/cloudstackAPI/deleteHost.py      |   40 -
 .../marvin/cloudstackAPI/deleteImageStore.py    |   36 -
 .../marvin/cloudstackAPI/deleteInstanceGroup.py |   36 -
 .../cloudstackAPI/deleteIpForwardingRule.py     |   36 -
 .../build/lib/marvin/cloudstackAPI/deleteIso.py |   38 -
 .../cloudstackAPI/deleteLBHealthCheckPolicy.py  |   36 -
 .../cloudstackAPI/deleteLBStickinessPolicy.py   |   36 -
 .../cloudstackAPI/deleteLdapConfiguration.py    |   36 -
 .../marvin/cloudstackAPI/deleteLoadBalancer.py  |   36 -
 .../cloudstackAPI/deleteLoadBalancerRule.py     |   36 -
 .../lib/marvin/cloudstackAPI/deleteNetwork.py   |   36 -
 .../marvin/cloudstackAPI/deleteNetworkACL.py    |   36 -
 .../cloudstackAPI/deleteNetworkACLList.py       |   36 -
 .../marvin/cloudstackAPI/deleteNetworkDevice.py |   36 -
 .../cloudstackAPI/deleteNetworkOffering.py      |   36 -
 .../deleteNetworkServiceProvider.py             |   36 -
 .../cloudstackAPI/deleteNiciraNvpDevice.py      |   36 -
 .../cloudstackAPI/deletePhysicalNetwork.py      |   36 -
 .../build/lib/marvin/cloudstackAPI/deletePod.py |   36 -
 .../cloudstackAPI/deletePortForwardingRule.py   |   36 -
 .../cloudstackAPI/deletePortableIpRange.py      |   36 -
 .../cloudstackAPI/deletePrivateGateway.py       |   36 -
 .../lib/marvin/cloudstackAPI/deleteProject.py   |   36 -
 .../cloudstackAPI/deleteProjectInvitation.py    |   36 -
 .../cloudstackAPI/deleteRemoteAccessVpn.py      |   36 -
 .../marvin/cloudstackAPI/deleteSSHKeyPair.py    |   42 -
 .../deleteSecondaryStagingStore.py              |   36 -
 .../marvin/cloudstackAPI/deleteSecurityGroup.py |   43 -
 .../cloudstackAPI/deleteServiceOffering.py      |   36 -
 .../lib/marvin/cloudstackAPI/deleteSnapshot.py  |   36 -
 .../cloudstackAPI/deleteSnapshotPolicies.py     |   37 -
 .../marvin/cloudstackAPI/deleteStaticRoute.py   |   36 -
 .../deleteStorageNetworkIpRange.py              |   36 -
 .../marvin/cloudstackAPI/deleteStoragePool.py   |   38 -
 .../lib/marvin/cloudstackAPI/deleteTags.py      |   41 -
 .../lib/marvin/cloudstackAPI/deleteTemplate.py  |   38 -
 .../cloudstackAPI/deleteTrafficMonitor.py       |   36 -
 .../marvin/cloudstackAPI/deleteTrafficType.py   |   36 -
 .../lib/marvin/cloudstackAPI/deleteUser.py      |   36 -
 .../marvin/cloudstackAPI/deleteVMSnapshot.py    |   36 -
 .../build/lib/marvin/cloudstackAPI/deleteVPC.py |   36 -
 .../marvin/cloudstackAPI/deleteVPCOffering.py   |   36 -
 .../marvin/cloudstackAPI/deleteVlanIpRange.py   |   36 -
 .../lib/marvin/cloudstackAPI/deleteVolume.py    |   36 -
 .../marvin/cloudstackAPI/deleteVpnConnection.py |   36 -
 .../cloudstackAPI/deleteVpnCustomerGateway.py   |   36 -
 .../marvin/cloudstackAPI/deleteVpnGateway.py    |   36 -
 .../lib/marvin/cloudstackAPI/deleteZone.py      |   36 -
 .../cloudstackAPI/deployVirtualMachine.py       |  421 --
 .../lib/marvin/cloudstackAPI/destroyRouter.py   |  151 -
 .../lib/marvin/cloudstackAPI/destroySystemVm.py |   86 -
 .../cloudstackAPI/destroyVirtualMachine.py      |  369 --
 .../build/lib/marvin/cloudstackAPI/detachIso.py |  369 --
 .../lib/marvin/cloudstackAPI/detachVolume.py    |  146 -
 .../lib/marvin/cloudstackAPI/disableAccount.py  |  179 -
 .../cloudstackAPI/disableAutoScaleVmGroup.py    |   60 -
 .../marvin/cloudstackAPI/disableStaticNat.py    |   36 -
 .../lib/marvin/cloudstackAPI/disableUser.py     |   66 -
 .../cloudstackAPI/disassociateIpAddress.py      |   36 -
 .../lib/marvin/cloudstackAPI/enableAccount.py   |  176 -
 .../cloudstackAPI/enableAutoScaleVmGroup.py     |   60 -
 .../lib/marvin/cloudstackAPI/enableStaticNat.py |   43 -
 .../cloudstackAPI/enableStorageMaintenance.py   |   78 -
 .../lib/marvin/cloudstackAPI/enableUser.py      |   66 -
 .../lib/marvin/cloudstackAPI/extractIso.py      |   65 -
 .../lib/marvin/cloudstackAPI/extractTemplate.py |   65 -
 .../lib/marvin/cloudstackAPI/extractVolume.py   |   66 -
 .../cloudstackAPI/findHostsForMigration.py      |  126 -
 .../findStoragePoolsForMigration.py             |   84 -
 .../cloudstackAPI/generateUsageRecords.py       |   41 -
 .../lib/marvin/cloudstackAPI/getApiLimit.py     |   39 -
 .../marvin/cloudstackAPI/getCloudIdentifier.py  |   38 -
 .../build/lib/marvin/cloudstackAPI/getUser.py   |   66 -
 .../lib/marvin/cloudstackAPI/getVMPassword.py   |   34 -
 .../marvin/cloudstackAPI/ldapCreateAccount.py   |  190 -
 .../lib/marvin/cloudstackAPI/listAccounts.py    |  192 -
 .../cloudstackAPI/listAffinityGroupTypes.py     |   37 -
 .../marvin/cloudstackAPI/listAffinityGroups.py  |   67 -
 .../lib/marvin/cloudstackAPI/listAlerts.py      |   47 -
 .../build/lib/marvin/cloudstackAPI/listApis.py  |   75 -
 .../lib/marvin/cloudstackAPI/listAsyncJobs.py   |   69 -
 .../cloudstackAPI/listAutoScalePolicies.py      |   71 -
 .../cloudstackAPI/listAutoScaleVmGroups.py      |   83 -
 .../cloudstackAPI/listAutoScaleVmProfiles.py    |   75 -
 .../marvin/cloudstackAPI/listBaremetalDhcp.py   |   49 -
 .../cloudstackAPI/listBaremetalPxeServers.py    |   45 -
 .../cloudstackAPI/listBigSwitchVnsDevices.py    |   49 -
 .../marvin/cloudstackAPI/listCapabilities.py    |   49 -
 .../lib/marvin/cloudstackAPI/listCapacity.py    |   67 -
 .../lib/marvin/cloudstackAPI/listClusters.py    |  102 -
 .../lib/marvin/cloudstackAPI/listConditions.py  |   69 -
 .../marvin/cloudstackAPI/listConfigurations.py  |   59 -
 .../lib/marvin/cloudstackAPI/listCounters.py    |   51 -
 .../cloudstackAPI/listDedicatedClusters.py      |   55 -
 .../listDedicatedGuestVlanRanges.py             |   67 -
 .../marvin/cloudstackAPI/listDedicatedHosts.py  |   55 -
 .../marvin/cloudstackAPI/listDedicatedPods.py   |   55 -
 .../marvin/cloudstackAPI/listDedicatedZones.py  |   55 -
 .../cloudstackAPI/listDeploymentPlanners.py     |   37 -
 .../marvin/cloudstackAPI/listDiskOfferings.py   |   77 -
 .../marvin/cloudstackAPI/listDomainChildren.py  |   59 -
 .../lib/marvin/cloudstackAPI/listDomains.py     |   59 -
 .../cloudstackAPI/listEgressFirewallRules.py    |  102 -
 .../lib/marvin/cloudstackAPI/listEventTypes.py  |   31 -
 .../lib/marvin/cloudstackAPI/listEvents.py      |   85 -
 .../marvin/cloudstackAPI/listFirewallRules.py   |   98 -
 .../listGlobalLoadBalancerRules.py              |  161 -
 .../build/lib/marvin/cloudstackAPI/listHosts.py |  147 -
 .../cloudstackAPI/listHypervisorCapabilities.py |   55 -
 .../lib/marvin/cloudstackAPI/listHypervisors.py |   33 -
 .../lib/marvin/cloudstackAPI/listImageStores.py |   63 -
 .../marvin/cloudstackAPI/listInstanceGroups.py  |   65 -
 .../listInternalLoadBalancerElements.py         |   47 -
 .../listInternalLoadBalancerVMs.py              |  182 -
 .../cloudstackAPI/listIpForwardingRules.py      |  104 -
 .../marvin/cloudstackAPI/listIsoPermissions.py  |   42 -
 .../build/lib/marvin/cloudstackAPI/listIsos.py  |  162 -
 .../cloudstackAPI/listLBHealthCheckPolicies.py  |   69 -
 .../cloudstackAPI/listLBStickinessPolicies.py   |   71 -
 .../cloudstackAPI/listLdapConfigurations.py     |   43 -
 .../lib/marvin/cloudstackAPI/listLdapUsers.py   |   47 -
 .../listLoadBalancerRuleInstances.py            |  377 --
 .../cloudstackAPI/listLoadBalancerRules.py      |  118 -
 .../marvin/cloudstackAPI/listLoadBalancers.py   |  132 -
 .../marvin/cloudstackAPI/listNetworkACLLists.py |   51 -
 .../lib/marvin/cloudstackAPI/listNetworkACLs.py |  108 -
 .../marvin/cloudstackAPI/listNetworkDevice.py   |   41 -
 .../listNetworkIsolationMethods.py              |   37 -
 .../cloudstackAPI/listNetworkOfferings.py       |  166 -
 .../listNetworkServiceProviders.py              |   55 -
 .../lib/marvin/cloudstackAPI/listNetworks.py    |  243 --
 .../listNiciraNvpDeviceNetworks.py              |  208 -
 .../cloudstackAPI/listNiciraNvpDevices.py       |   53 -
 .../build/lib/marvin/cloudstackAPI/listNics.py  |   72 -
 .../marvin/cloudstackAPI/listOsCategories.py    |   43 -
 .../lib/marvin/cloudstackAPI/listOsTypes.py     |   47 -
 .../cloudstackAPI/listPhysicalNetworks.py       |   61 -
 .../build/lib/marvin/cloudstackAPI/listPods.py  |   88 -
 .../cloudstackAPI/listPortForwardingRules.py    |  104 -
 .../cloudstackAPI/listPortableIpRanges.py       |   78 -
 .../marvin/cloudstackAPI/listPrivateGateways.py |   89 -
 .../marvin/cloudstackAPI/listProjectAccounts.py |  151 -
 .../cloudstackAPI/listProjectInvitations.py     |   67 -
 .../lib/marvin/cloudstackAPI/listProjects.py    |  162 -
 .../cloudstackAPI/listPublicIpAddresses.py      |  156 -
 .../lib/marvin/cloudstackAPI/listRegions.py     |   49 -
 .../cloudstackAPI/listRemoteAccessVpns.py       |   70 -
 .../marvin/cloudstackAPI/listResourceDetails.py |   71 -
 .../marvin/cloudstackAPI/listResourceLimits.py  |   63 -
 .../lib/marvin/cloudstackAPI/listRouters.py     |  182 -
 .../build/lib/marvin/cloudstackAPI/listS3s.py   |   53 -
 .../lib/marvin/cloudstackAPI/listSSHKeyPairs.py |   55 -
 .../cloudstackAPI/listSecondaryStagingStores.py |   63 -
 .../marvin/cloudstackAPI/listSecurityGroups.py  |  144 -
 .../cloudstackAPI/listServiceOfferings.py       |  124 -
 .../cloudstackAPI/listSnapshotPolicies.py       |   50 -
 .../lib/marvin/cloudstackAPI/listSnapshots.py   |  118 -
 .../marvin/cloudstackAPI/listStaticRoutes.py    |   98 -
 .../cloudstackAPI/listStorageNetworkIpRange.py  |   59 -
 .../marvin/cloudstackAPI/listStoragePools.py    |   97 -
 .../cloudstackAPI/listStorageProviders.py       |   42 -
 .../listSupportedNetworkServices.py             |   71 -
 .../lib/marvin/cloudstackAPI/listSwifts.py      |   55 -
 .../lib/marvin/cloudstackAPI/listSystemVms.py   |  105 -
 .../build/lib/marvin/cloudstackAPI/listTags.py  |   75 -
 .../cloudstackAPI/listTemplatePermissions.py    |   42 -
 .../lib/marvin/cloudstackAPI/listTemplates.py   |  157 -
 .../marvin/cloudstackAPI/listTrafficMonitors.py |   48 -
 .../listTrafficTypeImplementors.py              |   41 -
 .../marvin/cloudstackAPI/listTrafficTypes.py    |   52 -
 .../lib/marvin/cloudstackAPI/listUcsBlades.py   |   48 -
 .../lib/marvin/cloudstackAPI/listUcsManagers.py |   47 -
 .../lib/marvin/cloudstackAPI/listUcsProfiles.py |   40 -
 .../marvin/cloudstackAPI/listUsageRecords.py    |  101 -
 .../lib/marvin/cloudstackAPI/listUsageTypes.py  |   33 -
 .../build/lib/marvin/cloudstackAPI/listUsers.py |   85 -
 .../lib/marvin/cloudstackAPI/listVMSnapshot.py  |   89 -
 .../marvin/cloudstackAPI/listVPCOfferings.py    |  116 -
 .../build/lib/marvin/cloudstackAPI/listVPCs.py  |  426 ---
 .../marvin/cloudstackAPI/listVirtualMachines.py |  416 --
 .../cloudstackAPI/listVirtualRouterElements.py  |   57 -
 .../marvin/cloudstackAPI/listVlanIpRanges.py    |   99 -
 .../lib/marvin/cloudstackAPI/listVolumes.py     |  172 -
 .../marvin/cloudstackAPI/listVpnConnections.py  |   89 -
 .../cloudstackAPI/listVpnCustomerGateways.py    |   81 -
 .../lib/marvin/cloudstackAPI/listVpnGateways.py |   67 -
 .../lib/marvin/cloudstackAPI/listVpnUsers.py    |   65 -
 .../build/lib/marvin/cloudstackAPI/listZones.py |  141 -
 .../lib/marvin/cloudstackAPI/lockAccount.py     |  176 -
 .../build/lib/marvin/cloudstackAPI/lockUser.py  |   66 -
 .../build/lib/marvin/cloudstackAPI/login.py     |   63 -
 .../build/lib/marvin/cloudstackAPI/logout.py    |   31 -
 .../cloudstackAPI/markDefaultZoneForAccount.py  |  179 -
 .../lib/marvin/cloudstackAPI/migrateSystemVm.py |   89 -
 .../cloudstackAPI/migrateVirtualMachine.py      |  373 --
 .../migrateVirtualMachineWithVolume.py          |  374 --
 .../lib/marvin/cloudstackAPI/migrateVolume.py   |  148 -
 .../cloudstackAPI/prepareHostForMaintenance.py  |  122 -
 .../lib/marvin/cloudstackAPI/prepareTemplate.py |  134 -
 .../marvin/cloudstackAPI/queryAsyncJobResult.py |   56 -
 .../lib/marvin/cloudstackAPI/rebootRouter.py    |  151 -
 .../lib/marvin/cloudstackAPI/rebootSystemVm.py  |   86 -
 .../cloudstackAPI/rebootVirtualMachine.py       |  369 --
 .../lib/marvin/cloudstackAPI/reconnectHost.py   |  122 -
 .../cloudstackAPI/recoverVirtualMachine.py      |  369 --
 .../lib/marvin/cloudstackAPI/registerIso.py     |  162 -
 .../marvin/cloudstackAPI/registerSSHKeyPair.py  |   47 -
 .../marvin/cloudstackAPI/registerTemplate.py    |  179 -
 .../marvin/cloudstackAPI/registerUserKeys.py    |   36 -
 .../cloudstackAPI/releaseDedicatedCluster.py    |   36 -
 .../releaseDedicatedGuestVlanRange.py           |   36 -
 .../cloudstackAPI/releaseDedicatedHost.py       |   36 -
 .../marvin/cloudstackAPI/releaseDedicatedPod.py |   36 -
 .../cloudstackAPI/releaseDedicatedZone.py       |   36 -
 .../cloudstackAPI/releaseHostReservation.py     |   36 -
 .../cloudstackAPI/releasePublicIpRange.py       |   36 -
 .../removeFromGlobalLoadBalancerRule.py         |   39 -
 .../cloudstackAPI/removeFromLoadBalancerRule.py |   39 -
 .../lib/marvin/cloudstackAPI/removeIpFromNic.py |   36 -
 .../removeNicFromVirtualMachine.py              |  372 --
 .../lib/marvin/cloudstackAPI/removeRegion.py    |   36 -
 .../cloudstackAPI/removeResourceDetail.py       |   41 -
 .../lib/marvin/cloudstackAPI/removeVpnUser.py   |   42 -
 .../cloudstackAPI/replaceNetworkACLList.py      |   40 -
 .../lib/marvin/cloudstackAPI/resetApiLimit.py   |   41 -
 .../resetPasswordForVirtualMachine.py           |  369 --
 .../resetSSHKeyForVirtualMachine.py             |  378 --
 .../marvin/cloudstackAPI/resetVpnConnection.py  |   76 -
 .../lib/marvin/cloudstackAPI/resizeVolume.py    |  148 -
 .../lib/marvin/cloudstackAPI/restartNetwork.py  |  119 -
 .../lib/marvin/cloudstackAPI/restartVPC.py      |  393 --
 .../cloudstackAPI/restoreVirtualMachine.py      |  371 --
 .../lib/marvin/cloudstackAPI/revertSnapshot.py  |   91 -
 .../marvin/cloudstackAPI/revertToVMSnapshot.py  |  369 --
 .../cloudstackAPI/revokeSecurityGroupEgress.py  |   36 -
 .../cloudstackAPI/revokeSecurityGroupIngress.py |   36 -
 .../lib/marvin/cloudstackAPI/scaleSystemVm.py   |   89 -
 .../marvin/cloudstackAPI/scaleVirtualMachine.py |   39 -
 .../startInternalLoadBalancerVM.py              |  151 -
 .../lib/marvin/cloudstackAPI/startRouter.py     |  151 -
 .../lib/marvin/cloudstackAPI/startSystemVm.py   |   86 -
 .../marvin/cloudstackAPI/startVirtualMachine.py |  371 --
 .../cloudstackAPI/stopInternalLoadBalancerVM.py |  153 -
 .../lib/marvin/cloudstackAPI/stopRouter.py      |  153 -
 .../lib/marvin/cloudstackAPI/stopSystemVm.py    |   88 -
 .../marvin/cloudstackAPI/stopVirtualMachine.py  |  371 --
 .../lib/marvin/cloudstackAPI/suspendProject.py  |  141 -
 .../lib/marvin/cloudstackAPI/updateAccount.py   |  183 -
 .../cloudstackAPI/updateAutoScalePolicy.py      |   58 -
 .../cloudstackAPI/updateAutoScaleVmGroup.py     |   70 -
 .../cloudstackAPI/updateAutoScaleVmProfile.py   |   64 -
 .../lib/marvin/cloudstackAPI/updateCluster.py   |   91 -
 .../marvin/cloudstackAPI/updateConfiguration.py |   54 -
 .../updateDefaultNicForVirtualMachine.py        |  372 --
 .../marvin/cloudstackAPI/updateDiskOffering.py  |   76 -
 .../lib/marvin/cloudstackAPI/updateDomain.py    |   52 -
 .../updateGlobalLoadBalancerRule.py             |  148 -
 .../lib/marvin/cloudstackAPI/updateHost.py      |  130 -
 .../marvin/cloudstackAPI/updateHostPassword.py  |   43 -
 .../updateHypervisorCapabilities.py             |   51 -
 .../marvin/cloudstackAPI/updateInstanceGroup.py |   50 -
 .../build/lib/marvin/cloudstackAPI/updateIso.py |  149 -
 .../cloudstackAPI/updateIsoPermissions.py       |   48 -
 .../cloudstackAPI/updateLoadBalancerRule.py     |   97 -
 .../lib/marvin/cloudstackAPI/updateNetwork.py   |  216 --
 .../cloudstackAPI/updateNetworkACLItem.py       |   99 -
 .../cloudstackAPI/updateNetworkOffering.py      |  140 -
 .../updateNetworkServiceProvider.py             |   50 -
 .../cloudstackAPI/updatePhysicalNetwork.py      |   60 -
 .../build/lib/marvin/cloudstackAPI/updatePod.py |   87 -
 .../cloudstackAPI/updatePortForwardingRule.py   |   98 -
 .../lib/marvin/cloudstackAPI/updateProject.py   |  145 -
 .../cloudstackAPI/updateProjectInvitation.py    |   42 -
 .../lib/marvin/cloudstackAPI/updateRegion.py    |   46 -
 .../marvin/cloudstackAPI/updateResourceCount.py |   52 -
 .../marvin/cloudstackAPI/updateResourceLimit.py |   54 -
 .../cloudstackAPI/updateServiceOffering.py      |  113 -
 .../updateStorageNetworkIpRange.py              |   58 -
 .../marvin/cloudstackAPI/updateStoragePool.py   |   84 -
 .../lib/marvin/cloudstackAPI/updateTemplate.py  |  149 -
 .../cloudstackAPI/updateTemplatePermissions.py  |   48 -
 .../marvin/cloudstackAPI/updateTrafficType.py   |   50 -
 .../lib/marvin/cloudstackAPI/updateUser.py      |   82 -
 .../cloudstackAPI/updateVMAffinityGroup.py      |  373 --
 .../build/lib/marvin/cloudstackAPI/updateVPC.py |  398 --
 .../marvin/cloudstackAPI/updateVPCOffering.py   |  107 -
 .../cloudstackAPI/updateVirtualMachine.py       |  383 --
 .../lib/marvin/cloudstackAPI/updateVolume.py    |  150 -
 .../cloudstackAPI/updateVpnCustomerGateway.py   |   93 -
 .../lib/marvin/cloudstackAPI/updateZone.py      |  154 -
 .../cloudstackAPI/uploadCustomCertificate.py    |   43 -
 .../lib/marvin/cloudstackAPI/uploadVolume.py    |  162 -
 .../build/lib/marvin/cloudstackConnection.py    |  235 --
 .../build/lib/marvin/cloudstackException.py     |   48 -
 .../build/lib/marvin/cloudstackTestCase.py      |   40 -
 .../build/lib/marvin/cloudstackTestClient.py    |  201 -
 tools/marvin/build/lib/marvin/codegenerator.py  |  463 ---
 .../marvin/build/lib/marvin/configGenerator.py  |  870 -----
 tools/marvin/build/lib/marvin/dbConnection.py   |   86 -
 tools/marvin/build/lib/marvin/deployAndRun.py   |   96 -
 .../marvin/build/lib/marvin/deployDataCenter.py |  625 ---
 .../build/lib/marvin/integration/__init__.py    |   18 -
 .../lib/marvin/integration/lib/__init__.py      |   16 -
 .../build/lib/marvin/integration/lib/base.py    | 3593 ------------------
 .../build/lib/marvin/integration/lib/common.py  |  739 ----
 .../build/lib/marvin/integration/lib/utils.py   |  320 --
 tools/marvin/build/lib/marvin/jsonHelper.py     |  381 --
 tools/marvin/build/lib/marvin/marvinPlugin.py   |  144 -
 .../marvin/build/lib/marvin/remoteSSHClient.py  |  108 -
 .../marvin/build/lib/marvin/sandbox/__init__.py |   18 -
 .../lib/marvin/sandbox/advanced/__init__.py     |   18 -
 .../lib/marvin/sandbox/advanced/advanced_env.py |  167 -
 .../lib/marvin/sandbox/advancedsg/__init__.py   |   18 -
 .../marvin/sandbox/advancedsg/advancedsg_env.py |  151 -
 .../build/lib/marvin/sandbox/basic/__init__.py  |   18 -
 .../build/lib/marvin/sandbox/basic/basic_env.py |  149 -
 .../lib/marvin/sandbox/testSetupSuccess.py      |   81 -
 tools/marvin/build/lib/marvin/settings.py       |   28 -
 .../marvin/build/lib/marvin/testSetupSuccess.py |   98 -
 tools/marvin/marvin/integration/lib/utils.py    |    6 +-
 .../marvin/marvin/integration/lib/utils.py.rej  |   10 -
 tools/marvin/marvin/remoteSSHClient.py          |  182 +
 tools/marvin/marvin/sshClient.py                |  182 -
 499 files changed, 291 insertions(+), 51609 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/maint/test_egress_rules_host_maintenance.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/test_egress_rules_host_maintenance.py b/test/integration/component/maint/test_egress_rules_host_maintenance.py
index 2b81787..6f0f768 100644
--- a/test/integration/component/maint/test_egress_rules_host_maintenance.py
+++ b/test/integration/component/maint/test_egress_rules_host_maintenance.py
@@ -22,7 +22,7 @@ import marvin
 from nose.plugins.attrib import attr
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/maint/test_high_availability.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/test_high_availability.py b/test/integration/component/maint/test_high_availability.py
index 6ada659..7b0f78e 100644
--- a/test/integration/component/maint/test_high_availability.py
+++ b/test/integration/component/maint/test_high_availability.py
@@ -26,7 +26,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin import remoteSSHClient
 import datetime
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/maint/test_vpc_host_maintenance.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/test_vpc_host_maintenance.py b/test/integration/component/maint/test_vpc_host_maintenance.py
index 57dfb4b..0946ceb 100644
--- a/test/integration/component/maint/test_vpc_host_maintenance.py
+++ b/test/integration/component/maint/test_vpc_host_maintenance.py
@@ -25,7 +25,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_accounts.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_accounts.py b/test/integration/component/test_accounts.py
index 650a595..4c73c3a 100644
--- a/test/integration/component/test_accounts.py
+++ b/test/integration/component/test_accounts.py
@@ -22,7 +22,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin import remoteSSHClient
 from nose.plugins.attrib import attr
 from marvin.cloudstackException import cloudstackAPIException
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_affinity_groups.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_affinity_groups.py b/test/integration/component/test_affinity_groups.py
index 7e4fabe..ae53e39 100644
--- a/test/integration/component/test_affinity_groups.py
+++ b/test/integration/component/test_affinity_groups.py
@@ -20,7 +20,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin import remoteSSHClient
 from nose.plugins.attrib import attr
 
 class Services:

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_asa1000v_fw.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_asa1000v_fw.py b/test/integration/component/test_asa1000v_fw.py
index c8a11ab..0d8cad0 100644
--- a/test/integration/component/test_asa1000v_fw.py
+++ b/test/integration/component/test_asa1000v_fw.py
@@ -25,7 +25,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_baremetal.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_baremetal.py b/test/integration/component/test_baremetal.py
index 2439d0d..c6a877e 100644
--- a/test/integration/component/test_baremetal.py
+++ b/test/integration/component/test_baremetal.py
@@ -20,7 +20,7 @@
 import marvin
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_deploy_vm_userdata_reg.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_deploy_vm_userdata_reg.py b/test/integration/component/test_deploy_vm_userdata_reg.py
index b282a86..ca9179d 100755
--- a/test/integration/component/test_deploy_vm_userdata_reg.py
+++ b/test/integration/component/test_deploy_vm_userdata_reg.py
@@ -23,7 +23,7 @@ from marvin.integration.lib.base import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.common import *
 from nose.plugins.attrib import attr
-from marvin.sshClient import SshClient
+from marvin import remoteSSHClient
 import unittest
 import random
 import string

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_egress_fw_rules.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_egress_fw_rules.py b/test/integration/component/test_egress_fw_rules.py
index 0aed957..253cc46 100644
--- a/test/integration/component/test_egress_fw_rules.py
+++ b/test/integration/component/test_egress_fw_rules.py
@@ -39,7 +39,7 @@ from marvin.integration.lib.common import (get_domain,
 from marvin.cloudstackAPI.createEgressFirewallRule import createEgressFirewallRuleCmd
 from marvin.cloudstackAPI.deleteEgressFirewallRule import deleteEgressFirewallRuleCmd
 
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import time
 
 class Services:
@@ -270,7 +270,7 @@ class TestEgressFWRules(cloudstackTestCase):
             fd.write(expect_script)
             fd.close()
 
-            ssh = SshClient(host=sourceip,
+            ssh = remoteSSHClient(host=sourceip,
                                   port=22,
                                   user='root',
                                   passwd=self.services["host_password"])

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_egress_rules.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_egress_rules.py b/test/integration/component/test_egress_rules.py
index 34995ff..f8e8e79 100644
--- a/test/integration/component/test_egress_rules.py
+++ b/test/integration/component/test_egress_rules.py
@@ -22,7 +22,7 @@ import marvin
 from nose.plugins.attrib import attr
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_eip_elb.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_eip_elb.py b/test/integration/component/test_eip_elb.py
index d639d82..42a5148 100644
--- a/test/integration/component/test_eip_elb.py
+++ b/test/integration/component/test_eip_elb.py
@@ -25,7 +25,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 
@@ -314,7 +314,7 @@ class TestEIP(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     22,
                                     self.services["netscaler"]["username"],
@@ -458,7 +458,7 @@ class TestEIP(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     22,
                                     self.services["netscaler"]["username"],
@@ -657,7 +657,7 @@ class TestEIP(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     22,
                                     self.services["netscaler"]["username"],
@@ -871,7 +871,7 @@ class TestEIP(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     22,
                                     self.services["netscaler"]["username"],
@@ -1138,7 +1138,7 @@ class TestELB(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     22,
                                     self.services["netscaler"]["username"],
@@ -1287,7 +1287,7 @@ class TestELB(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     22,
                                     self.services["netscaler"]["username"],
@@ -1366,7 +1366,7 @@ class TestELB(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     22,
                                     self.services["netscaler"]["username"],
@@ -1512,7 +1512,7 @@ class TestELB(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     22,
                                     self.services["netscaler"]["username"],

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_explicit_dedication.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_explicit_dedication.py b/test/integration/component/test_explicit_dedication.py
index 7aefc21..bd97551 100644
--- a/test/integration/component/test_explicit_dedication.py
+++ b/test/integration/component/test_explicit_dedication.py
@@ -20,7 +20,7 @@
 import marvin
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_haproxy.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_haproxy.py b/test/integration/component/test_haproxy.py
index c734012..799cfa3 100644
--- a/test/integration/component/test_haproxy.py
+++ b/test/integration/component/test_haproxy.py
@@ -38,7 +38,7 @@ from marvin.integration.lib.common import (get_domain,
                                         random_gen
                                         )
 from marvin.cloudstackAPI import createLBStickinessPolicy
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 
 
 class Services:
@@ -383,7 +383,7 @@ class TestHAProxyStickyness(cloudstackTestCase):
             # If Round Robin Algorithm is chosen,
             # each ssh command should alternate between VMs
 
-            ssh_1  = SshClient(
+            ssh_1  = remoteSSHClient(
                                     ip_addr,
                                     22,
                                     self.services["natrule"]["username"],

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_implicit_planner.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_implicit_planner.py b/test/integration/component/test_implicit_planner.py
index 2b656d9..f233ba9 100644
--- a/test/integration/component/test_implicit_planner.py
+++ b/test/integration/component/test_implicit_planner.py
@@ -20,7 +20,7 @@
 import marvin
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_netscaler_configs.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_netscaler_configs.py b/test/integration/component/test_netscaler_configs.py
index 98c4748..c10f688 100644
--- a/test/integration/component/test_netscaler_configs.py
+++ b/test/integration/component/test_netscaler_configs.py
@@ -25,7 +25,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 
@@ -1745,7 +1745,7 @@ class TestGuestNetworkWithNetScaler(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -1891,7 +1891,7 @@ class TestGuestNetworkWithNetScaler(cloudstackTestCase):
                                     listall=True
                                     )
             nw = network_list[0]
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -2051,7 +2051,7 @@ class TestGuestNetworkWithNetScaler(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -2249,7 +2249,7 @@ class TestGuestNetworkShutDown(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -2334,7 +2334,7 @@ class TestGuestNetworkShutDown(cloudstackTestCase):
                                     listall=True
                                     )
             nw = network_list[0]
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -2396,7 +2396,7 @@ class TestGuestNetworkShutDown(cloudstackTestCase):
                                     listall=True
                                     )
             nw = network_list[0]
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -2458,7 +2458,7 @@ class TestGuestNetworkShutDown(cloudstackTestCase):
                                     listall=True
                                     )
             nw = network_list[0]
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_netscaler_lb.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_netscaler_lb.py b/test/integration/component/test_netscaler_lb.py
index 5a8d6a4..4b380e9 100644
--- a/test/integration/component/test_netscaler_lb.py
+++ b/test/integration/component/test_netscaler_lb.py
@@ -25,7 +25,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 
@@ -1228,7 +1228,7 @@ class TestAddMultipleVmsLb(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     22,
                                     self.services["netscaler"]["username"],
@@ -2104,7 +2104,7 @@ class TestLoadBalancingRule(cloudstackTestCase):
 
         self.debug("SSH into Netscaler to verify other resources are deleted")
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -2430,7 +2430,7 @@ class TestVmWithLb(cloudstackTestCase):
                 )
         self.debug("SSH into Netscaler to verify other resources are deleted")
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -2523,7 +2523,7 @@ class TestVmWithLb(cloudstackTestCase):
                                         e))
         self.debug("SSH into Netscaler to rules still persist")
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -2596,7 +2596,7 @@ class TestVmWithLb(cloudstackTestCase):
                                         e))
         self.debug("SSH into Netscaler to rules still persist")
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -2709,7 +2709,7 @@ class TestVmWithLb(cloudstackTestCase):
                                         e))
         self.debug("SSH into Netscaler to rules still persist")
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -2797,7 +2797,7 @@ class TestVmWithLb(cloudstackTestCase):
                                         e))
         self.debug("SSH into Netscaler to rules still persist")
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -2880,7 +2880,7 @@ class TestVmWithLb(cloudstackTestCase):
         time.sleep(int(delay[0].value) + int(wait[0].value))
         self.debug("SSH into Netscaler to rules still persist")
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -2936,7 +2936,7 @@ class TestVmWithLb(cloudstackTestCase):
                 )
         self.debug("SSH into Netscaler to verify other resources are deleted")
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_netscaler_lb_algo.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_netscaler_lb_algo.py b/test/integration/component/test_netscaler_lb_algo.py
index a5e1fe8..4df7b89 100644
--- a/test/integration/component/test_netscaler_lb_algo.py
+++ b/test/integration/component/test_netscaler_lb_algo.py
@@ -25,7 +25,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 
@@ -300,7 +300,7 @@ class TestLbWithRoundRobin(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -524,7 +524,7 @@ class TestLbWithLeastConn(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -739,7 +739,7 @@ class TestLbWithSourceIp(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -912,7 +912,7 @@ class TestLbAlgoRrLc(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -945,7 +945,7 @@ class TestLbAlgoRrLc(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -1115,7 +1115,7 @@ class TestLbAlgoLcRr(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -1147,7 +1147,7 @@ class TestLbAlgoLcRr(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -1318,7 +1318,7 @@ class TestLbAlgoRrSb(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -1351,7 +1351,7 @@ class TestLbAlgoRrSb(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -1526,7 +1526,7 @@ class TestLbAlgoSbRr(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -1560,7 +1560,7 @@ class TestLbAlgoSbRr(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -1734,7 +1734,7 @@ class TestLbAlgoSbLc(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -1767,7 +1767,7 @@ class TestLbAlgoSbLc(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -1939,7 +1939,7 @@ class TestLbAlgoLcSb(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -1972,7 +1972,7 @@ class TestLbAlgoLcSb(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_netscaler_lb_sticky.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_netscaler_lb_sticky.py b/test/integration/component/test_netscaler_lb_sticky.py
index 6c27a08..56964a9 100644
--- a/test/integration/component/test_netscaler_lb_sticky.py
+++ b/test/integration/component/test_netscaler_lb_sticky.py
@@ -25,7 +25,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 
@@ -267,7 +267,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -356,7 +356,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -445,7 +445,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -536,7 +536,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -627,7 +627,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -718,7 +718,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -809,7 +809,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -900,7 +900,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],
@@ -991,7 +991,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
         self.debug("SSH into netscaler: %s" %
                                     self.services["netscaler"]["ipaddress"])
         try:
-            ssh_client = SshClient(
+            ssh_client = remoteSSHClient(
                                     self.services["netscaler"]["ipaddress"],
                                     self.services["netscaler"]["port"],
                                     self.services["netscaler"]["username"],

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_netscaler_nw_off.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_netscaler_nw_off.py b/test/integration/component/test_netscaler_nw_off.py
index 3372612..b94d47e 100644
--- a/test/integration/component/test_netscaler_nw_off.py
+++ b/test/integration/component/test_netscaler_nw_off.py
@@ -25,7 +25,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_network_offering.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_network_offering.py b/test/integration/component/test_network_offering.py
index 04777b0..335f859 100644
--- a/test/integration/component/test_network_offering.py
+++ b/test/integration/component/test_network_offering.py
@@ -25,7 +25,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_portable_ip.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_portable_ip.py b/test/integration/component/test_portable_ip.py
index a532b36..917e7f2 100644
--- a/test/integration/component/test_portable_ip.py
+++ b/test/integration/component/test_portable_ip.py
@@ -23,7 +23,7 @@ from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
 from netaddr import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 
 from nose.plugins.attrib import attr
 
@@ -808,7 +808,7 @@ class TestAssociatePublicIp(cloudstackTestCase):
 
             self.debug("Trying to SSH to ip: %s" % portableip.ipaddress.ipaddress)
 
-           SshClient(
+            remoteSSHClient(
                         portableip.ipaddress.ipaddress,
                         self.services['natrule']["publicport"],
                         self.virtual_machine.username,
@@ -1533,7 +1533,7 @@ class TestPortableIpTransferAcrossNetworks(cloudstackTestCase):
 
             self.debug("Trying to SSH to ip: %s" % portableip.ipaddress.ipaddress)
 
-           SshClient(
+            remoteSSHClient(
                         portableip.ipaddress.ipaddress,
                         self.services['natrule']["publicport"],
                         self.virtual_machine2.username,

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_project_configs.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_project_configs.py b/test/integration/component/test_project_configs.py
index be6cf1c..a9654c8 100644
--- a/test/integration/component/test_project_configs.py
+++ b/test/integration/component/test_project_configs.py
@@ -24,7 +24,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_project_resources.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_project_resources.py b/test/integration/component/test_project_resources.py
index 9b9b2e6..131a9e2 100644
--- a/test/integration/component/test_project_resources.py
+++ b/test/integration/component/test_project_resources.py
@@ -24,7 +24,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_project_usage.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_project_usage.py b/test/integration/component/test_project_usage.py
index ba0a63c..e836768 100644
--- a/test/integration/component/test_project_usage.py
+++ b/test/integration/component/test_project_usage.py
@@ -24,7 +24,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_projects.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_projects.py b/test/integration/component/test_projects.py
index 4b82fc2..e4c2180 100644
--- a/test/integration/component/test_projects.py
+++ b/test/integration/component/test_projects.py
@@ -24,7 +24,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_security_groups.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_security_groups.py b/test/integration/component/test_security_groups.py
index c90ccf6..5ec3ffb 100644
--- a/test/integration/component/test_security_groups.py
+++ b/test/integration/component/test_security_groups.py
@@ -25,7 +25,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 
 #Import System modules
 import time
@@ -361,7 +361,7 @@ class TestDefaultSecurityGroup(cloudstackTestCase):
         # SSH Attempt to VM should fail
         with self.assertRaises(Exception):
             self.debug("SSH into VM: %s" % self.virtual_machine.ssh_ip)
-            ssh = SshClient(
+            ssh = remoteSSHClient.remoteSSHClient(
                                     self.virtual_machine.ssh_ip,
                                     self.virtual_machine.ssh_port,
                                     self.virtual_machine.username,
@@ -656,7 +656,7 @@ class TestRevokeIngressRule(cloudstackTestCase):
         # SSH Attempt to VM should fail
         with self.assertRaises(Exception):
             self.debug("SSH into VM: %s" % self.virtual_machine.id)
-           SshClient(
+            remoteSSHClient.remoteSSHClient(
                                         self.virtual_machine.ssh_ip,
                                         self.virtual_machine.ssh_port,
                                         self.virtual_machine.username,

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_snapshot_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_snapshot_limits.py b/test/integration/component/test_snapshot_limits.py
index e52a893..2af77c3 100644
--- a/test/integration/component/test_snapshot_limits.py
+++ b/test/integration/component/test_snapshot_limits.py
@@ -21,7 +21,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 from marvin.integration.lib.utils import is_snapshot_on_nfs
 import os
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_stopped_vm.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_stopped_vm.py b/test/integration/component/test_stopped_vm.py
index 5a5c298..3be9151 100644
--- a/test/integration/component/test_stopped_vm.py
+++ b/test/integration/component/test_stopped_vm.py
@@ -22,7 +22,7 @@ import marvin
 from nose.plugins.attrib import attr
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_storage_motion.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_storage_motion.py b/test/integration/component/test_storage_motion.py
index bae5acf..36376f3 100644
--- a/test/integration/component/test_storage_motion.py
+++ b/test/integration/component/test_storage_motion.py
@@ -20,7 +20,7 @@
 import marvin
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_templates.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_templates.py b/test/integration/component/test_templates.py
index af86d32..ea4b277 100644
--- a/test/integration/component/test_templates.py
+++ b/test/integration/component/test_templates.py
@@ -24,7 +24,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import urllib
 from random import random
 #Import System modules

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_usage.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_usage.py b/test/integration/component/test_usage.py
index 5979a0a..75326f7 100644
--- a/test/integration/component/test_usage.py
+++ b/test/integration/component/test_usage.py
@@ -24,7 +24,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_vm_passwdenabled.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vm_passwdenabled.py b/test/integration/component/test_vm_passwdenabled.py
index 5cfa525..a6b45ac 100644
--- a/test/integration/component/test_vm_passwdenabled.py
+++ b/test/integration/component/test_vm_passwdenabled.py
@@ -17,7 +17,7 @@
 import marvin
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_vpc_network.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc_network.py b/test/integration/component/test_vpc_network.py
index 9f5e6f6..b9b4f00 100644
--- a/test/integration/component/test_vpc_network.py
+++ b/test/integration/component/test_vpc_network.py
@@ -25,7 +25,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 # For more info on ddt refer to http://ddt.readthedocs.org/en/latest/api.html#module-ddt
 from ddt import ddt, data

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_vpc_offerings.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc_offerings.py b/test/integration/component/test_vpc_offerings.py
index 4f58022..109c8d1 100644
--- a/test/integration/component/test_vpc_offerings.py
+++ b/test/integration/component/test_vpc_offerings.py
@@ -26,7 +26,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_vpc_routers.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc_routers.py b/test/integration/component/test_vpc_routers.py
index 8ed99ca..9b772e4 100644
--- a/test/integration/component/test_vpc_routers.py
+++ b/test/integration/component/test_vpc_routers.py
@@ -25,7 +25,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_vpc_vm_life_cycle.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc_vm_life_cycle.py b/test/integration/component/test_vpc_vm_life_cycle.py
index cc65eed..5893cc3 100644
--- a/test/integration/component/test_vpc_vm_life_cycle.py
+++ b/test/integration/component/test_vpc_vm_life_cycle.py
@@ -25,7 +25,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 from marvin.codes import PASS
 
 import time

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_vpc_vm_life_cycle.py.rej
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc_vm_life_cycle.py.rej b/test/integration/component/test_vpc_vm_life_cycle.py.rej
deleted file mode 100644
index 98d859d..0000000
--- a/test/integration/component/test_vpc_vm_life_cycle.py.rej
+++ /dev/null
@@ -1,10 +0,0 @@
-diff a/test/integration/component/test_vpc_vm_life_cycle.py b/test/integration/component/test_vpc_vm_life_cycle.py	(rejected hunks)
-@@ -25,7 +25,7 @@ from marvin.cloudstackAPI import *
- from marvin.integration.lib.utils import *
- from marvin.integration.lib.base import *
- from marvin.integration.lib.common import *
--from marvin.remoteSSHClient import remoteSSHClient
-+from marvin.sshClient import SshClient
- 
- import time
- 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/component/test_vpc_vms_deployment.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc_vms_deployment.py b/test/integration/component/test_vpc_vms_deployment.py
index ebf3b31..b01137b 100644
--- a/test/integration/component/test_vpc_vms_deployment.py
+++ b/test/integration/component/test_vpc_vms_deployment.py
@@ -25,7 +25,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 import datetime
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/smoke/test_affinity_groups.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_affinity_groups.py b/test/integration/smoke/test_affinity_groups.py
index c96a580..db11ada 100644
--- a/test/integration/smoke/test_affinity_groups.py
+++ b/test/integration/smoke/test_affinity_groups.py
@@ -21,7 +21,7 @@ from marvin.cloudstackAPI import *
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin import remoteSSHClient
 from nose.plugins.attrib import attr
 
 class Services:

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/smoke/test_loadbalance.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_loadbalance.py b/test/integration/smoke/test_loadbalance.py
index 5f80c38..3e48158 100644
--- a/test/integration/smoke/test_loadbalance.py
+++ b/test/integration/smoke/test_loadbalance.py
@@ -17,7 +17,7 @@
 
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
@@ -197,7 +197,7 @@ class TestLoadBalance(cloudstackTestCase):
            # If Round Robin Algorithm is chosen,
             # each ssh command should alternate between VMs
 
-            ssh_1  = SshClient(
+            ssh_1  = remoteSSHClient(
                 ip_addr,
                 self.services['lbrule']["publicport"],
                 self.vm_1.username,


[22/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshot.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshot.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshot.py
deleted file mode 100644
index 2ea1a0d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshot.py
+++ /dev/null
@@ -1,97 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates an instant snapshot of a volume."""
-from baseCmd import *
-from baseResponse import *
-class createSnapshotCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the disk volume"""
-        """Required"""
-        self.volumeid = None
-        """The account of the snapshot. The account parameter must be used with the domainId parameter."""
-        self.account = None
-        """The domain ID of the snapshot. If used with the account parameter, specifies a domain for the account associated with the disk volume."""
-        self.domainid = None
-        """policy id of the snapshot, if this is null, then use MANUAL_POLICY."""
-        self.policyid = None
-        self.required = ["volumeid",]
-
-class createSnapshotResponse (baseResponse):
-    def __init__(self):
-        """ID of the snapshot"""
-        self.id = None
-        """the account associated with the snapshot"""
-        self.account = None
-        """the date the snapshot was created"""
-        self.created = None
-        """the domain name of the snapshot's account"""
-        self.domain = None
-        """the domain ID of the snapshot's account"""
-        self.domainid = None
-        """valid types are hourly, daily, weekly, monthy, template, and none."""
-        self.intervaltype = None
-        """name of the snapshot"""
-        self.name = None
-        """the project name of the snapshot"""
-        self.project = None
-        """the project id of the snapshot"""
-        self.projectid = None
-        """the type of the snapshot"""
-        self.snapshottype = None
-        """the state of the snapshot. BackedUp means that snapshot is ready to be used; Creating - the snapshot is being allocated on the primary storage; BackingUp - the snapshot is being backed up on secondary storage"""
-        self.state = None
-        """ID of the disk volume"""
-        self.volumeid = None
-        """name of the disk volume"""
-        self.volumename = None
-        """type of the disk volume"""
-        self.volumetype = None
-        """id of the availability zone"""
-        self.zoneid = None
-        """the list of resource tags associated with snapshot"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshotPolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshotPolicy.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshotPolicy.py
deleted file mode 100644
index f0eb865..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshotPolicy.py
+++ /dev/null
@@ -1,56 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a snapshot policy for the account."""
-from baseCmd import *
-from baseResponse import *
-class createSnapshotPolicyCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """valid values are HOURLY, DAILY, WEEKLY, and MONTHLY"""
-        """Required"""
-        self.intervaltype = None
-        """maximum number of snapshots to retain"""
-        """Required"""
-        self.maxsnaps = None
-        """time the snapshot is scheduled to be taken. Format is:* if HOURLY, MM* if DAILY, MM:HH* if WEEKLY, MM:HH:DD (1-7)* if MONTHLY, MM:HH:DD (1-28)"""
-        """Required"""
-        self.schedule = None
-        """Specifies a timezone for this command. For more information on the timezone parameter, see Time Zone Format."""
-        """Required"""
-        self.timezone = None
-        """the ID of the disk volume"""
-        """Required"""
-        self.volumeid = None
-        self.required = ["intervaltype","maxsnaps","schedule","timezone","volumeid",]
-
-class createSnapshotPolicyResponse (baseResponse):
-    def __init__(self):
-        """the ID of the snapshot policy"""
-        self.id = None
-        """the interval type of the snapshot policy"""
-        self.intervaltype = None
-        """maximum number of snapshots retained"""
-        self.maxsnaps = None
-        """time the snapshot is scheduled to be taken."""
-        self.schedule = None
-        """the time zone of the snapshot policy"""
-        self.timezone = None
-        """the ID of the disk volume"""
-        self.volumeid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createStaticRoute.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createStaticRoute.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createStaticRoute.py
deleted file mode 100644
index 1a58ccd..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createStaticRoute.py
+++ /dev/null
@@ -1,80 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a static route"""
-from baseCmd import *
-from baseResponse import *
-class createStaticRouteCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """static route cidr"""
-        """Required"""
-        self.cidr = None
-        """the gateway id we are creating static route for"""
-        """Required"""
-        self.gatewayid = None
-        self.required = ["cidr","gatewayid",]
-
-class createStaticRouteResponse (baseResponse):
-    def __init__(self):
-        """the ID of static route"""
-        self.id = None
-        """the account associated with the static route"""
-        self.account = None
-        """static route CIDR"""
-        self.cidr = None
-        """the domain associated with the static route"""
-        self.domain = None
-        """the ID of the domain associated with the static route"""
-        self.domainid = None
-        """VPC gateway the route is created for"""
-        self.gatewayid = None
-        """the project name of the static route"""
-        self.project = None
-        """the project id of the static route"""
-        self.projectid = None
-        """the state of the static route"""
-        self.state = None
-        """VPC the static route belongs to"""
-        self.vpcid = None
-        """the list of resource tags associated with static route"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createStorageNetworkIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createStorageNetworkIpRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createStorageNetworkIpRange.py
deleted file mode 100644
index 8e695da..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createStorageNetworkIpRange.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a Storage network IP range."""
-from baseCmd import *
-from baseResponse import *
-class createStorageNetworkIpRangeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the gateway for storage network"""
-        """Required"""
-        self.gateway = None
-        """the netmask for storage network"""
-        """Required"""
-        self.netmask = None
-        """UUID of pod where the ip range belongs to"""
-        """Required"""
-        self.podid = None
-        """the beginning IP address"""
-        """Required"""
-        self.startip = None
-        """the ending IP address"""
-        self.endip = None
-        """Optional. The vlan the ip range sits on, default to Null when it is not specificed which means you network is not on any Vlan. This is mainly for Vmware as other hypervisors can directly reterive bridge from pyhsical network traffic type table"""
-        self.vlan = None
-        self.required = ["gateway","netmask","podid","startip",]
-
-class createStorageNetworkIpRangeResponse (baseResponse):
-    def __init__(self):
-        """the uuid of storage network IP range."""
-        self.id = None
-        """the end ip of the storage network IP range"""
-        self.endip = None
-        """the gateway of the storage network IP range"""
-        self.gateway = None
-        """the netmask of the storage network IP range"""
-        self.netmask = None
-        """the network uuid of storage network IP range"""
-        self.networkid = None
-        """the Pod uuid for the storage network IP range"""
-        self.podid = None
-        """the start ip of the storage network IP range"""
-        self.startip = None
-        """the ID or VID of the VLAN."""
-        self.vlan = None
-        """the Zone uuid of the storage network IP range"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createStoragePool.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createStoragePool.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createStoragePool.py
deleted file mode 100644
index 1186e76..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createStoragePool.py
+++ /dev/null
@@ -1,104 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a storage pool."""
-from baseCmd import *
-from baseResponse import *
-class createStoragePoolCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the name for the storage pool"""
-        """Required"""
-        self.name = None
-        """the URL of the storage pool"""
-        """Required"""
-        self.url = None
-        """the Zone ID for the storage pool"""
-        """Required"""
-        self.zoneid = None
-        """bytes CloudStack can provision from this storage pool"""
-        self.capacitybytes = None
-        """IOPS CloudStack can provision from this storage pool"""
-        self.capacityiops = None
-        """the cluster ID for the storage pool"""
-        self.clusterid = None
-        """the details for the storage pool"""
-        self.details = []
-        """hypervisor type of the hosts in zone that will be attached to this storage pool. KVM, VMware supported as of now."""
-        self.hypervisor = None
-        """whether the storage should be managed by CloudStack"""
-        self.managed = None
-        """the Pod ID for the storage pool"""
-        self.podid = None
-        """the storage provider name"""
-        self.provider = None
-        """the scope of the storage: cluster or zone"""
-        self.scope = None
-        """the tags for the storage pool"""
-        self.tags = None
-        self.required = ["name","url","zoneid",]
-
-class createStoragePoolResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createTags.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createTags.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createTags.py
deleted file mode 100644
index f380b52..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createTags.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates resource tag(s)"""
-from baseCmd import *
-from baseResponse import *
-class createTagsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """list of resources to create the tags for"""
-        """Required"""
-        self.resourceids = []
-        """type of the resource"""
-        """Required"""
-        self.resourcetype = None
-        """Map of tags (key/value pairs)"""
-        """Required"""
-        self.tags = []
-        """identifies client specific tag. When the value is not null, the tag can't be used by cloudStack code internally"""
-        self.customer = None
-        self.required = ["resourceids","resourcetype","tags",]
-
-class createTagsResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createTemplate.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createTemplate.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createTemplate.py
deleted file mode 100644
index cfb848c..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createTemplate.py
+++ /dev/null
@@ -1,161 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a template of a virtual machine. The virtual machine must be in a STOPPED state. A template created from this command is automatically designated as a private template visible to the account that created it."""
-from baseCmd import *
-from baseResponse import *
-class createTemplateCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the display text of the template. This is usually used for display purposes."""
-        """Required"""
-        self.displaytext = None
-        """the name of the template"""
-        """Required"""
-        self.name = None
-        """the ID of the OS Type that best represents the OS of this template."""
-        """Required"""
-        self.ostypeid = None
-        """32 or 64 bit"""
-        self.bits = None
-        """Template details in key/value pairs."""
-        self.details = []
-        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """true if this template is a featured template, false otherwise"""
-        self.isfeatured = None
-        """true if this template is a public template, false otherwise"""
-        self.ispublic = None
-        """true if the template supports the password reset feature; default is false"""
-        self.passwordenabled = None
-        """true if the template requres HVM, false otherwise"""
-        self.requireshvm = None
-        """the ID of the snapshot the template is being created from. Either this parameter, or volumeId has to be passed in"""
-        self.snapshotid = None
-        """the tag for this template."""
-        self.templatetag = None
-        """Optional, only for baremetal hypervisor. The directory name where template stored on CIFS server"""
-        self.url = None
-        """Optional, VM ID. If this presents, it is going to create a baremetal template for VM this ID refers to. This is only for VM whose hypervisor type is BareMetal"""
-        self.virtualmachineid = None
-        """the ID of the disk volume the template is being created from. Either this parameter, or snapshotId has to be passed in"""
-        self.volumeid = None
-        self.required = ["displaytext","name","ostypeid",]
-
-class createTemplateResponse (baseResponse):
-    def __init__(self):
-        """the template ID"""
-        self.id = None
-        """the account name to which the template belongs"""
-        self.account = None
-        """the account id to which the template belongs"""
-        self.accountid = None
-        """true if the ISO is bootable, false otherwise"""
-        self.bootable = None
-        """checksum of the template"""
-        self.checksum = None
-        """the date this template was created"""
-        self.created = None
-        """true if the template is managed across all Zones, false otherwise"""
-        self.crossZones = None
-        """additional key/value details tied with template"""
-        self.details = None
-        """the template display text"""
-        self.displaytext = None
-        """the name of the domain to which the template belongs"""
-        self.domain = None
-        """the ID of the domain to which the template belongs"""
-        self.domainid = None
-        """the format of the template."""
-        self.format = None
-        """the ID of the secondary storage host for the template"""
-        self.hostid = None
-        """the name of the secondary storage host for the template"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """true if the template is extractable, false otherwise"""
-        self.isextractable = None
-        """true if this template is a featured template, false otherwise"""
-        self.isfeatured = None
-        """true if this template is a public template, false otherwise"""
-        self.ispublic = None
-        """true if the template is ready to be deployed from, false otherwise."""
-        self.isready = None
-        """the template name"""
-        self.name = None
-        """the ID of the OS type for this template."""
-        self.ostypeid = None
-        """the name of the OS type for this template."""
-        self.ostypename = None
-        """true if the reset password feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the template"""
-        self.project = None
-        """the project id of the template"""
-        self.projectid = None
-        """the date this template was removed"""
-        self.removed = None
-        """the size of the template"""
-        self.size = None
-        """the template ID of the parent template if present"""
-        self.sourcetemplateid = None
-        """true if template is sshkey enabled, false otherwise"""
-        self.sshkeyenabled = None
-        """the status of the template"""
-        self.status = None
-        """the tag of this template"""
-        self.templatetag = None
-        """the type of the template"""
-        self.templatetype = None
-        """the ID of the zone for this template"""
-        self.zoneid = None
-        """the name of the zone for this template"""
-        self.zonename = None
-        """the list of resource tags associated with tempate"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createUser.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createUser.py
deleted file mode 100644
index 0914db8..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createUser.py
+++ /dev/null
@@ -1,87 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a user for an account that already exists"""
-from baseCmd import *
-from baseResponse import *
-class createUserCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Creates the user under the specified account. If no account is specified, the username will be used as the account name."""
-        """Required"""
-        self.account = None
-        """email"""
-        """Required"""
-        self.email = None
-        """firstname"""
-        """Required"""
-        self.firstname = None
-        """lastname"""
-        """Required"""
-        self.lastname = None
-        """Clear text password (Default hashed to SHA256SALT). If you wish to use any other hashing algorithm, you would need to write a custom authentication adapter See Docs section."""
-        """Required"""
-        self.password = None
-        """Unique username."""
-        """Required"""
-        self.username = None
-        """Creates the user under the specified domain. Has to be accompanied with the account parameter"""
-        self.domainid = 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 = ["account","email","firstname","lastname","password","username",]
-
-class createUserResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createVMSnapshot.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVMSnapshot.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVMSnapshot.py
deleted file mode 100644
index 3636674..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createVMSnapshot.py
+++ /dev/null
@@ -1,72 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates snapshot for a vm."""
-from baseCmd import *
-from baseResponse import *
-class createVMSnapshotCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the vm"""
-        """Required"""
-        self.virtualmachineid = None
-        """The discription of the snapshot"""
-        self.description = None
-        """The display name of the snapshot"""
-        self.name = None
-        """snapshot memory if true"""
-        self.snapshotmemory = None
-        self.required = ["virtualmachineid",]
-
-class createVMSnapshotResponse (baseResponse):
-    def __init__(self):
-        """the ID of the vm snapshot"""
-        self.id = None
-        """the account associated with the disk volume"""
-        self.account = None
-        """the create date of the vm snapshot"""
-        self.created = None
-        """indiates if this is current snapshot"""
-        self.current = None
-        """the description of the vm snapshot"""
-        self.description = None
-        """the display name of the vm snapshot"""
-        self.displayname = None
-        """the domain associated with the disk volume"""
-        self.domain = None
-        """the ID of the domain associated with the disk volume"""
-        self.domainid = None
-        """the name of the vm snapshot"""
-        self.name = None
-        """the parent ID of the vm snapshot"""
-        self.parent = None
-        """the parent displayName of the vm snapshot"""
-        self.parentName = None
-        """the project name of the vpn"""
-        self.project = None
-        """the project id of the vpn"""
-        self.projectid = None
-        """the state of the vm snapshot"""
-        self.state = None
-        """VM Snapshot type"""
-        self.type = None
-        """the vm ID of the vm snapshot"""
-        self.virtualmachineid = None
-        """the Zone ID of the vm snapshot"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createVPC.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVPC.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVPC.py
deleted file mode 100644
index 5307f8a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createVPC.py
+++ /dev/null
@@ -1,413 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a VPC"""
-from baseCmd import *
-from baseResponse import *
-class createVPCCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the cidr of the VPC. All VPC guest networks' cidrs should be within this CIDR"""
-        """Required"""
-        self.cidr = None
-        """the display text of the VPC"""
-        """Required"""
-        self.displaytext = None
-        """the name of the VPC"""
-        """Required"""
-        self.name = None
-        """the ID of the VPC offering"""
-        """Required"""
-        self.vpcofferingid = None
-        """the ID of the availability zone"""
-        """Required"""
-        self.zoneid = None
-        """the account associated with the VPC. Must be used with the domainId parameter."""
-        self.account = None
-        """the domain ID associated with the VPC. If used with the account parameter returns the VPC associated with the account for the specified domain."""
-        self.domainid = None
-        """VPC network domain. All networks inside the VPC will belong to this domain"""
-        self.networkdomain = None
-        """create VPC for the project"""
-        self.projectid = None
-        self.required = ["cidr","displaytext","name","vpcofferingid","zoneid",]
-
-class createVPCResponse (baseResponse):
-    def __init__(self):
-        """the id of the VPC"""
-        self.id = None
-        """the owner of the VPC"""
-        self.account = None
-        """the cidr the VPC"""
-        self.cidr = None
-        """the date this VPC was created"""
-        self.created = None
-        """an alternate display text of the VPC."""
-        self.displaytext = None
-        """the domain name of the owner"""
-        self.domain = None
-        """the domain id of the VPC owner"""
-        self.domainid = None
-        """the name of the VPC"""
-        self.name = None
-        """the network domain of the VPC"""
-        self.networkdomain = None
-        """the project name of the VPC"""
-        self.project = None
-        """the project id of the VPC"""
-        self.projectid = None
-        """true VPC requires restart"""
-        self.restartrequired = None
-        """state of the VPC. Can be Inactive/Enabled"""
-        self.state = None
-        """vpc offering id the VPC is created from"""
-        self.vpcofferingid = None
-        """zone id of the vpc"""
-        self.zoneid = None
-        """the name of the zone the VPC belongs to"""
-        self.zonename = None
-        """the list of networks belongign to the VPC"""
-        self.network = []
-        """the list of supported services"""
-        self.service = []
-        """the list of resource tags associated with the project"""
-        self.tags = []
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class network:
-    def __init__(self):
-        """"the id of the network"""
-        self.id = None
-        """"the owner of the network"""
-        self.account = None
-        """"ACL Id associated with the VPC network"""
-        self.aclid = None
-        """"acl type - access type to the network"""
-        self.acltype = None
-        """"Broadcast domain type of the network"""
-        self.broadcastdomaintype = None
-        """"broadcast uri of the network. This parameter is visible to ROOT admins only"""
-        self.broadcasturi = None
-        """"list networks available for vm deployment"""
-        self.canusefordeploy = None
-        """"Cloudstack managed address space, all CloudStack managed VMs get IP address from CIDR"""
-        self.cidr = None
-        """"an optional field, whether to the display the network to the end user or not."""
-        self.displaynetwork = None
-        """"the displaytext of the network"""
-        self.displaytext = None
-        """"the first DNS for the network"""
-        self.dns1 = None
-        """"the second DNS for the network"""
-        self.dns2 = None
-        """"the domain name of the network owner"""
-        self.domain = None
-        """"the domain id of the network owner"""
-        self.domainid = None
-        """"the network's gateway"""
-        self.gateway = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"true if network is default, false otherwise"""
-        self.isdefault = None
-        """"list networks that are persistent"""
-        self.ispersistent = None
-        """"true if network is system, false otherwise"""
-        self.issystem = None
-        """"the name of the network"""
-        self.name = None
-        """"the network's netmask"""
-        self.netmask = None
-        """"the network CIDR of the guest network configured with IP reservation. It is the summation of CIDR and RESERVED_IP_RANGE"""
-        self.networkcidr = None
-        """"the network domain"""
-        self.networkdomain = None
-        """"availability of the network offering the network is created from"""
-        self.networkofferingavailability = None
-        """"true if network offering is ip conserve mode enabled"""
-        self.networkofferingconservemode = None
-        """"display text of the network offering the network is created from"""
-        self.networkofferingdisplaytext = None
-        """"network offering id the network is created from"""
-        self.networkofferingid = None
-        """"name of the network offering the network is created from"""
-        self.networkofferingname = None
-        """"the physical network id"""
-        self.physicalnetworkid = None
-        """"the project name of the address"""
-        self.project = None
-        """"the project id of the ipaddress"""
-        self.projectid = None
-        """"related to what other network configuration"""
-        self.related = None
-        """"the network's IP range not to be used by CloudStack guest VMs and can be used for non CloudStack purposes"""
-        self.reservediprange = None
-        """"true network requires restart"""
-        self.restartrequired = None
-        """"true if network supports specifying ip ranges, false otherwise"""
-        self.specifyipranges = None
-        """"state of the network"""
-        self.state = None
-        """"true if users from subdomains can access the domain level network"""
-        self.subdomainaccess = None
-        """"the traffic type of the network"""
-        self.traffictype = None
-        """"the type of the network"""
-        self.type = None
-        """"The vlan of the network. This parameter is visible to ROOT admins only"""
-        self.vlan = None
-        """"VPC the network belongs to"""
-        self.vpcid = None
-        """"zone id of the network"""
-        self.zoneid = None
-        """"the name of the zone the network belongs to"""
-        self.zonename = None
-        """"the list of services"""
-        self.service = []
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-        """"the list of resource tags associated with network"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createVPCOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVPCOffering.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVPCOffering.py
deleted file mode 100644
index e36234e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createVPCOffering.py
+++ /dev/null
@@ -1,109 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates VPC offering"""
-from baseCmd import *
-from baseResponse import *
-class createVPCOfferingCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the display text of the vpc offering"""
-        """Required"""
-        self.displaytext = None
-        """the name of the vpc offering"""
-        """Required"""
-        self.name = None
-        """services supported by the vpc offering"""
-        """Required"""
-        self.supportedservices = []
-        """provider to service mapping. If not specified, the provider for the service will be mapped to the default provider on the physical network"""
-        self.serviceproviderlist = []
-        self.required = ["displaytext","name","supportedservices",]
-
-class createVPCOfferingResponse (baseResponse):
-    def __init__(self):
-        """the id of the vpc offering"""
-        self.id = None
-        """the date this vpc offering was created"""
-        self.created = None
-        """an alternate display text of the vpc offering."""
-        self.displaytext = None
-        """true if vpc offering is default, false otherwise"""
-        self.isdefault = None
-        """the name of the vpc offering"""
-        self.name = None
-        """state of the vpc offering. Can be Disabled/Enabled"""
-        self.state = None
-        """the list of supported services"""
-        self.service = []
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createVirtualRouterElement.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVirtualRouterElement.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVirtualRouterElement.py
deleted file mode 100644
index 9c1d48b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createVirtualRouterElement.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Create a virtual router element."""
-from baseCmd import *
-from baseResponse import *
-class createVirtualRouterElementCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the network service provider ID of the virtual router element"""
-        """Required"""
-        self.nspid = None
-        """The provider type. Supported types are VirtualRouter (default) and VPCVirtualRouter"""
-        self.providertype = None
-        self.required = ["nspid",]
-
-class createVirtualRouterElementResponse (baseResponse):
-    def __init__(self):
-        """the id of the router"""
-        self.id = None
-        """the account associated with the provider"""
-        self.account = None
-        """the domain associated with the provider"""
-        self.domain = None
-        """the domain ID associated with the provider"""
-        self.domainid = None
-        """Enabled/Disabled the service provider"""
-        self.enabled = None
-        """the physical network service provider id of the provider"""
-        self.nspid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createVlanIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVlanIpRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVlanIpRange.py
deleted file mode 100644
index 0a16e33..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createVlanIpRange.py
+++ /dev/null
@@ -1,107 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a VLAN IP range."""
-from baseCmd import *
-from baseResponse import *
-class createVlanIpRangeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """account who will own the VLAN. If VLAN is Zone wide, this parameter should be ommited"""
-        self.account = None
-        """domain ID of the account owning a VLAN"""
-        self.domainid = None
-        """the ending IP address in the VLAN IP range"""
-        self.endip = None
-        """the ending IPv6 address in the IPv6 network range"""
-        self.endipv6 = None
-        """true if VLAN is of Virtual type, false if Direct"""
-        self.forvirtualnetwork = None
-        """the gateway of the VLAN IP range"""
-        self.gateway = None
-        """the CIDR of IPv6 network, must be at least /64"""
-        self.ip6cidr = None
-        """the gateway of the IPv6 network. Required for Shared networks and Isolated networks when it belongs to VPC"""
-        self.ip6gateway = None
-        """the netmask of the VLAN IP range"""
-        self.netmask = None
-        """the network id"""
-        self.networkid = None
-        """the physical network id"""
-        self.physicalnetworkid = None
-        """optional parameter. Have to be specified for Direct Untagged vlan only."""
-        self.podid = None
-        """project who will own the VLAN. If VLAN is Zone wide, this parameter should be ommited"""
-        self.projectid = None
-        """the beginning IP address in the VLAN IP range"""
-        self.startip = None
-        """the beginning IPv6 address in the IPv6 network range"""
-        self.startipv6 = None
-        """the ID or VID of the VLAN. If not specified, will be defaulted to the vlan of the network or if vlan of the network is null - to Untagged"""
-        self.vlan = None
-        """the Zone ID of the VLAN IP range"""
-        self.zoneid = None
-        self.required = []
-
-class createVlanIpRangeResponse (baseResponse):
-    def __init__(self):
-        """the ID of the VLAN IP range"""
-        self.id = None
-        """the account of the VLAN IP range"""
-        self.account = None
-        """the description of the VLAN IP range"""
-        self.description = None
-        """the domain name of the VLAN IP range"""
-        self.domain = None
-        """the domain ID of the VLAN IP range"""
-        self.domainid = None
-        """the end ip of the VLAN IP range"""
-        self.endip = None
-        """the end ipv6 of the VLAN IP range"""
-        self.endipv6 = None
-        """the virtual network for the VLAN IP range"""
-        self.forvirtualnetwork = None
-        """the gateway of the VLAN IP range"""
-        self.gateway = None
-        """the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """the netmask of the VLAN IP range"""
-        self.netmask = None
-        """the network id of vlan range"""
-        self.networkid = None
-        """the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """the Pod ID for the VLAN IP range"""
-        self.podid = None
-        """the Pod name for the VLAN IP range"""
-        self.podname = None
-        """the project name of the vlan range"""
-        self.project = None
-        """the project id of the vlan range"""
-        self.projectid = None
-        """the start ip of the VLAN IP range"""
-        self.startip = None
-        """the start ipv6 of the VLAN IP range"""
-        self.startipv6 = None
-        """the ID or VID of the VLAN."""
-        self.vlan = None
-        """the Zone ID of the VLAN IP range"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createVolume.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVolume.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVolume.py
deleted file mode 100644
index 4b6f91a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createVolume.py
+++ /dev/null
@@ -1,163 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a disk volume from a disk offering. This disk volume must still be attached to a virtual machine to make use of it."""
-from baseCmd import *
-from baseResponse import *
-class createVolumeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the name of the disk volume"""
-        """Required"""
-        self.name = None
-        """the account associated with the disk volume. Must be used with the domainId parameter."""
-        self.account = None
-        """the ID of the disk offering. Either diskOfferingId or snapshotId must be passed in."""
-        self.diskofferingid = None
-        """an optional field, whether to display the volume to the end user or not."""
-        self.displayvolume = None
-        """the domain ID associated with the disk offering. If used with the account parameter returns the disk volume associated with the account for the specified domain."""
-        self.domainid = None
-        """max iops"""
-        self.maxiops = None
-        """min iops"""
-        self.miniops = None
-        """the project associated with the volume. Mutually exclusive with account parameter"""
-        self.projectid = None
-        """Arbitrary volume size"""
-        self.size = None
-        """the snapshot ID for the disk volume. Either diskOfferingId or snapshotId must be passed in."""
-        self.snapshotid = None
-        """the ID of the availability zone"""
-        self.zoneid = None
-        self.required = ["name",]
-
-class createVolumeResponse (baseResponse):
-    def __init__(self):
-        """ID of the disk volume"""
-        self.id = None
-        """the account associated with the disk volume"""
-        self.account = None
-        """the date the volume was attached to a VM instance"""
-        self.attached = None
-        """the date the disk volume was created"""
-        self.created = None
-        """the boolean state of whether the volume is destroyed or not"""
-        self.destroyed = None
-        """the ID of the device on user vm the volume is attahed to. This tag is not returned when the volume is detached."""
-        self.deviceid = None
-        """bytes read rate of the disk volume"""
-        self.diskBytesReadRate = None
-        """bytes write rate of the disk volume"""
-        self.diskBytesWriteRate = None
-        """io requests read rate of the disk volume"""
-        self.diskIopsReadRate = None
-        """io requests write rate of the disk volume"""
-        self.diskIopsWriteRate = None
-        """the display text of the disk offering"""
-        self.diskofferingdisplaytext = None
-        """ID of the disk offering"""
-        self.diskofferingid = None
-        """name of the disk offering"""
-        self.diskofferingname = None
-        """an optional field whether to the display the volume to the end user or not."""
-        self.displayvolume = None
-        """the domain associated with the disk volume"""
-        self.domain = None
-        """the ID of the domain associated with the disk volume"""
-        self.domainid = None
-        """Hypervisor the volume belongs to"""
-        self.hypervisor = None
-        """true if the volume is extractable, false otherwise"""
-        self.isextractable = None
-        """max iops of the disk volume"""
-        self.maxiops = None
-        """min iops of the disk volume"""
-        self.miniops = None
-        """name of the disk volume"""
-        self.name = None
-        """The path of the volume"""
-        self.path = None
-        """the project name of the vpn"""
-        self.project = None
-        """the project id of the vpn"""
-        self.projectid = None
-        """the display text of the service offering for root disk"""
-        self.serviceofferingdisplaytext = None
-        """ID of the service offering for root disk"""
-        self.serviceofferingid = None
-        """name of the service offering for root disk"""
-        self.serviceofferingname = None
-        """size of the disk volume"""
-        self.size = None
-        """ID of the snapshot from which this volume was created"""
-        self.snapshotid = None
-        """the state of the disk volume"""
-        self.state = None
-        """the status of the volume"""
-        self.status = None
-        """name of the primary storage hosting the disk volume"""
-        self.storage = None
-        """id of the primary storage hosting the disk volume; returned to admin user only"""
-        self.storageid = None
-        """shared or local storage"""
-        self.storagetype = None
-        """type of the disk volume (ROOT or DATADISK)"""
-        self.type = None
-        """id of the virtual machine"""
-        self.virtualmachineid = None
-        """display name of the virtual machine"""
-        self.vmdisplayname = None
-        """name of the virtual machine"""
-        self.vmname = None
-        """state of the virtual machine"""
-        self.vmstate = None
-        """ID of the availability zone"""
-        self.zoneid = None
-        """name of the availability zone"""
-        self.zonename = None
-        """the list of resource tags associated with volume"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnConnection.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnConnection.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnConnection.py
deleted file mode 100644
index 7e8cf7b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnConnection.py
+++ /dev/null
@@ -1,75 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Create site to site vpn connection"""
-from baseCmd import *
-from baseResponse import *
-class createVpnConnectionCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """id of the customer gateway"""
-        """Required"""
-        self.s2scustomergatewayid = None
-        """id of the vpn gateway"""
-        """Required"""
-        self.s2svpngatewayid = None
-        self.required = ["s2scustomergatewayid","s2svpngatewayid",]
-
-class createVpnConnectionResponse (baseResponse):
-    def __init__(self):
-        """the vpn gateway ID"""
-        self.id = None
-        """the owner"""
-        self.account = None
-        """guest cidr list of the customer gateway"""
-        self.cidrlist = None
-        """the date and time the host was created"""
-        self.created = None
-        """the domain name of the owner"""
-        self.domain = None
-        """the domain id of the owner"""
-        self.domainid = None
-        """if DPD is enabled for customer gateway"""
-        self.dpd = None
-        """Lifetime of ESP SA of customer gateway"""
-        self.esplifetime = None
-        """ESP policy of the customer gateway"""
-        self.esppolicy = None
-        """public ip address id of the customer gateway"""
-        self.gateway = None
-        """Lifetime of IKE SA of customer gateway"""
-        self.ikelifetime = None
-        """IKE policy of the customer gateway"""
-        self.ikepolicy = None
-        """IPsec Preshared-Key of the customer gateway"""
-        self.ipsecpsk = None
-        """the project name"""
-        self.project = None
-        """the project id"""
-        self.projectid = None
-        """the public IP address"""
-        self.publicip = None
-        """the date and time the host was removed"""
-        self.removed = None
-        """the customer gateway ID"""
-        self.s2scustomergatewayid = None
-        """the vpn gateway ID"""
-        self.s2svpngatewayid = None
-        """State of vpn connection"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnCustomerGateway.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnCustomerGateway.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnCustomerGateway.py
deleted file mode 100644
index 14d94bc..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnCustomerGateway.py
+++ /dev/null
@@ -1,90 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates site to site vpn customer gateway"""
-from baseCmd import *
-from baseResponse import *
-class createVpnCustomerGatewayCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """guest cidr list of the customer gateway"""
-        """Required"""
-        self.cidrlist = None
-        """ESP policy of the customer gateway"""
-        """Required"""
-        self.esppolicy = None
-        """public ip address id of the customer gateway"""
-        """Required"""
-        self.gateway = None
-        """IKE policy of the customer gateway"""
-        """Required"""
-        self.ikepolicy = None
-        """IPsec Preshared-Key of the customer gateway"""
-        """Required"""
-        self.ipsecpsk = None
-        """the account associated with the gateway. Must be used with the domainId parameter."""
-        self.account = None
-        """the domain ID associated with the gateway. If used with the account parameter returns the gateway associated with the account for the specified domain."""
-        self.domainid = None
-        """If DPD is enabled for VPN connection"""
-        self.dpd = None
-        """Lifetime of phase 2 VPN connection to the customer gateway, in seconds"""
-        self.esplifetime = None
-        """Lifetime of phase 1 VPN connection to the customer gateway, in seconds"""
-        self.ikelifetime = None
-        """name of this customer gateway"""
-        self.name = None
-        self.required = ["cidrlist","esppolicy","gateway","ikepolicy","ipsecpsk",]
-
-class createVpnCustomerGatewayResponse (baseResponse):
-    def __init__(self):
-        """the vpn gateway ID"""
-        self.id = None
-        """the owner"""
-        self.account = None
-        """guest cidr list of the customer gateway"""
-        self.cidrlist = None
-        """the domain name of the owner"""
-        self.domain = None
-        """the domain id of the owner"""
-        self.domainid = None
-        """if DPD is enabled for customer gateway"""
-        self.dpd = None
-        """Lifetime of ESP SA of customer gateway"""
-        self.esplifetime = None
-        """IPsec policy of customer gateway"""
-        self.esppolicy = None
-        """public ip address id of the customer gateway"""
-        self.gateway = None
-        """Lifetime of IKE SA of customer gateway"""
-        self.ikelifetime = None
-        """IKE policy of customer gateway"""
-        self.ikepolicy = None
-        """guest ip of the customer gateway"""
-        self.ipaddress = None
-        """IPsec preshared-key of customer gateway"""
-        self.ipsecpsk = None
-        """name of the customer gateway"""
-        self.name = None
-        """the project name"""
-        self.project = None
-        """the project id"""
-        self.projectid = None
-        """the date and time the host was removed"""
-        self.removed = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnGateway.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnGateway.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnGateway.py
deleted file mode 100644
index 918c55f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnGateway.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates site to site vpn local gateway"""
-from baseCmd import *
-from baseResponse import *
-class createVpnGatewayCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """public ip address id of the vpn gateway"""
-        """Required"""
-        self.vpcid = None
-        self.required = ["vpcid",]
-
-class createVpnGatewayResponse (baseResponse):
-    def __init__(self):
-        """the vpn gateway ID"""
-        self.id = None
-        """the owner"""
-        self.account = None
-        """the domain name of the owner"""
-        self.domain = None
-        """the domain id of the owner"""
-        self.domainid = None
-        """the project name"""
-        self.project = None
-        """the project id"""
-        self.projectid = None
-        """the public IP address"""
-        self.publicip = None
-        """the date and time the host was removed"""
-        self.removed = None
-        """the vpc id of this gateway"""
-        self.vpcid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createZone.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createZone.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createZone.py
deleted file mode 100644
index 364eeba..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createZone.py
+++ /dev/null
@@ -1,153 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a Zone."""
-from baseCmd import *
-from baseResponse import *
-class createZoneCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the first DNS for the Zone"""
-        """Required"""
-        self.dns1 = None
-        """the first internal DNS for the Zone"""
-        """Required"""
-        self.internaldns1 = None
-        """the name of the Zone"""
-        """Required"""
-        self.name = None
-        """network type of the zone, can be Basic or Advanced"""
-        """Required"""
-        self.networktype = None
-        """Allocation state of this Zone for allocation of new resources"""
-        self.allocationstate = None
-        """the second DNS for the Zone"""
-        self.dns2 = None
-        """Network domain name for the networks in the zone"""
-        self.domain = None
-        """the ID of the containing domain, null for public zones"""
-        self.domainid = None
-        """the guest CIDR address for the Zone"""
-        self.guestcidraddress = None
-        """the second internal DNS for the Zone"""
-        self.internaldns2 = None
-        """the first DNS for IPv6 network in the Zone"""
-        self.ip6dns1 = None
-        """the second DNS for IPv6 network in the Zone"""
-        self.ip6dns2 = None
-        """true if local storage offering enabled, false otherwise"""
-        self.localstorageenabled = None
-        """true if network is security group enabled, false otherwise"""
-        self.securitygroupenabled = None
-        self.required = ["dns1","internaldns1","name","networktype",]
-
-class createZoneResponse (baseResponse):
-    def __init__(self):
-        """Zone id"""
-        self.id = None
-        """the allocation state of the cluster"""
-        self.allocationstate = None
-        """Zone description"""
-        self.description = None
-        """the dhcp Provider for the Zone"""
-        self.dhcpprovider = None
-        """the display text of the zone"""
-        self.displaytext = None
-        """the first DNS for the Zone"""
-        self.dns1 = None
-        """the second DNS for the Zone"""
-        self.dns2 = None
-        """Network domain name for the networks in the zone"""
-        self.domain = None
-        """the UUID of the containing domain, null for public zones"""
-        self.domainid = None
-        """the name of the containing domain, null for public zones"""
-        self.domainname = None
-        """the guest CIDR address for the Zone"""
-        self.guestcidraddress = None
-        """the first internal DNS for the Zone"""
-        self.internaldns1 = None
-        """the second internal DNS for the Zone"""
-        self.internaldns2 = None
-        """the first IPv6 DNS for the Zone"""
-        self.ip6dns1 = None
-        """the second IPv6 DNS for the Zone"""
-        self.ip6dns2 = None
-        """true if local storage offering enabled, false otherwise"""
-        self.localstorageenabled = None
-        """Zone name"""
-        self.name = None
-        """the network type of the zone; can be Basic or Advanced"""
-        self.networktype = None
-        """true if security groups support is enabled, false otherwise"""
-        self.securitygroupsenabled = None
-        """the vlan range of the zone"""
-        self.vlan = None
-        """Zone Token"""
-        self.zonetoken = None
-        """the capacity of the Zone"""
-        self.capacity = []
-        """the list of resource tags associated with zone."""
-        self.tags = []
-
-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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-


[27/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addNicToVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addNicToVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addNicToVirtualMachine.py
deleted file mode 100644
index 0385acc..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addNicToVirtualMachine.py
+++ /dev/null
@@ -1,374 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds VM to specified network by creating a NIC"""
-from baseCmd import *
-from baseResponse import *
-class addNicToVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Network ID"""
-        """Required"""
-        self.networkid = None
-        """Virtual Machine ID"""
-        """Required"""
-        self.virtualmachineid = None
-        """IP Address for the new network"""
-        self.ipaddress = None
-        self.required = ["networkid","virtualmachineid",]
-
-class addNicToVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addNiciraNvpDevice.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addNiciraNvpDevice.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addNiciraNvpDevice.py
deleted file mode 100644
index 2a1b3b9..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addNiciraNvpDevice.py
+++ /dev/null
@@ -1,60 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds a Nicira NVP device"""
-from baseCmd import *
-from baseResponse import *
-class addNiciraNvpDeviceCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Hostname of ip address of the Nicira NVP Controller."""
-        """Required"""
-        self.hostname = None
-        """Credentials to access the Nicira Controller API"""
-        """Required"""
-        self.password = None
-        """the Physical Network ID"""
-        """Required"""
-        self.physicalnetworkid = None
-        """The Transportzone UUID configured on the Nicira Controller"""
-        """Required"""
-        self.transportzoneuuid = None
-        """Credentials to access the Nicira Controller API"""
-        """Required"""
-        self.username = None
-        """The L3 Gateway Service UUID configured on the Nicira Controller"""
-        self.l3gatewayserviceuuid = None
-        self.required = ["hostname","password","physicalnetworkid","transportzoneuuid","username",]
-
-class addNiciraNvpDeviceResponse (baseResponse):
-    def __init__(self):
-        """the controller Ip address"""
-        self.hostname = None
-        """this L3 gateway service Uuid"""
-        self.l3gatewayserviceuuid = None
-        """device name"""
-        self.niciradevicename = None
-        """device id of the Nicire Nvp"""
-        self.nvpdeviceid = None
-        """the physical network to which this Nirica Nvp belongs to"""
-        self.physicalnetworkid = None
-        """name of the provider"""
-        self.provider = None
-        """the transport zone Uuid"""
-        self.transportzoneuuid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addRegion.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addRegion.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addRegion.py
deleted file mode 100644
index 31dd483..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addRegion.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds a Region"""
-from baseCmd import *
-from baseResponse import *
-class addRegionCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Id of the Region"""
-        """Required"""
-        self.id = None
-        """Region service endpoint"""
-        """Required"""
-        self.endpoint = None
-        """Name of the region"""
-        """Required"""
-        self.name = None
-        self.required = ["id","endpoint","name",]
-
-class addRegionResponse (baseResponse):
-    def __init__(self):
-        """the ID of the region"""
-        self.id = None
-        """the end point of the region"""
-        self.endpoint = None
-        """true if GSLB service is enabled in the region, false otherwise"""
-        self.gslbserviceenabled = None
-        """the name of the region"""
-        self.name = None
-        """true if security groups support is enabled, false otherwise"""
-        self.portableipserviceenabled = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addResourceDetail.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addResourceDetail.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addResourceDetail.py
deleted file mode 100644
index d5f514b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addResourceDetail.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds detail for the Resource."""
-from baseCmd import *
-from baseResponse import *
-class addResourceDetailCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Map of (key/value pairs)"""
-        """Required"""
-        self.details = []
-        """resource id to create the details for"""
-        """Required"""
-        self.resourceid = None
-        """type of the resource"""
-        """Required"""
-        self.resourcetype = None
-        self.required = ["details","resourceid","resourcetype",]
-
-class addResourceDetailResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addS3.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addS3.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addS3.py
deleted file mode 100644
index 18a4eb6..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addS3.py
+++ /dev/null
@@ -1,66 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds S3"""
-from baseCmd import *
-from baseResponse import *
-class addS3Cmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """S3 access key"""
-        """Required"""
-        self.accesskey = None
-        """name of the template storage bucket"""
-        """Required"""
-        self.bucket = None
-        """S3 secret key"""
-        """Required"""
-        self.secretkey = None
-        """connection timeout (milliseconds)"""
-        self.connectiontimeout = None
-        """S3 host name"""
-        self.endpoint = None
-        """maximum number of times to retry on error"""
-        self.maxerrorretry = None
-        """socket timeout (milliseconds)"""
-        self.sockettimeout = None
-        """connect to the S3 endpoint via HTTPS?"""
-        self.usehttps = None
-        self.required = ["accesskey","bucket","secretkey",]
-
-class addS3Response (baseResponse):
-    def __init__(self):
-        """the ID of the image store"""
-        self.id = None
-        """the details of the image store"""
-        self.details = None
-        """the name of the image store"""
-        self.name = None
-        """the protocol of the image store"""
-        self.protocol = None
-        """the provider name of the image store"""
-        self.providername = None
-        """the scope of the image store"""
-        self.scope = None
-        """the url of the image store"""
-        self.url = None
-        """the Zone ID of the image store"""
-        self.zoneid = None
-        """the Zone name of the image store"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addSecondaryStorage.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addSecondaryStorage.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addSecondaryStorage.py
deleted file mode 100644
index 1e112ff..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addSecondaryStorage.py
+++ /dev/null
@@ -1,52 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds secondary storage."""
-from baseCmd import *
-from baseResponse import *
-class addSecondaryStorageCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the URL for the secondary storage"""
-        """Required"""
-        self.url = None
-        """the Zone ID for the secondary storage"""
-        self.zoneid = None
-        self.required = ["url",]
-
-class addSecondaryStorageResponse (baseResponse):
-    def __init__(self):
-        """the ID of the image store"""
-        self.id = None
-        """the details of the image store"""
-        self.details = None
-        """the name of the image store"""
-        self.name = None
-        """the protocol of the image store"""
-        self.protocol = None
-        """the provider name of the image store"""
-        self.providername = None
-        """the scope of the image store"""
-        self.scope = None
-        """the url of the image store"""
-        self.url = None
-        """the Zone ID of the image store"""
-        self.zoneid = None
-        """the Zone name of the image store"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addSwift.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addSwift.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addSwift.py
deleted file mode 100644
index 1fe435b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addSwift.py
+++ /dev/null
@@ -1,56 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds Swift."""
-from baseCmd import *
-from baseResponse import *
-class addSwiftCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the URL for swift"""
-        """Required"""
-        self.url = None
-        """the account for swift"""
-        self.account = None
-        """key for the user for swift"""
-        self.key = None
-        """the username for swift"""
-        self.username = None
-        self.required = ["url",]
-
-class addSwiftResponse (baseResponse):
-    def __init__(self):
-        """the ID of the image store"""
-        self.id = None
-        """the details of the image store"""
-        self.details = None
-        """the name of the image store"""
-        self.name = None
-        """the protocol of the image store"""
-        self.protocol = None
-        """the provider name of the image store"""
-        self.providername = None
-        """the scope of the image store"""
-        self.scope = None
-        """the url of the image store"""
-        self.url = None
-        """the Zone ID of the image store"""
-        self.zoneid = None
-        """the Zone name of the image store"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficMonitor.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficMonitor.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficMonitor.py
deleted file mode 100644
index 292e577..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficMonitor.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds Traffic Monitor Host for Direct Network Usage"""
-from baseCmd import *
-from baseResponse import *
-class addTrafficMonitorCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """URL of the traffic monitor Host"""
-        """Required"""
-        self.url = None
-        """Zone in which to add the external firewall appliance."""
-        """Required"""
-        self.zoneid = None
-        """Traffic going into the listed zones will not be metered"""
-        self.excludezones = None
-        """Traffic going into the listed zones will be metered"""
-        self.includezones = None
-        self.required = ["url","zoneid",]
-
-class addTrafficMonitorResponse (baseResponse):
-    def __init__(self):
-        """the ID of the external firewall"""
-        self.id = None
-        """the management IP address of the external firewall"""
-        self.ipaddress = None
-        """the number of times to retry requests to the external firewall"""
-        self.numretries = None
-        """the timeout (in seconds) for requests to the external firewall"""
-        self.timeout = None
-        """the zone ID of the external firewall"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficType.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficType.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficType.py
deleted file mode 100644
index 5da6f55..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficType.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds traffic type to a physical network"""
-from baseCmd import *
-from baseResponse import *
-class addTrafficTypeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the Physical Network ID"""
-        """Required"""
-        self.physicalnetworkid = None
-        """the trafficType to be added to the physical network"""
-        """Required"""
-        self.traffictype = None
-        """The network name label of the physical device dedicated to this traffic on a KVM host"""
-        self.kvmnetworklabel = None
-        """The VLAN id to be used for Management traffic by VMware host"""
-        self.vlan = None
-        """The network name label of the physical device dedicated to this traffic on a VMware host"""
-        self.vmwarenetworklabel = None
-        """The network name label of the physical device dedicated to this traffic on a XenServer host"""
-        self.xennetworklabel = None
-        self.required = ["physicalnetworkid","traffictype",]
-
-class addTrafficTypeResponse (baseResponse):
-    def __init__(self):
-        """id of the network provider"""
-        self.id = None
-        """The network name label of the physical device dedicated to this traffic on a KVM host"""
-        self.kvmnetworklabel = None
-        """the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """the trafficType to be added to the physical network"""
-        self.traffictype = None
-        """The network name label of the physical device dedicated to this traffic on a VMware host"""
-        self.vmwarenetworklabel = None
-        """The network name label of the physical device dedicated to this traffic on a XenServer host"""
-        self.xennetworklabel = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addUcsManager.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addUcsManager.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addUcsManager.py
deleted file mode 100644
index 43ce10c..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addUcsManager.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds a Ucs manager"""
-from baseCmd import *
-from baseResponse import *
-class addUcsManagerCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the password of UCS"""
-        """Required"""
-        self.password = None
-        """the name of UCS url"""
-        """Required"""
-        self.url = None
-        """the username of UCS"""
-        """Required"""
-        self.username = None
-        """the Zone id for the ucs manager"""
-        """Required"""
-        self.zoneid = None
-        """the name of UCS manager"""
-        self.name = None
-        self.required = ["password","url","username","zoneid",]
-
-class addUcsManagerResponse (baseResponse):
-    def __init__(self):
-        """the ID of the ucs manager"""
-        self.id = None
-        """the name of ucs manager"""
-        self.name = None
-        """the url of ucs manager"""
-        self.url = None
-        """the zone ID of ucs manager"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addVpnUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addVpnUser.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addVpnUser.py
deleted file mode 100644
index e5ef586..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addVpnUser.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds vpn users"""
-from baseCmd import *
-from baseResponse import *
-class addVpnUserCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """password for the username"""
-        """Required"""
-        self.password = None
-        """username for the vpn user"""
-        """Required"""
-        self.username = None
-        """an optional account for the vpn user. Must be used with domainId."""
-        self.account = None
-        """an optional domainId for the vpn user. If the account parameter is used, domainId must also be used."""
-        self.domainid = None
-        """add vpn user to the specific project"""
-        self.projectid = None
-        self.required = ["password","username",]
-
-class addVpnUserResponse (baseResponse):
-    def __init__(self):
-        """the vpn userID"""
-        self.id = None
-        """the account of the remote access vpn"""
-        self.account = None
-        """the domain name of the account of the remote access vpn"""
-        self.domain = None
-        """the domain id of the account of the remote access vpn"""
-        self.domainid = None
-        """the project name of the vpn"""
-        self.project = None
-        """the project id of the vpn"""
-        self.projectid = None
-        """the state of the Vpn User"""
-        self.state = None
-        """the username of the vpn user"""
-        self.username = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/archiveAlerts.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/archiveAlerts.py b/tools/marvin/build/lib/marvin/cloudstackAPI/archiveAlerts.py
deleted file mode 100644
index c02e125..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/archiveAlerts.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Archive one or more alerts."""
-from baseCmd import *
-from baseResponse import *
-class archiveAlertsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """end date range to archive alerts (including) this date (use format "yyyy-MM-dd" or the new format "yyyy-MM-ddThh:mm:ss")"""
-        self.enddate = None
-        """the IDs of the alerts"""
-        self.ids = []
-        """start date range to archive alerts (including) this date (use format "yyyy-MM-dd" or the new format "yyyy-MM-ddThh:mm:ss")"""
-        self.startdate = None
-        """archive by alert type"""
-        self.type = None
-        self.required = []
-
-class archiveAlertsResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/archiveEvents.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/archiveEvents.py b/tools/marvin/build/lib/marvin/cloudstackAPI/archiveEvents.py
deleted file mode 100644
index 7a9dd57..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/archiveEvents.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Archive one or more events."""
-from baseCmd import *
-from baseResponse import *
-class archiveEventsCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """end date range to archive events (including) this date (use format "yyyy-MM-dd" or the new format "yyyy-MM-ddThh:mm:ss")"""
-        self.enddate = None
-        """the IDs of the events"""
-        self.ids = []
-        """start date range to archive events (including) this date (use format "yyyy-MM-dd" or the new format "yyyy-MM-ddThh:mm:ss")"""
-        self.startdate = None
-        """archive by event type"""
-        self.type = None
-        self.required = []
-
-class archiveEventsResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/assignToGlobalLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/assignToGlobalLoadBalancerRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/assignToGlobalLoadBalancerRule.py
deleted file mode 100644
index f007143..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/assignToGlobalLoadBalancerRule.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Assign load balancer rule or list of load balancer rules to a global load balancer rules."""
-from baseCmd import *
-from baseResponse import *
-class assignToGlobalLoadBalancerRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the global load balancer rule"""
-        """Required"""
-        self.id = None
-        """the list load balancer rules that will be assigned to gloabal load balacner rule"""
-        """Required"""
-        self.loadbalancerrulelist = []
-        """Map of LB rule id's and corresponding weights (between 1-100) in the GSLB rule, if not specified weight of a LB rule is defaulted to 1. Specified as 'gslblbruleweightsmap[0].loadbalancerid=UUID&gslblbruleweightsmap[0].weight=10'"""
-        self.gslblbruleweightsmap = []
-        self.required = ["id","loadbalancerrulelist",]
-
-class assignToGlobalLoadBalancerRuleResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/assignToLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/assignToLoadBalancerRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/assignToLoadBalancerRule.py
deleted file mode 100644
index 56901e8..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/assignToLoadBalancerRule.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Assigns virtual machine or a list of virtual machines to a load balancer rule."""
-from baseCmd import *
-from baseResponse import *
-class assignToLoadBalancerRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the load balancer rule"""
-        """Required"""
-        self.id = None
-        """the list of IDs of the virtual machine that are being assigned to the load balancer rule(i.e. virtualMachineIds=1,2,3)"""
-        """Required"""
-        self.virtualmachineids = []
-        self.required = ["id","virtualmachineids",]
-
-class assignToLoadBalancerRuleResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/assignVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/assignVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/assignVirtualMachine.py
deleted file mode 100644
index e193c0e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/assignVirtualMachine.py
+++ /dev/null
@@ -1,379 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Change ownership of a VM from one account to another. This API is available for Basic zones with security groups and Advanced zones with guest networks. A root administrator can reassign a VM from any account to any other account in any domain. A domain administrator can reassign a VM to any account in the same domain."""
-from baseCmd import *
-from baseResponse import *
-class assignVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """account name of the new VM owner."""
-        """Required"""
-        self.account = None
-        """domain id of the new VM owner."""
-        """Required"""
-        self.domainid = None
-        """id of the VM to be moved"""
-        """Required"""
-        self.virtualmachineid = None
-        """list of new network ids in which the moved VM will participate. In case no network ids are provided the VM will be part of the default network for that zone. In case there is no network yet created for the new account the default network will be created."""
-        self.networkids = []
-        """list of security group ids to be applied on the virtual machine. In case no security groups are provided the VM is part of the default security group."""
-        self.securitygroupids = []
-        self.required = ["account","domainid","virtualmachineid",]
-
-class assignVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/associateIpAddress.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/associateIpAddress.py b/tools/marvin/build/lib/marvin/cloudstackAPI/associateIpAddress.py
deleted file mode 100644
index acf5e5f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/associateIpAddress.py
+++ /dev/null
@@ -1,130 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Acquires and associates a public IP to an account."""
-from baseCmd import *
-from baseResponse import *
-class associateIpAddressCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the account to associate with this IP address"""
-        self.account = None
-        """the ID of the domain to associate with this IP address"""
-        self.domainid = None
-        """should be set to true if public IP is required to be transferable across zones, if not specified defaults to false"""
-        self.isportable = None
-        """The network this ip address should be associated to."""
-        self.networkid = None
-        """Deploy vm for the project"""
-        self.projectid = None
-        """region ID from where portable ip is to be associated."""
-        self.regionid = None
-        """the VPC you want the ip address to be associated with"""
-        self.vpcid = None
-        """the ID of the availability zone you want to acquire an public IP address from"""
-        self.zoneid = None
-        self.required = []
-
-class associateIpAddressResponse (baseResponse):
-    def __init__(self):
-        """public IP address id"""
-        self.id = None
-        """the account the public IP address is associated with"""
-        self.account = None
-        """date the public IP address was acquired"""
-        self.allocated = None
-        """the ID of the Network associated with the IP address"""
-        self.associatednetworkid = None
-        """the name of the Network associated with the IP address"""
-        self.associatednetworkname = None
-        """the domain the public IP address is associated with"""
-        self.domain = None
-        """the domain ID the public IP address is associated with"""
-        self.domainid = None
-        """the virtual network for the IP address"""
-        self.forvirtualnetwork = None
-        """public IP address"""
-        self.ipaddress = None
-        """is public IP portable across the zones"""
-        self.isportable = None
-        """true if the IP address is a source nat address, false otherwise"""
-        self.issourcenat = None
-        """true if this ip is for static nat, false otherwise"""
-        self.isstaticnat = None
-        """true if this ip is system ip (was allocated as a part of deployVm or createLbRule)"""
-        self.issystem = None
-        """the ID of the Network where ip belongs to"""
-        self.networkid = None
-        """the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """purpose of the IP address. In Acton this value is not null for Ips with isSystem=true, and can have either StaticNat or LB value"""
-        self.purpose = None
-        """State of the ip address. Can be: Allocatin, Allocated and Releasing"""
-        self.state = None
-        """virutal machine display name the ip address is assigned to (not null only for static nat Ip)"""
-        self.virtualmachinedisplayname = None
-        """virutal machine id the ip address is assigned to (not null only for static nat Ip)"""
-        self.virtualmachineid = None
-        """virutal machine name the ip address is assigned to (not null only for static nat Ip)"""
-        self.virtualmachinename = None
-        """the ID of the VLAN associated with the IP address. This parameter is visible to ROOT admins only"""
-        self.vlanid = None
-        """the VLAN associated with the IP address"""
-        self.vlanname = None
-        """virutal machine (dnat) ip address (not null only for static nat Ip)"""
-        self.vmipaddress = None
-        """VPC the ip belongs to"""
-        self.vpcid = None
-        """the ID of the zone the public IP address belongs to"""
-        self.zoneid = None
-        """the name of the zone the public IP address belongs to"""
-        self.zonename = None
-        """the list of resource tags associated with ip address"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/associateUcsProfileToBlade.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/associateUcsProfileToBlade.py b/tools/marvin/build/lib/marvin/cloudstackAPI/associateUcsProfileToBlade.py
deleted file mode 100644
index 62d30c3..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/associateUcsProfileToBlade.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""associate a profile to a blade"""
-from baseCmd import *
-from baseResponse import *
-class associateUcsProfileToBladeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """blade id"""
-        """Required"""
-        self.bladeid = None
-        """profile dn"""
-        """Required"""
-        self.profiledn = None
-        """ucs manager id"""
-        """Required"""
-        self.ucsmanagerid = None
-        self.required = ["bladeid","profiledn","ucsmanagerid",]
-
-class associateUcsProfileToBladeResponse (baseResponse):
-    def __init__(self):
-        """ucs blade id"""
-        self.id = None
-        """ucs blade dn"""
-        self.bladedn = None
-        """cloudstack host id this blade associates to"""
-        self.hostid = None
-        """associated ucs profile dn"""
-        self.profiledn = None
-        """ucs manager id"""
-        self.ucsmanagerid = None
-


[28/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/smoke/test_network.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_network.py b/test/integration/smoke/test_network.py
index 09d6437..f204595 100644
--- a/test/integration/smoke/test_network.py
+++ b/test/integration/smoke/test_network.py
@@ -21,7 +21,7 @@ import marvin
 from marvin.cloudstackException import cloudstackAPIException
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *
@@ -460,7 +460,7 @@ class TestPortForwarding(cloudstackTestCase):
                 "SSHing into VM with IP address %s after NAT rule deletion" %
                                                  self.virtual_machine.ipaddress)
 
-           SshClient(
+            remoteSSHClient(
                                             src_nat_ip_addr.ipaddress,
                                             self.virtual_machine.ssh_port,
                                             self.virtual_machine.username,
@@ -578,7 +578,7 @@ class TestPortForwarding(cloudstackTestCase):
                 "SSHing into VM with IP address %s after NAT rule deletion" %
                                                  self.virtual_machine.ipaddress)
 
-           SshClient(
+            remoteSSHClient(
                                             ip_address.ipaddress.ipaddress,
                                             self.virtual_machine.ssh_port,
                                             self.virtual_machine.username,
@@ -741,7 +741,7 @@ class TestRebootRouter(cloudstackTestCase):
         try:
             self.debug("SSH into VM (ID : %s ) after reboot" % self.vm_1.id)
 
-           SshClient(
+            remoteSSHClient(
                                     self.public_ip.ipaddress.ipaddress,
                                     self.services["natrule"]["publicport"],
                                     self.vm_1.username,
@@ -883,7 +883,7 @@ class TestReleaseIP(cloudstackTestCase):
 
         # SSH Attempt though public IP should fail
         with self.assertRaises(Exception):
-            ssh_2 = SshClient(
+            ssh_2 = remoteSSHClient(
                                     self.ip_addr.ipaddress,
                                     self.services["natrule"]["publicport"],
                                     self.virtual_machine.username,

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/smoke/test_nic.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_nic.py b/test/integration/smoke/test_nic.py
index ac95685..583fc29 100644
--- a/test/integration/smoke/test_nic.py
+++ b/test/integration/smoke/test_nic.py
@@ -18,7 +18,7 @@
 import marvin
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/smoke/test_pvlan.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_pvlan.py b/test/integration/smoke/test_pvlan.py
index aeb47f9..0a427ba 100644
--- a/test/integration/smoke/test_pvlan.py
+++ b/test/integration/smoke/test_pvlan.py
@@ -20,7 +20,7 @@
 import marvin
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/smoke/test_resource_detail.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_resource_detail.py b/test/integration/smoke/test_resource_detail.py
index 00a7b5c..93bc2ff 100644
--- a/test/integration/smoke/test_resource_detail.py
+++ b/test/integration/smoke/test_resource_detail.py
@@ -20,7 +20,7 @@
 import marvin
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/smoke/test_routers.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_routers.py b/test/integration/smoke/test_routers.py
index 7d32413..0f32e27 100644
--- a/test/integration/smoke/test_routers.py
+++ b/test/integration/smoke/test_routers.py
@@ -20,7 +20,7 @@
 import marvin
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/smoke/test_ssvm.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_ssvm.py b/test/integration/smoke/test_ssvm.py
index a2b9eab..9fa59a9 100644
--- a/test/integration/smoke/test_ssvm.py
+++ b/test/integration/smoke/test_ssvm.py
@@ -20,7 +20,7 @@
 import marvin
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/smoke/test_templates.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_templates.py b/test/integration/smoke/test_templates.py
index e371ad4..9478440 100644
--- a/test/integration/smoke/test_templates.py
+++ b/test/integration/smoke/test_templates.py
@@ -20,7 +20,7 @@
 import marvin
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/test/integration/smoke/test_volumes.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_volumes.py b/test/integration/smoke/test_volumes.py
index 816ae03..b60b70e 100644
--- a/test/integration/smoke/test_volumes.py
+++ b/test/integration/smoke/test_volumes.py
@@ -21,7 +21,7 @@ import marvin
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackException import *
 from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
+from marvin.remoteSSHClient import remoteSSHClient
 from marvin.integration.lib.utils import *
 from marvin.integration.lib.base import *
 from marvin.integration.lib.common import *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/TestCaseExecuteEngine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/TestCaseExecuteEngine.py b/tools/marvin/build/lib/marvin/TestCaseExecuteEngine.py
deleted file mode 100644
index f5af1fe..0000000
--- a/tools/marvin/build/lib/marvin/TestCaseExecuteEngine.py
+++ /dev/null
@@ -1,102 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import unittest
-import os
-import sys
-import logging
-from functools import partial
-
-
-def testCaseLogger(message, logger=None):
-    if logger is not None:
-        logger.debug(message)
-
-
-class TestCaseExecuteEngine(object):
-    def __init__(self, testclient, config, testcaseLogFile=None,
-                 testResultLogFile=None):
-        """
-        Initialize the testcase execution engine, just the basics here
-        @var testcaseLogFile: client log file
-        @var testResultLogFile: summary report file
-        """
-        self.testclient = testclient
-        self.config = config
-        self.logformat =\
-            logging.Formatter(
-                "%(asctime)s - %(levelname)s - %(name)s - %(message)s")
-        self.loader = unittest.loader.TestLoader()
-        self.suite = None
-
-        if testcaseLogFile is not None:
-            self.logfile = testcaseLogFile
-            self.logger = logging.getLogger("TestCaseExecuteEngine")
-            fh = logging.FileHandler(self.logfile)
-            fh.setFormatter(self.logformat)
-            self.logger.addHandler(fh)
-            self.logger.setLevel(logging.DEBUG)
-        if testResultLogFile is not None:
-            ch = logging.StreamHandler()
-            ch.setLevel(logging.ERROR)
-            ch.setFormatter(self.logformat)
-            self.logger.addHandler(ch)
-            fp = open(testResultLogFile, "w")
-            self.testResultLogFile = fp
-        else:
-            self.testResultLogFile = sys.stdout
-
-    def loadTestsFromDir(self, testDirectory):
-        """ Load the test suites from a package with multiple test files """
-        self.suite = self.loader.discover(testDirectory)
-        self.injectTestCase(self.suite)
-
-    def loadTestsFromFile(self, file_name):
-        """ Load the tests from a single script/module """
-        if os.path.isfile(file_name):
-            self.suite = self.loader.discover(os.path.dirname(file_name),
-                                              os.path.basename(file_name))
-            self.injectTestCase(self.suite)
-
-    def injectTestCase(self, testSuites):
-        for test in testSuites:
-            if isinstance(test, unittest.BaseTestSuite):
-                self.injectTestCase(test)
-            else:
-                #logger bears the name of the test class
-                testcaselogger = logging.getLogger("%s" % (test))
-                fh = logging.FileHandler(self.logfile)
-                fh.setFormatter(self.logformat)
-                testcaselogger.addHandler(fh)
-                testcaselogger.setLevel(logging.DEBUG)
-
-                #inject testclient and logger into each unittest
-                setattr(test, "testClient", self.testclient)
-                setattr(test, "config", self.config)
-                setattr(test, "debug", partial(testCaseLogger,
-                                               logger=testcaselogger))
-                setattr(test.__class__, "clstestclient", self.testclient)
-                if hasattr(test, "user"):
-                    # attribute when test is entirely executed as user
-                    self.testclient.createUserApiClient(test.UserName,
-                                                        test.DomainName,
-                                                        test.AcctType)
-
-    def run(self):
-        if self.suite:
-            unittest.TextTestRunner(stream=self.testResultLogFile,
-                                    verbosity=2).run(self.suite)

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/__init__.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/__init__.py b/tools/marvin/build/lib/marvin/__init__.py
deleted file mode 100644
index 7af168e..0000000
--- a/tools/marvin/build/lib/marvin/__init__.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-#Marvin - The cloudstack test client

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/asyncJobMgr.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/asyncJobMgr.py b/tools/marvin/build/lib/marvin/asyncJobMgr.py
deleted file mode 100644
index 25818a6..0000000
--- a/tools/marvin/build/lib/marvin/asyncJobMgr.py
+++ /dev/null
@@ -1,261 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import threading
-import cloudstackException
-import time
-import Queue
-import copy
-import sys
-import jsonHelper
-import datetime
-
-
-class job(object):
-    def __init__(self):
-        self.id = None
-        self.cmd = None
-
-
-class jobStatus(object):
-    def __init__(self):
-        self.result = None
-        self.status = None
-        self.startTime = None
-        self.endTime = None
-        self.duration = None
-        self.jobId = None
-        self.responsecls = None
-
-    def __str__(self):
-        return '{%s}' % str(', '.join('%s : %s' % (k, repr(v)) for (k, v)
-                                      in self.__dict__.iteritems()))
-
-
-class workThread(threading.Thread):
-    def __init__(self, in_queue, outqueue, apiClient, db=None, lock=None):
-        threading.Thread.__init__(self)
-        self.inqueue = in_queue
-        self.output = outqueue
-        self.connection = apiClient.connection.__copy__()
-        self.db = None
-        self.lock = lock
-
-    def queryAsynJob(self, job):
-        if job.jobId is None:
-            return job
-
-        try:
-            self.lock.acquire()
-            result = self.connection.poll(job.jobId, job.responsecls).jobresult
-        except cloudstackException.cloudstackAPIException, e:
-            result = str(e)
-        finally:
-            self.lock.release()
-
-        job.result = result
-        return job
-
-    def executeCmd(self, job):
-        cmd = job.cmd
-
-        jobstatus = jobStatus()
-        jobId = None
-        try:
-            self.lock.acquire()
-
-            if cmd.isAsync == "false":
-                jobstatus.startTime = datetime.datetime.now()
-
-                result = self.connection.make_request(cmd)
-                jobstatus.result = result
-                jobstatus.endTime = datetime.datetime.now()
-                jobstatus.duration =\
-                    time.mktime(jobstatus.endTime.timetuple()) - time.mktime(
-                        jobstatus.startTime.timetuple())
-            else:
-                result = self.connection.make_request(cmd, None, True)
-                if result is None:
-                    jobstatus.status = False
-                else:
-                    jobId = result.jobid
-                    jobstatus.jobId = jobId
-                    try:
-                        responseName =\
-                            cmd.__class__.__name__.replace("Cmd", "Response")
-                        jobstatus.responsecls =\
-                            jsonHelper.getclassFromName(cmd, responseName)
-                    except:
-                        pass
-                    jobstatus.status = True
-        except cloudstackException.cloudstackAPIException, e:
-            jobstatus.result = str(e)
-            jobstatus.status = False
-        except:
-            jobstatus.status = False
-            jobstatus.result = sys.exc_info()
-        finally:
-            self.lock.release()
-
-        return jobstatus
-
-    def run(self):
-        while self.inqueue.qsize() > 0:
-            job = self.inqueue.get()
-            if isinstance(job, jobStatus):
-                jobstatus = self.queryAsynJob(job)
-            else:
-                jobstatus = self.executeCmd(job)
-
-            self.output.put(jobstatus)
-            self.inqueue.task_done()
-
-        '''release the resource'''
-        self.connection.close()
-
-
-class jobThread(threading.Thread):
-    def __init__(self, inqueue, interval):
-        threading.Thread.__init__(self)
-        self.inqueue = inqueue
-        self.interval = interval
-
-    def run(self):
-        while self.inqueue.qsize() > 0:
-            job = self.inqueue.get()
-            try:
-                job.run()
-                '''release the api connection'''
-                job.apiClient.connection.close()
-            except:
-                pass
-
-            self.inqueue.task_done()
-            time.sleep(self.interval)
-
-
-class outputDict(object):
-    def __init__(self):
-        self.lock = threading.Condition()
-        self.dict = {}
-
-
-class asyncJobMgr(object):
-    def __init__(self, apiClient, db):
-        self.inqueue = Queue.Queue()
-        self.output = outputDict()
-        self.outqueue = Queue.Queue()
-        self.apiClient = apiClient
-        self.db = db
-
-    def submitCmds(self, cmds):
-        if not self.inqueue.empty():
-            return False
-        id = 0
-        ids = []
-        for cmd in cmds:
-            asyncjob = job()
-            asyncjob.id = id
-            asyncjob.cmd = cmd
-            self.inqueue.put(asyncjob)
-            id += 1
-            ids.append(id)
-        return ids
-
-    def updateTimeStamp(self, jobstatus):
-        jobId = jobstatus.jobId
-        if jobId is not None and self.db is not None:
-            result = self.db.execute(
-                "select job_status, created, last_updated from async_job where\
- id='%s'" % str(jobId))
-            if result is not None and len(result) > 0:
-                if result[0][0] == 1:
-                    jobstatus.status = True
-                else:
-                    jobstatus.status = False
-                    jobstatus.startTime = result[0][1]
-                    jobstatus.endTime = result[0][2]
-                    delta = jobstatus.endTime - jobstatus.startTime
-                    jobstatus.duration = delta.total_seconds()
-
-    def waitForComplete(self, workers=10):
-        self.inqueue.join()
-        lock = threading.Lock()
-        resultQueue = Queue.Queue()
-        '''intermediate result is stored in self.outqueue'''
-        for i in range(workers):
-            worker = workThread(self.outqueue, resultQueue, self.apiClient,
-                                self.db, lock)
-            worker.start()
-
-        self.outqueue.join()
-
-        asyncJobResult = []
-        while resultQueue.qsize() > 0:
-            jobstatus = resultQueue.get()
-            self.updateTimeStamp(jobstatus)
-            asyncJobResult.append(jobstatus)
-
-        return asyncJobResult
-
-    def submitCmdsAndWait(self, cmds, workers=10):
-        '''
-            put commands into a queue at first, then start workers numbers
-            threads to execute this commands
-        '''
-        self.submitCmds(cmds)
-        lock = threading.Lock()
-        for i in range(workers):
-            worker = workThread(self.inqueue, self.outqueue, self.apiClient,
-                                self.db, lock)
-            worker.start()
-
-        return self.waitForComplete(workers)
-
-    def submitJobExecuteNtimes(self, job, ntimes=1, nums_threads=1,
-                               interval=1):
-        '''
-        submit one job and execute the same job ntimes, with nums_threads
-        of threads
-        '''
-        inqueue1 = Queue.Queue()
-        lock = threading.Condition()
-        for i in range(ntimes):
-            newjob = copy.copy(job)
-            setattr(newjob, "apiClient", copy.copy(self.apiClient))
-            setattr(newjob, "lock", lock)
-            inqueue1.put(newjob)
-
-        for i in range(nums_threads):
-            work = jobThread(inqueue1, interval)
-            work.start()
-        inqueue1.join()
-
-    def submitJobs(self, jobs, nums_threads=1, interval=1):
-        '''submit n jobs, execute them with nums_threads of threads'''
-        inqueue1 = Queue.Queue()
-        lock = threading.Condition()
-
-        for job in jobs:
-            setattr(job, "apiClient", copy.copy(self.apiClient))
-            setattr(job, "lock", lock)
-            inqueue1.put(job)
-
-        for i in range(nums_threads):
-            work = jobThread(inqueue1, interval)
-            work.start()
-        inqueue1.join()

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/__init__.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/__init__.py b/tools/marvin/build/lib/marvin/cloudstackAPI/__init__.py
deleted file mode 100644
index ad0c1e5..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/__init__.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-__all__ = ["createAccount","deleteAccount","updateAccount","disableAccount","enableAccount","lockAccount","listAccounts","markDefaultZoneForAccount","createUser","deleteUser","updateUser","listUsers","lockUser","disableUser","enableUser","getUser","createDomain","updateDomain","deleteDomain","listDomains","listDomainChildren","getCloudIdentifier","updateResourceLimit","updateResourceCount","listResourceLimits","deployVirtualMachine","destroyVirtualMachine","rebootVirtualMachine","startVirtualMachine","stopVirtualMachine","resetPasswordForVirtualMachine","resetSSHKeyForVirtualMachine","updateVirtualMachine","listVirtualMachines","getVMPassword","restoreVirtualMachine","changeServiceForVirtualMachine","scaleVirtualMachine","assignVirtualMachine","migrateVirtualMachine","migrateVirtualMachineWithVolume","recoverVirtualMachine","createSnapshot","listSnapshots","deleteSnapshot","createSnapshotPolicy","deleteSnapshotPolicies","listSnapshotPolicies","revertSnapshot","createTemplate","regis
 terTemplate","updateTemplate","copyTemplate","deleteTemplate","listTemplates","updateTemplatePermissions","listTemplatePermissions","extractTemplate","prepareTemplate","attachIso","detachIso","listIsos","registerIso","updateIso","deleteIso","copyIso","updateIsoPermissions","listIsoPermissions","extractIso","listOsTypes","listOsCategories","createServiceOffering","deleteServiceOffering","updateServiceOffering","listServiceOfferings","createDiskOffering","updateDiskOffering","deleteDiskOffering","listDiskOfferings","createVlanIpRange","deleteVlanIpRange","listVlanIpRanges","dedicatePublicIpRange","releasePublicIpRange","dedicateGuestVlanRange","releaseDedicatedGuestVlanRange","listDedicatedGuestVlanRanges","associateIpAddress","disassociateIpAddress","listPublicIpAddresses","listPortForwardingRules","createPortForwardingRule","deletePortForwardingRule","updatePortForwardingRule","enableStaticNat","createIpForwardingRule","deleteIpForwardingRule","listIpForwardingRules","disableStaticN
 at","createLoadBalancerRule","deleteLoadBalancerRule","removeFromLoadBalancerRule","assignToLoadBalancerRule","createLBStickinessPolicy","deleteLBStickinessPolicy","listLoadBalancerRules","listLBStickinessPolicies","listLBHealthCheckPolicies","createLBHealthCheckPolicy","deleteLBHealthCheckPolicy","listLoadBalancerRuleInstances","updateLoadBalancerRule","createCounter","createCondition","createAutoScalePolicy","createAutoScaleVmProfile","createAutoScaleVmGroup","deleteCounter","deleteCondition","deleteAutoScalePolicy","deleteAutoScaleVmProfile","deleteAutoScaleVmGroup","listCounters","listConditions","listAutoScalePolicies","listAutoScaleVmProfiles","listAutoScaleVmGroups","enableAutoScaleVmGroup","disableAutoScaleVmGroup","updateAutoScalePolicy","updateAutoScaleVmProfile","updateAutoScaleVmGroup","startRouter","rebootRouter","stopRouter","destroyRouter","changeServiceForRouter","listRouters","listVirtualRouterElements","configureVirtualRouterElement","createVirtualRouterElement","s
 tartSystemVm","rebootSystemVm","stopSystemVm","destroySystemVm","listSystemVms","migrateSystemVm","changeServiceForSystemVm","scaleSystemVm","updateConfiguration","listConfigurations","listCapabilities","listDeploymentPlanners","cleanVMReservations","createPod","updatePod","deletePod","listPods","createZone","updateZone","deleteZone","listZones","listEvents","listEventTypes","archiveEvents","deleteEvents","listAlerts","archiveAlerts","deleteAlerts","listCapacity","addSwift","listSwifts","addS3","listS3s","addImageStore","listImageStores","deleteImageStore","createSecondaryStagingStore","listSecondaryStagingStores","deleteSecondaryStagingStore","addHost","addCluster","deleteCluster","updateCluster","reconnectHost","updateHost","deleteHost","prepareHostForMaintenance","cancelHostMaintenance","listHosts","findHostsForMigration","addSecondaryStorage","updateHostPassword","releaseHostReservation","attachVolume","uploadVolume","detachVolume","createVolume","deleteVolume","listVolumes","ex
 tractVolume","migrateVolume","resizeVolume","updateVolume","registerUserKeys","queryAsyncJobResult","listAsyncJobs","listStoragePools","listStorageProviders","createStoragePool","updateStoragePool","deleteStoragePool","listClusters","enableStorageMaintenance","cancelStorageMaintenance","findStoragePoolsForMigration","createSecurityGroup","deleteSecurityGroup","authorizeSecurityGroupIngress","revokeSecurityGroupIngress","authorizeSecurityGroupEgress","revokeSecurityGroupEgress","listSecurityGroups","createInstanceGroup","deleteInstanceGroup","updateInstanceGroup","listInstanceGroups","uploadCustomCertificate","listHypervisors","createRemoteAccessVpn","deleteRemoteAccessVpn","listRemoteAccessVpns","addVpnUser","removeVpnUser","listVpnUsers","createNetworkOffering","updateNetworkOffering","deleteNetworkOffering","listNetworkOfferings","createNetwork","deleteNetwork","listNetworks","restartNetwork","updateNetwork","addNicToVirtualMachine","removeNicFromVirtualMachine","updateDefaultNicF
 orVirtualMachine","addIpToNic","removeIpFromNic","listNics","registerSSHKeyPair","createSSHKeyPair","deleteSSHKeyPair","listSSHKeyPairs","createProject","deleteProject","updateProject","activateProject","suspendProject","listProjects","addAccountToProject","deleteAccountFromProject","listProjectAccounts","listProjectInvitations","updateProjectInvitation","deleteProjectInvitation","createFirewallRule","deleteFirewallRule","listFirewallRules","createEgressFirewallRule","deleteEgressFirewallRule","listEgressFirewallRules","updateHypervisorCapabilities","listHypervisorCapabilities","createPhysicalNetwork","deletePhysicalNetwork","listPhysicalNetworks","updatePhysicalNetwork","listSupportedNetworkServices","addNetworkServiceProvider","deleteNetworkServiceProvider","listNetworkServiceProviders","updateNetworkServiceProvider","addTrafficType","deleteTrafficType","listTrafficTypes","updateTrafficType","listTrafficTypeImplementors","createStorageNetworkIpRange","deleteStorageNetworkIpRange",
 "listStorageNetworkIpRange","updateStorageNetworkIpRange","addNetworkDevice","listNetworkDevice","deleteNetworkDevice","createVPC","listVPCs","deleteVPC","updateVPC","restartVPC","createVPCOffering","updateVPCOffering","deleteVPCOffering","listVPCOfferings","createPrivateGateway","listPrivateGateways","deletePrivateGateway","createNetworkACL","updateNetworkACLItem","deleteNetworkACL","listNetworkACLs","createNetworkACLList","deleteNetworkACLList","replaceNetworkACLList","listNetworkACLLists","createStaticRoute","deleteStaticRoute","listStaticRoutes","createTags","deleteTags","listTags","addResourceDetail","removeResourceDetail","listResourceDetails","createVpnCustomerGateway","createVpnGateway","createVpnConnection","deleteVpnCustomerGateway","deleteVpnGateway","deleteVpnConnection","updateVpnCustomerGateway","resetVpnConnection","listVpnCustomerGateways","listVpnGateways","listVpnConnections","generateUsageRecords","listUsageRecords","listUsageTypes","addTrafficMonitor","deleteTraf
 ficMonitor","listTrafficMonitors","addNiciraNvpDevice","deleteNiciraNvpDevice","listNiciraNvpDevices","listNiciraNvpDeviceNetworks","addBigSwitchVnsDevice","deleteBigSwitchVnsDevice","listBigSwitchVnsDevices","listApis","getApiLimit","resetApiLimit","addRegion","updateRegion","removeRegion","listRegions","createGlobalLoadBalancerRule","deleteGlobalLoadBalancerRule","updateGlobalLoadBalancerRule","listGlobalLoadBalancerRules","assignToGlobalLoadBalancerRule","removeFromGlobalLoadBalancerRule","listVMSnapshot","createVMSnapshot","deleteVMSnapshot","revertToVMSnapshot","addBaremetalHost","addBaremetalPxeKickStartServer","addBaremetalPxePingServer","addBaremetalDhcp","listBaremetalDhcp","listBaremetalPxeServers","addUcsManager","listUcsManagers","listUcsProfiles","listUcsBlades","associateUcsProfileToBlade","createLoadBalancer","listLoadBalancers","deleteLoadBalancer","configureInternalLoadBalancerElement","createInternalLoadBalancerElement","listInternalLoadBalancerElements","createAff
 inityGroup","deleteAffinityGroup","listAffinityGroups","updateVMAffinityGroup","listAffinityGroupTypes","createPortableIpRange","deletePortableIpRange","listPortableIpRanges","stopInternalLoadBalancerVM","startInternalLoadBalancerVM","listInternalLoadBalancerVMs","listNetworkIsolationMethods","dedicateZone","dedicatePod","dedicateCluster","dedicateHost","releaseDedicatedZone","releaseDedicatedPod","releaseDedicatedCluster","releaseDedicatedHost","listDedicatedZones","listDedicatedPods","listDedicatedClusters","listDedicatedHosts","listLdapConfigurations","addLdapConfiguration","deleteLdapConfiguration","listLdapUsers","ldapCreateAccount","login","logout","cloudstackAPIClient"]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/activateProject.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/activateProject.py b/tools/marvin/build/lib/marvin/cloudstackAPI/activateProject.py
deleted file mode 100644
index cd7c7a7..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/activateProject.py
+++ /dev/null
@@ -1,141 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Activates a project"""
-from baseCmd import *
-from baseResponse import *
-class activateProjectCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """id of the project to be modified"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class activateProjectResponse (baseResponse):
-    def __init__(self):
-        """the id of the project"""
-        self.id = None
-        """the account name of the project's owner"""
-        self.account = None
-        """the total number of cpu cores available to be created for this project"""
-        self.cpuavailable = None
-        """the total number of cpu cores the project can own"""
-        self.cpulimit = None
-        """the total number of cpu cores owned by project"""
-        self.cputotal = None
-        """the displaytext of the project"""
-        self.displaytext = None
-        """the domain name where the project belongs to"""
-        self.domain = None
-        """the domain id the project belongs to"""
-        self.domainid = None
-        """the total number of public ip addresses available for this project to acquire"""
-        self.ipavailable = None
-        """the total number of public ip addresses this project can acquire"""
-        self.iplimit = None
-        """the total number of public ip addresses allocated for this project"""
-        self.iptotal = None
-        """the total memory (in MB) available to be created for this project"""
-        self.memoryavailable = None
-        """the total memory (in MB) the project can own"""
-        self.memorylimit = None
-        """the total memory (in MB) owned by project"""
-        self.memorytotal = None
-        """the name of the project"""
-        self.name = None
-        """the total number of networks available to be created for this project"""
-        self.networkavailable = None
-        """the total number of networks the project can own"""
-        self.networklimit = None
-        """the total number of networks owned by project"""
-        self.networktotal = None
-        """the total primary storage space (in GiB) available to be used for this project"""
-        self.primarystorageavailable = None
-        """the total primary storage space (in GiB) the project can own"""
-        self.primarystoragelimit = None
-        """the total primary storage space (in GiB) owned by project"""
-        self.primarystoragetotal = None
-        """the total secondary storage space (in GiB) available to be used for this project"""
-        self.secondarystorageavailable = None
-        """the total secondary storage space (in GiB) the project can own"""
-        self.secondarystoragelimit = None
-        """the total secondary storage space (in GiB) owned by project"""
-        self.secondarystoragetotal = None
-        """the total number of snapshots available for this project"""
-        self.snapshotavailable = None
-        """the total number of snapshots which can be stored by this project"""
-        self.snapshotlimit = None
-        """the total number of snapshots stored by this project"""
-        self.snapshottotal = None
-        """the state of the project"""
-        self.state = None
-        """the total number of templates available to be created by this project"""
-        self.templateavailable = None
-        """the total number of templates which can be created by this project"""
-        self.templatelimit = None
-        """the total number of templates which have been created by this project"""
-        self.templatetotal = None
-        """the total number of virtual machines available for this project to acquire"""
-        self.vmavailable = None
-        """the total number of virtual machines that can be deployed by this project"""
-        self.vmlimit = None
-        """the total number of virtual machines running for this project"""
-        self.vmrunning = None
-        """the total number of virtual machines stopped for this project"""
-        self.vmstopped = None
-        """the total number of virtual machines deployed by this project"""
-        self.vmtotal = None
-        """the total volume available for this project"""
-        self.volumeavailable = None
-        """the total volume which can be used by this project"""
-        self.volumelimit = None
-        """the total volume being used by this project"""
-        self.volumetotal = None
-        """the total number of vpcs available to be created for this project"""
-        self.vpcavailable = None
-        """the total number of vpcs the project can own"""
-        self.vpclimit = None
-        """the total number of vpcs owned by project"""
-        self.vpctotal = None
-        """the list of resource tags associated with vm"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addAccountToProject.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addAccountToProject.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addAccountToProject.py
deleted file mode 100644
index 211c58d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addAccountToProject.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds acoount to a project"""
-from baseCmd import *
-from baseResponse import *
-class addAccountToProjectCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """id of the project to add the account to"""
-        """Required"""
-        self.projectid = None
-        """name of the account to be added to the project"""
-        self.account = None
-        """email to which invitation to the project is going to be sent"""
-        self.email = None
-        self.required = ["projectid",]
-
-class addAccountToProjectResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalDhcp.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalDhcp.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalDhcp.py
deleted file mode 100644
index fa8b095..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalDhcp.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""adds a baremetal dhcp server"""
-from baseCmd import *
-from baseResponse import *
-class addBaremetalDhcpCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Type of dhcp device"""
-        """Required"""
-        self.dhcpservertype = None
-        """Credentials to reach external dhcp device"""
-        """Required"""
-        self.password = None
-        """the Physical Network ID"""
-        """Required"""
-        self.physicalnetworkid = None
-        """URL of the external dhcp appliance."""
-        """Required"""
-        self.url = None
-        """Credentials to reach external dhcp device"""
-        """Required"""
-        self.username = None
-        self.required = ["dhcpservertype","password","physicalnetworkid","url","username",]
-
-class addBaremetalDhcpResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalHost.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalHost.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalHost.py
deleted file mode 100644
index 6fb003e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalHost.py
+++ /dev/null
@@ -1,147 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""add a baremetal host"""
-from baseCmd import *
-from baseResponse import *
-class addBaremetalHostCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """hypervisor type of the host"""
-        """Required"""
-        self.hypervisor = None
-        """the password for the host"""
-        """Required"""
-        self.password = None
-        """the Pod ID for the host"""
-        """Required"""
-        self.podid = None
-        """the host URL"""
-        """Required"""
-        self.url = None
-        """the username for the host"""
-        """Required"""
-        self.username = None
-        """the Zone ID for the host"""
-        """Required"""
-        self.zoneid = None
-        """Allocation state of this Host for allocation of new resources"""
-        self.allocationstate = None
-        """the cluster ID for the host"""
-        self.clusterid = None
-        """the cluster name for the host"""
-        self.clustername = None
-        """list of tags to be added to the host"""
-        self.hosttags = []
-        """ip address intentionally allocated to this host after provisioning"""
-        self.ipaddress = None
-        self.required = ["hypervisor","password","podid","url","username","zoneid",]
-
-class addBaremetalHostResponse (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
-        """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
-        """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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalPxeKickStartServer.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalPxeKickStartServer.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalPxeKickStartServer.py
deleted file mode 100644
index 14a1237..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalPxeKickStartServer.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""add a baremetal pxe server"""
-from baseCmd import *
-from baseResponse import *
-class addBaremetalPxeKickStartServerCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Credentials to reach external pxe device"""
-        """Required"""
-        self.password = None
-        """the Physical Network ID"""
-        """Required"""
-        self.physicalnetworkid = None
-        """type of pxe device"""
-        """Required"""
-        self.pxeservertype = None
-        """Tftp root directory of PXE server"""
-        """Required"""
-        self.tftpdir = None
-        """URL of the external pxe device"""
-        """Required"""
-        self.url = None
-        """Credentials to reach external pxe device"""
-        """Required"""
-        self.username = None
-        """Pod Id"""
-        self.podid = None
-        self.required = ["password","physicalnetworkid","pxeservertype","tftpdir","url","username",]
-
-class addBaremetalPxeKickStartServerResponse (baseResponse):
-    def __init__(self):
-        """Tftp root directory of PXE server"""
-        self.tftpdir = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalPxePingServer.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalPxePingServer.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalPxePingServer.py
deleted file mode 100644
index 6e3d6bf..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addBaremetalPxePingServer.py
+++ /dev/null
@@ -1,65 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""add a baremetal ping pxe server"""
-from baseCmd import *
-from baseResponse import *
-class addBaremetalPxePingServerCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Credentials to reach external pxe device"""
-        """Required"""
-        self.password = None
-        """the Physical Network ID"""
-        """Required"""
-        self.physicalnetworkid = None
-        """Root directory on PING storage server"""
-        """Required"""
-        self.pingdir = None
-        """PING storage server ip"""
-        """Required"""
-        self.pingstorageserverip = None
-        """type of pxe device"""
-        """Required"""
-        self.pxeservertype = None
-        """Tftp root directory of PXE server"""
-        """Required"""
-        self.tftpdir = None
-        """URL of the external pxe device"""
-        """Required"""
-        self.url = None
-        """Credentials to reach external pxe device"""
-        """Required"""
-        self.username = None
-        """Password of PING storage server"""
-        self.pingcifspassword = None
-        """Username of PING storage server"""
-        self.pingcifsusername = None
-        """Pod Id"""
-        self.podid = None
-        self.required = ["password","physicalnetworkid","pingdir","pingstorageserverip","pxeservertype","tftpdir","url","username",]
-
-class addBaremetalPxePingServerResponse (baseResponse):
-    def __init__(self):
-        """Root directory on PING storage server"""
-        self.pingdir = None
-        """PING storage server ip"""
-        self.pingstorageserverip = None
-        """Tftp root directory of PXE server"""
-        self.tftpdir = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addBigSwitchVnsDevice.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addBigSwitchVnsDevice.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addBigSwitchVnsDevice.py
deleted file mode 100644
index 77a7476..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addBigSwitchVnsDevice.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds a BigSwitch VNS device"""
-from baseCmd import *
-from baseResponse import *
-class addBigSwitchVnsDeviceCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Hostname of ip address of the BigSwitch VNS Controller."""
-        """Required"""
-        self.hostname = None
-        """the Physical Network ID"""
-        """Required"""
-        self.physicalnetworkid = None
-        self.required = ["hostname","physicalnetworkid",]
-
-class addBigSwitchVnsDeviceResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addCluster.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addCluster.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addCluster.py
deleted file mode 100644
index 26d7f6c..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addCluster.py
+++ /dev/null
@@ -1,115 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds a new cluster"""
-from baseCmd import *
-from baseResponse import *
-class addClusterCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the cluster name"""
-        """Required"""
-        self.clustername = None
-        """type of the cluster: CloudManaged, ExternalManaged"""
-        """Required"""
-        self.clustertype = None
-        """hypervisor type of the cluster: XenServer,KVM,VMware,Hyperv,BareMetal,Simulator"""
-        """Required"""
-        self.hypervisor = None
-        """the Pod ID for the host"""
-        """Required"""
-        self.podid = None
-        """the Zone ID for the cluster"""
-        """Required"""
-        self.zoneid = None
-        """Allocation state of this cluster for allocation of new resources"""
-        self.allocationstate = None
-        """Name of virtual switch used for guest traffic in the cluster. This would override zone wide traffic label setting."""
-        self.guestvswitchname = None
-        """Type of virtual switch used for guest traffic in the cluster. Allowed values are, vmwaresvs (for VMware standard vSwitch) and vmwaredvs (for VMware distributed vSwitch)"""
-        self.guestvswitchtype = None
-        """the password for the host"""
-        self.password = None
-        """Name of virtual switch used for public traffic in the cluster.  This would override zone wide traffic label setting."""
-        self.publicvswitchname = None
-        """Type of virtual switch used for public traffic in the cluster. Allowed values are, vmwaresvs (for VMware standard vSwitch) and vmwaredvs (for VMware distributed vSwitch)"""
-        self.publicvswitchtype = None
-        """the URL"""
-        self.url = None
-        """the username for the cluster"""
-        self.username = None
-        """the ipaddress of the VSM associated with this cluster"""
-        self.vsmipaddress = None
-        """the password for the VSM associated with this cluster"""
-        self.vsmpassword = None
-        """the username for the VSM associated with this cluster"""
-        self.vsmusername = None
-        self.required = ["clustername","clustertype","hypervisor","podid","zoneid",]
-
-class addClusterResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addHost.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addHost.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addHost.py
deleted file mode 100644
index c1a96e0..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addHost.py
+++ /dev/null
@@ -1,145 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds a new host."""
-from baseCmd import *
-from baseResponse import *
-class addHostCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """hypervisor type of the host"""
-        """Required"""
-        self.hypervisor = None
-        """the password for the host"""
-        """Required"""
-        self.password = None
-        """the Pod ID for the host"""
-        """Required"""
-        self.podid = None
-        """the host URL"""
-        """Required"""
-        self.url = None
-        """the username for the host"""
-        """Required"""
-        self.username = None
-        """the Zone ID for the host"""
-        """Required"""
-        self.zoneid = None
-        """Allocation state of this Host for allocation of new resources"""
-        self.allocationstate = None
-        """the cluster ID for the host"""
-        self.clusterid = None
-        """the cluster name for the host"""
-        self.clustername = None
-        """list of tags to be added to the host"""
-        self.hosttags = []
-        self.required = ["hypervisor","password","podid","url","username","zoneid",]
-
-class addHostResponse (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
-        """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
-        """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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addImageStore.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addImageStore.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addImageStore.py
deleted file mode 100644
index c8ea3e2..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addImageStore.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds backup image store."""
-from baseCmd import *
-from baseResponse import *
-class addImageStoreCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the image store provider name"""
-        """Required"""
-        self.provider = None
-        """the details for the image store. Example: details[0].key=accesskey&details[0].value=s389ddssaa&details[1].key=secretkey&details[1].value=8dshfsss"""
-        self.details = []
-        """the name for the image store"""
-        self.name = None
-        """the URL for the image store"""
-        self.url = None
-        """the Zone ID for the image store"""
-        self.zoneid = None
-        self.required = ["provider",]
-
-class addImageStoreResponse (baseResponse):
-    def __init__(self):
-        """the ID of the image store"""
-        self.id = None
-        """the details of the image store"""
-        self.details = None
-        """the name of the image store"""
-        self.name = None
-        """the protocol of the image store"""
-        self.protocol = None
-        """the provider name of the image store"""
-        self.providername = None
-        """the scope of the image store"""
-        self.scope = None
-        """the url of the image store"""
-        self.url = None
-        """the Zone ID of the image store"""
-        self.zoneid = None
-        """the Zone name of the image store"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addIpToNic.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addIpToNic.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addIpToNic.py
deleted file mode 100644
index 5810fe8..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addIpToNic.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Assigns secondary IP to NIC"""
-from baseCmd import *
-from baseResponse import *
-class addIpToNicCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the nic to which you want to assign private IP"""
-        """Required"""
-        self.nicid = None
-        """Secondary IP Address"""
-        self.ipaddress = None
-        self.required = ["nicid",]
-
-class addIpToNicResponse (baseResponse):
-    def __init__(self):
-        """the ID of the secondary private IP addr"""
-        self.id = None
-        """Secondary IP address"""
-        self.ipaddress = None
-        """the ID of the network"""
-        self.networkid = None
-        """the ID of the nic"""
-        self.nicid = None
-        """the ID of the vm"""
-        self.virtualmachineid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addLdapConfiguration.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addLdapConfiguration.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addLdapConfiguration.py
deleted file mode 100644
index 993108e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addLdapConfiguration.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Add a new Ldap Configuration"""
-from baseCmd import *
-from baseResponse import *
-class addLdapConfigurationCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Hostname"""
-        """Required"""
-        self.hostname = None
-        """Port"""
-        """Required"""
-        self.port = None
-        self.required = ["hostname","port",]
-
-class addLdapConfigurationResponse (baseResponse):
-    def __init__(self):
-        """hostname"""
-        self.hostname = None
-        """port"""
-        self.port = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addNetworkDevice.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addNetworkDevice.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addNetworkDevice.py
deleted file mode 100644
index efd5b08..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addNetworkDevice.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds a network device of one of the following types: ExternalDhcp, ExternalFirewall, ExternalLoadBalancer, PxeServer"""
-from baseCmd import *
-from baseResponse import *
-class addNetworkDeviceCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """parameters for network device"""
-        self.networkdeviceparameterlist = []
-        """Network device type, now supports ExternalDhcp, PxeServer, NetscalerMPXLoadBalancer, NetscalerVPXLoadBalancer, NetscalerSDXLoadBalancer, F5BigIpLoadBalancer, JuniperSRXFirewall"""
-        self.networkdevicetype = None
-        self.required = []
-
-class addNetworkDeviceResponse (baseResponse):
-    def __init__(self):
-        """the ID of the network device"""
-        self.id = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/addNetworkServiceProvider.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addNetworkServiceProvider.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addNetworkServiceProvider.py
deleted file mode 100644
index b00c204..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/addNetworkServiceProvider.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds a network serviceProvider to a physical network"""
-from baseCmd import *
-from baseResponse import *
-class addNetworkServiceProviderCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the name for the physical network service provider"""
-        """Required"""
-        self.name = None
-        """the Physical Network ID to add the provider to"""
-        """Required"""
-        self.physicalnetworkid = None
-        """the destination Physical Network ID to bridge to"""
-        self.destinationphysicalnetworkid = None
-        """the list of services to be enabled for this physical network service provider"""
-        self.servicelist = []
-        self.required = ["name","physicalnetworkid",]
-
-class addNetworkServiceProviderResponse (baseResponse):
-    def __init__(self):
-        """uuid of the network provider"""
-        self.id = None
-        """true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """the provider name"""
-        self.name = None
-        """the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """services for this provider"""
-        self.servicelist = None
-        """state of the network provider"""
-        self.state = None
-


[24/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/configureInternalLoadBalancerElement.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/configureInternalLoadBalancerElement.py b/tools/marvin/build/lib/marvin/cloudstackAPI/configureInternalLoadBalancerElement.py
deleted file mode 100644
index 26357e5..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/configureInternalLoadBalancerElement.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Configures an Internal Load Balancer element."""
-from baseCmd import *
-from baseResponse import *
-class configureInternalLoadBalancerElementCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the internal lb provider"""
-        """Required"""
-        self.id = None
-        """Enables/Disables the Internal Load Balancer element"""
-        """Required"""
-        self.enabled = None
-        self.required = ["id","enabled",]
-
-class configureInternalLoadBalancerElementResponse (baseResponse):
-    def __init__(self):
-        """the id of the internal load balancer element"""
-        self.id = None
-        """Enabled/Disabled the element"""
-        self.enabled = None
-        """the physical network service provider id of the element"""
-        self.nspid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/configureVirtualRouterElement.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/configureVirtualRouterElement.py b/tools/marvin/build/lib/marvin/cloudstackAPI/configureVirtualRouterElement.py
deleted file mode 100644
index 5004dcd..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/configureVirtualRouterElement.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Configures a virtual router element."""
-from baseCmd import *
-from baseResponse import *
-class configureVirtualRouterElementCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the virtual router provider"""
-        """Required"""
-        self.id = None
-        """Enabled/Disabled the service provider"""
-        """Required"""
-        self.enabled = None
-        self.required = ["id","enabled",]
-
-class configureVirtualRouterElementResponse (baseResponse):
-    def __init__(self):
-        """the id of the router"""
-        self.id = None
-        """the account associated with the provider"""
-        self.account = None
-        """the domain associated with the provider"""
-        self.domain = None
-        """the domain ID associated with the provider"""
-        self.domainid = None
-        """Enabled/Disabled the service provider"""
-        self.enabled = None
-        """the physical network service provider id of the provider"""
-        self.nspid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/copyIso.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/copyIso.py b/tools/marvin/build/lib/marvin/cloudstackAPI/copyIso.py
deleted file mode 100644
index 34a9bec..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/copyIso.py
+++ /dev/null
@@ -1,137 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Copies an iso from one zone to another."""
-from baseCmd import *
-from baseResponse import *
-class copyIsoCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Template ID."""
-        """Required"""
-        self.id = None
-        """ID of the zone the template is being copied to."""
-        """Required"""
-        self.destzoneid = None
-        """ID of the zone the template is currently hosted on."""
-        """Required"""
-        self.sourcezoneid = None
-        self.required = ["id","destzoneid","sourcezoneid",]
-
-class copyIsoResponse (baseResponse):
-    def __init__(self):
-        """the template ID"""
-        self.id = None
-        """the account name to which the template belongs"""
-        self.account = None
-        """the account id to which the template belongs"""
-        self.accountid = None
-        """true if the ISO is bootable, false otherwise"""
-        self.bootable = None
-        """checksum of the template"""
-        self.checksum = None
-        """the date this template was created"""
-        self.created = None
-        """true if the template is managed across all Zones, false otherwise"""
-        self.crossZones = None
-        """additional key/value details tied with template"""
-        self.details = None
-        """the template display text"""
-        self.displaytext = None
-        """the name of the domain to which the template belongs"""
-        self.domain = None
-        """the ID of the domain to which the template belongs"""
-        self.domainid = None
-        """the format of the template."""
-        self.format = None
-        """the ID of the secondary storage host for the template"""
-        self.hostid = None
-        """the name of the secondary storage host for the template"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """true if the template is extractable, false otherwise"""
-        self.isextractable = None
-        """true if this template is a featured template, false otherwise"""
-        self.isfeatured = None
-        """true if this template is a public template, false otherwise"""
-        self.ispublic = None
-        """true if the template is ready to be deployed from, false otherwise."""
-        self.isready = None
-        """the template name"""
-        self.name = None
-        """the ID of the OS type for this template."""
-        self.ostypeid = None
-        """the name of the OS type for this template."""
-        self.ostypename = None
-        """true if the reset password feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the template"""
-        self.project = None
-        """the project id of the template"""
-        self.projectid = None
-        """the date this template was removed"""
-        self.removed = None
-        """the size of the template"""
-        self.size = None
-        """the template ID of the parent template if present"""
-        self.sourcetemplateid = None
-        """true if template is sshkey enabled, false otherwise"""
-        self.sshkeyenabled = None
-        """the status of the template"""
-        self.status = None
-        """the tag of this template"""
-        self.templatetag = None
-        """the type of the template"""
-        self.templatetype = None
-        """the ID of the zone for this template"""
-        self.zoneid = None
-        """the name of the zone for this template"""
-        self.zonename = None
-        """the list of resource tags associated with tempate"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/copyTemplate.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/copyTemplate.py b/tools/marvin/build/lib/marvin/cloudstackAPI/copyTemplate.py
deleted file mode 100644
index fba0f4f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/copyTemplate.py
+++ /dev/null
@@ -1,137 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Copies a template from one zone to another."""
-from baseCmd import *
-from baseResponse import *
-class copyTemplateCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Template ID."""
-        """Required"""
-        self.id = None
-        """ID of the zone the template is being copied to."""
-        """Required"""
-        self.destzoneid = None
-        """ID of the zone the template is currently hosted on."""
-        """Required"""
-        self.sourcezoneid = None
-        self.required = ["id","destzoneid","sourcezoneid",]
-
-class copyTemplateResponse (baseResponse):
-    def __init__(self):
-        """the template ID"""
-        self.id = None
-        """the account name to which the template belongs"""
-        self.account = None
-        """the account id to which the template belongs"""
-        self.accountid = None
-        """true if the ISO is bootable, false otherwise"""
-        self.bootable = None
-        """checksum of the template"""
-        self.checksum = None
-        """the date this template was created"""
-        self.created = None
-        """true if the template is managed across all Zones, false otherwise"""
-        self.crossZones = None
-        """additional key/value details tied with template"""
-        self.details = None
-        """the template display text"""
-        self.displaytext = None
-        """the name of the domain to which the template belongs"""
-        self.domain = None
-        """the ID of the domain to which the template belongs"""
-        self.domainid = None
-        """the format of the template."""
-        self.format = None
-        """the ID of the secondary storage host for the template"""
-        self.hostid = None
-        """the name of the secondary storage host for the template"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
-        self.isdynamicallyscalable = None
-        """true if the template is extractable, false otherwise"""
-        self.isextractable = None
-        """true if this template is a featured template, false otherwise"""
-        self.isfeatured = None
-        """true if this template is a public template, false otherwise"""
-        self.ispublic = None
-        """true if the template is ready to be deployed from, false otherwise."""
-        self.isready = None
-        """the template name"""
-        self.name = None
-        """the ID of the OS type for this template."""
-        self.ostypeid = None
-        """the name of the OS type for this template."""
-        self.ostypename = None
-        """true if the reset password feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the template"""
-        self.project = None
-        """the project id of the template"""
-        self.projectid = None
-        """the date this template was removed"""
-        self.removed = None
-        """the size of the template"""
-        self.size = None
-        """the template ID of the parent template if present"""
-        self.sourcetemplateid = None
-        """true if template is sshkey enabled, false otherwise"""
-        self.sshkeyenabled = None
-        """the status of the template"""
-        self.status = None
-        """the tag of this template"""
-        self.templatetag = None
-        """the type of the template"""
-        self.templatetype = None
-        """the ID of the zone for this template"""
-        self.zoneid = None
-        """the name of the zone for this template"""
-        self.zonename = None
-        """the list of resource tags associated with tempate"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createAccount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createAccount.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createAccount.py
deleted file mode 100644
index 9e04ec2..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createAccount.py
+++ /dev/null
@@ -1,202 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates an account"""
-from baseCmd import *
-from baseResponse import *
-class createAccountCmd (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
-        """email"""
-        """Required"""
-        self.email = None
-        """firstname"""
-        """Required"""
-        self.firstname = None
-        """lastname"""
-        """Required"""
-        self.lastname = None
-        """Clear text password (Default hashed to SHA256SALT). If you wish to use any other hashing algorithm, you would need to write a custom authentication adapter See Docs section."""
-        """Required"""
-        self.password = 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","email","firstname","lastname","password","username",]
-
-class createAccountResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createAffinityGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createAffinityGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createAffinityGroup.py
deleted file mode 100644
index 473e3ee..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createAffinityGroup.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates an affinity/anti-affinity group"""
-from baseCmd import *
-from baseResponse import *
-class createAffinityGroupCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """name of the affinity group"""
-        """Required"""
-        self.name = None
-        """Type of the affinity group from the available affinity/anti-affinity group types"""
-        """Required"""
-        self.type = None
-        """an account for the affinity group. Must be used with domainId."""
-        self.account = None
-        """optional description of the affinity group"""
-        self.description = None
-        """domainId of the account owning the affinity group"""
-        self.domainid = None
-        self.required = ["name","type",]
-
-class createAffinityGroupResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScalePolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScalePolicy.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScalePolicy.py
deleted file mode 100644
index 5002846..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScalePolicy.py
+++ /dev/null
@@ -1,60 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates an autoscale policy for a provision or deprovision action, the action is taken when the all the conditions evaluates to true for the specified duration. The policy is in effect once it is attached to a autscale vm group."""
-from baseCmd import *
-from baseResponse import *
-class createAutoScalePolicyCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the action to be executed if all the conditions evaluate to true for the specified duration."""
-        """Required"""
-        self.action = None
-        """the list of IDs of the conditions that are being evaluated on every interval"""
-        """Required"""
-        self.conditionids = []
-        """the duration for which the conditions have to be true before action is taken"""
-        """Required"""
-        self.duration = None
-        """the cool down period for which the policy should not be evaluated after the action has been taken"""
-        self.quiettime = None
-        self.required = ["action","conditionids","duration",]
-
-class createAutoScalePolicyResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmGroup.py
deleted file mode 100644
index f8a35b6..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmGroup.py
+++ /dev/null
@@ -1,77 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates and automatically starts a virtual machine based on a service offering, disk offering, and template."""
-from baseCmd import *
-from baseResponse import *
-class createAutoScaleVmGroupCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the load balancer rule"""
-        """Required"""
-        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."""
-        """Required"""
-        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."""
-        """Required"""
-        self.minmembers = None
-        """list of scaledown autoscale policies"""
-        """Required"""
-        self.scaledownpolicyids = []
-        """list of scaleup autoscale policies"""
-        """Required"""
-        self.scaleuppolicyids = []
-        """the autoscale profile that contains information about the vms in the vm group."""
-        """Required"""
-        self.vmprofileid = None
-        """the frequency at which the conditions have to be evaluated"""
-        self.interval = None
-        self.required = ["lbruleid","maxmembers","minmembers","scaledownpolicyids","scaleuppolicyids","vmprofileid",]
-
-class createAutoScaleVmGroupResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmProfile.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmProfile.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmProfile.py
deleted file mode 100644
index 0025032..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmProfile.py
+++ /dev/null
@@ -1,70 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a profile that contains information about the virtual machine which will be provisioned automatically by autoscale feature."""
-from baseCmd import *
-from baseResponse import *
-class createAutoScaleVmProfileCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the service offering of the auto deployed virtual machine"""
-        """Required"""
-        self.serviceofferingid = None
-        """the template of the auto deployed virtual machine"""
-        """Required"""
-        self.templateid = None
-        """availability zone for the auto deployed virtual machine"""
-        """Required"""
-        self.zoneid = None
-        """the ID of the user used to launch and destroy the VMs"""
-        self.autoscaleuserid = None
-        """counterparam list. Example: counterparam[0].name=snmpcommunity&counterparam[0].value=public&counterparam[1].name=snmpport&counterparam[1].value=161"""
-        self.counterparam = []
-        """the time allowed for existing connections to get closed before a vm is destroyed"""
-        self.destroyvmgraceperiod = None
-        """parameters other than zoneId/serviceOfferringId/templateId of the auto deployed virtual machine"""
-        self.otherdeployparams = None
-        self.required = ["serviceofferingid","templateid","zoneid",]
-
-class createAutoScaleVmProfileResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createCondition.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createCondition.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createCondition.py
deleted file mode 100644
index 74a9daf..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createCondition.py
+++ /dev/null
@@ -1,62 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a condition"""
-from baseCmd import *
-from baseResponse import *
-class createConditionCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """ID of the Counter."""
-        """Required"""
-        self.counterid = None
-        """Relational Operator to be used with threshold."""
-        """Required"""
-        self.relationaloperator = None
-        """Threshold value."""
-        """Required"""
-        self.threshold = None
-        """the account of the condition. Must be used with the domainId parameter."""
-        self.account = None
-        """the domain ID of the account."""
-        self.domainid = None
-        self.required = ["counterid","relationaloperator","threshold",]
-
-class createConditionResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createCounter.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createCounter.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createCounter.py
deleted file mode 100644
index 240a486..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createCounter.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Adds metric counter"""
-from baseCmd import *
-from baseResponse import *
-class createCounterCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Name of the counter."""
-        """Required"""
-        self.name = None
-        """Source of the counter."""
-        """Required"""
-        self.source = None
-        """Value of the counter e.g. oid in case of snmp."""
-        """Required"""
-        self.value = None
-        self.required = ["name","source","value",]
-
-class createCounterResponse (baseResponse):
-    def __init__(self):
-        """the id of the Counter"""
-        self.id = None
-        """Name of the counter."""
-        self.name = None
-        """Source of the counter."""
-        self.source = None
-        """Value in case of snmp or other specific counters."""
-        self.value = None
-        """zone id of counter"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createDiskOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createDiskOffering.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createDiskOffering.py
deleted file mode 100644
index 736a0cf..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createDiskOffering.py
+++ /dev/null
@@ -1,97 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a disk offering."""
-from baseCmd import *
-from baseResponse import *
-class createDiskOfferingCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """alternate display text of the disk offering"""
-        """Required"""
-        self.displaytext = None
-        """name of the disk offering"""
-        """Required"""
-        self.name = None
-        """bytes read rate of the disk offering"""
-        self.bytesreadrate = None
-        """bytes write rate of the disk offering"""
-        self.byteswriterate = None
-        """whether disk offering size is custom or not"""
-        self.customized = None
-        """whether disk offering iops is custom or not"""
-        self.customizediops = None
-        """size of the disk offering in GB"""
-        self.disksize = None
-        """an optional field, whether to display the offering to the end user or not."""
-        self.displayoffering = None
-        """the ID of the containing domain, null for public offerings"""
-        self.domainid = None
-        """io requests read rate of the disk offering"""
-        self.iopsreadrate = None
-        """io requests write rate of the disk offering"""
-        self.iopswriterate = None
-        """max iops of the disk offering"""
-        self.maxiops = None
-        """min iops of the disk offering"""
-        self.miniops = None
-        """the storage type of the disk offering. Values are local and shared."""
-        self.storagetype = None
-        """tags for the disk offering"""
-        self.tags = None
-        self.required = ["displaytext","name",]
-
-class createDiskOfferingResponse (baseResponse):
-    def __init__(self):
-        """unique ID of the disk offering"""
-        self.id = None
-        """the date this disk offering was created"""
-        self.created = None
-        """bytes read rate of the disk offering"""
-        self.diskBytesReadRate = None
-        """bytes write rate of the disk offering"""
-        self.diskBytesWriteRate = None
-        """io requests read rate of the disk offering"""
-        self.diskIopsReadRate = None
-        """io requests write rate of the disk offering"""
-        self.diskIopsWriteRate = None
-        """the size of the disk offering in GB"""
-        self.disksize = None
-        """whether to display the offering to the end user or not."""
-        self.displayoffering = None
-        """an alternate display text of the disk offering."""
-        self.displaytext = None
-        """the domain name this disk offering belongs to. Ignore this information as it is not currently applicable."""
-        self.domain = None
-        """the domain ID this disk offering belongs to. Ignore this information as it is not currently applicable."""
-        self.domainid = None
-        """true if disk offering uses custom size, false otherwise"""
-        self.iscustomized = None
-        """true if disk offering uses custom iops, false otherwise"""
-        self.iscustomizediops = None
-        """the max iops of the disk offering"""
-        self.maxiops = None
-        """the min iops of the disk offering"""
-        self.miniops = None
-        """the name of the disk offering"""
-        self.name = None
-        """the storage type for this disk offering"""
-        self.storagetype = None
-        """the tags for the disk offering"""
-        self.tags = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createDomain.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createDomain.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createDomain.py
deleted file mode 100644
index 12b4854..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createDomain.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a domain"""
-from baseCmd import *
-from baseResponse import *
-class createDomainCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """creates domain with this name"""
-        """Required"""
-        self.name = None
-        """Domain UUID, required for adding domain from another Region"""
-        self.domainid = None
-        """Network domain for networks in the domain"""
-        self.networkdomain = None
-        """assigns new domain a parent domain by domain ID of the parent.  If no parent domain is specied, the ROOT domain is assumed."""
-        self.parentdomainid = None
-        self.required = ["name",]
-
-class createDomainResponse (baseResponse):
-    def __init__(self):
-        """the ID of the domain"""
-        self.id = None
-        """whether the domain has one or more sub-domains"""
-        self.haschild = None
-        """the level of the domain"""
-        self.level = None
-        """the name of the domain"""
-        self.name = None
-        """the network domain"""
-        self.networkdomain = None
-        """the domain ID of the parent domain"""
-        self.parentdomainid = None
-        """the domain name of the parent domain"""
-        self.parentdomainname = None
-        """the path of the domain"""
-        self.path = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createEgressFirewallRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createEgressFirewallRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createEgressFirewallRule.py
deleted file mode 100644
index 61a5e7e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createEgressFirewallRule.py
+++ /dev/null
@@ -1,94 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a egress firewall rule for a given network"""
-from baseCmd import *
-from baseResponse import *
-class createEgressFirewallRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the network id of the port forwarding rule"""
-        """Required"""
-        self.networkid = None
-        """the protocol for the firewall rule. Valid values are TCP/UDP/ICMP."""
-        """Required"""
-        self.protocol = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = []
-        """the ending port of firewall rule"""
-        self.endport = None
-        """error code for this icmp message"""
-        self.icmpcode = None
-        """type of the icmp message being sent"""
-        self.icmptype = None
-        """the starting port of firewall rule"""
-        self.startport = None
-        """type of firewallrule: system/user"""
-        self.type = None
-        self.required = ["networkid","protocol",]
-
-class createEgressFirewallRuleResponse (baseResponse):
-    def __init__(self):
-        """the ID of the firewall rule"""
-        self.id = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """the ending port of firewall rule's port range"""
-        self.endport = None
-        """error code for this icmp message"""
-        self.icmpcode = None
-        """type of the icmp message being sent"""
-        self.icmptype = None
-        """the public ip address for the firewall rule"""
-        self.ipaddress = None
-        """the public ip address id for the firewall rule"""
-        self.ipaddressid = None
-        """the network id of the firewall rule"""
-        self.networkid = None
-        """the protocol of the firewall rule"""
-        self.protocol = None
-        """the starting port of firewall rule's port range"""
-        self.startport = None
-        """the state of the rule"""
-        self.state = None
-        """the list of resource tags associated with the rule"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createFirewallRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createFirewallRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createFirewallRule.py
deleted file mode 100644
index 4faeb6b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createFirewallRule.py
+++ /dev/null
@@ -1,94 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a firewall rule for a given ip address"""
-from baseCmd import *
-from baseResponse import *
-class createFirewallRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the IP address id of the port forwarding rule"""
-        """Required"""
-        self.ipaddressid = None
-        """the protocol for the firewall rule. Valid values are TCP/UDP/ICMP."""
-        """Required"""
-        self.protocol = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = []
-        """the ending port of firewall rule"""
-        self.endport = None
-        """error code for this icmp message"""
-        self.icmpcode = None
-        """type of the icmp message being sent"""
-        self.icmptype = None
-        """the starting port of firewall rule"""
-        self.startport = None
-        """type of firewallrule: system/user"""
-        self.type = None
-        self.required = ["ipaddressid","protocol",]
-
-class createFirewallRuleResponse (baseResponse):
-    def __init__(self):
-        """the ID of the firewall rule"""
-        self.id = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """the ending port of firewall rule's port range"""
-        self.endport = None
-        """error code for this icmp message"""
-        self.icmpcode = None
-        """type of the icmp message being sent"""
-        self.icmptype = None
-        """the public ip address for the firewall rule"""
-        self.ipaddress = None
-        """the public ip address id for the firewall rule"""
-        self.ipaddressid = None
-        """the network id of the firewall rule"""
-        self.networkid = None
-        """the protocol of the firewall rule"""
-        self.protocol = None
-        """the starting port of firewall rule's port range"""
-        self.startport = None
-        """the state of the rule"""
-        self.state = None
-        """the list of resource tags associated with the rule"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createGlobalLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createGlobalLoadBalancerRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createGlobalLoadBalancerRule.py
deleted file mode 100644
index dd0c610..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createGlobalLoadBalancerRule.py
+++ /dev/null
@@ -1,161 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a global load balancer rule"""
-from baseCmd import *
-from baseResponse import *
-class createGlobalLoadBalancerRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """domain name for the GSLB service."""
-        """Required"""
-        self.gslbdomainname = None
-        """GSLB service type (tcp, udp)"""
-        """Required"""
-        self.gslbservicetype = None
-        """name of the load balancer rule"""
-        """Required"""
-        self.name = None
-        """region where the global load balancer is going to be created."""
-        """Required"""
-        self.regionid = None
-        """the account associated with the global load balancer. Must be used with the domainId parameter."""
-        self.account = None
-        """the description of the load balancer rule"""
-        self.description = None
-        """the domain ID associated with the load balancer"""
-        self.domainid = None
-        """load balancer algorithm (roundrobin, leastconn, proximity) that method is used to distribute traffic across the zones participating in global server load balancing, if not specified defaults to 'round robin'"""
-        self.gslblbmethod = None
-        """session sticky method (sourceip) if not specified defaults to sourceip"""
-        self.gslbstickysessionmethodname = None
-        self.required = ["gslbdomainname","gslbservicetype","name","regionid",]
-
-class createGlobalLoadBalancerRuleResponse (baseResponse):
-    def __init__(self):
-        """global load balancer rule ID"""
-        self.id = None
-        """the account of the load balancer rule"""
-        self.account = None
-        """the description of the global load balancer rule"""
-        self.description = None
-        """the domain of the load balancer rule"""
-        self.domain = None
-        """the domain ID of the load balancer rule"""
-        self.domainid = None
-        """DNS domain name given for the global load balancer"""
-        self.gslbdomainname = None
-        """Load balancing method used for the global load balancer"""
-        self.gslblbmethod = None
-        """GSLB service type"""
-        self.gslbservicetype = None
-        """session persistence method used for the global load balancer"""
-        self.gslbstickysessionmethodname = None
-        """name of the global load balancer rule"""
-        self.name = None
-        """the project name of the load balancer"""
-        self.project = None
-        """the project id of the load balancer"""
-        self.projectid = None
-        """Region Id in which global load balancer is created"""
-        self.regionid = None
-        """List of load balancer rules that are part of GSLB rule"""
-        self.loadbalancerrule = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class loadbalancerrule:
-    def __init__(self):
-        """"the load balancer rule ID"""
-        self.id = None
-        """"the account of the load balancer rule"""
-        self.account = None
-        """"the load balancer algorithm (source, roundrobin, leastconn)"""
-        self.algorithm = None
-        """"the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """"the description of the load balancer"""
-        self.description = None
-        """"the domain of the load balancer rule"""
-        self.domain = None
-        """"the domain ID of the load balancer rule"""
-        self.domainid = None
-        """"the name of the load balancer"""
-        self.name = None
-        """"the id of the guest network the lb rule belongs to"""
-        self.networkid = None
-        """"the private port"""
-        self.privateport = None
-        """"the project name of the load balancer"""
-        self.project = None
-        """"the project id of the load balancer"""
-        self.projectid = None
-        """"the public ip address"""
-        self.publicip = None
-        """"the public ip address id"""
-        self.publicipid = None
-        """"the public port"""
-        self.publicport = None
-        """"the state of the rule"""
-        self.state = None
-        """"the id of the zone the rule belongs to"""
-        self.zoneid = None
-        """"the list of resource tags associated with load balancer"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createInstanceGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createInstanceGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createInstanceGroup.py
deleted file mode 100644
index 37f7272..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createInstanceGroup.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a vm group"""
-from baseCmd import *
-from baseResponse import *
-class createInstanceGroupCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the name of the instance group"""
-        """Required"""
-        self.name = None
-        """the account of the instance group. The account parameter must be used with the domainId parameter."""
-        self.account = None
-        """the domain ID of account owning the instance group"""
-        self.domainid = None
-        """The project of the instance group"""
-        self.projectid = None
-        self.required = ["name",]
-
-class createInstanceGroupResponse (baseResponse):
-    def __init__(self):
-        """the id of the instance group"""
-        self.id = None
-        """the account owning the instance group"""
-        self.account = None
-        """time and date the instance group was created"""
-        self.created = None
-        """the domain name of the instance group"""
-        self.domain = None
-        """the domain ID of the instance group"""
-        self.domainid = None
-        """the name of the instance group"""
-        self.name = None
-        """the project name of the group"""
-        self.project = None
-        """the project id of the group"""
-        self.projectid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createInternalLoadBalancerElement.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createInternalLoadBalancerElement.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createInternalLoadBalancerElement.py
deleted file mode 100644
index 7a84929..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createInternalLoadBalancerElement.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Create an Internal Load Balancer element."""
-from baseCmd import *
-from baseResponse import *
-class createInternalLoadBalancerElementCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the network service provider ID of the internal load balancer element"""
-        """Required"""
-        self.nspid = None
-        self.required = ["nspid",]
-
-class createInternalLoadBalancerElementResponse (baseResponse):
-    def __init__(self):
-        """the id of the internal load balancer element"""
-        self.id = None
-        """Enabled/Disabled the element"""
-        self.enabled = None
-        """the physical network service provider id of the element"""
-        self.nspid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createIpForwardingRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createIpForwardingRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createIpForwardingRule.py
deleted file mode 100644
index 06f7b07..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createIpForwardingRule.py
+++ /dev/null
@@ -1,97 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates an ip forwarding rule"""
-from baseCmd import *
-from baseResponse import *
-class createIpForwardingRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the public IP address id of the forwarding rule, already associated via associateIp"""
-        """Required"""
-        self.ipaddressid = None
-        """the protocol for the rule. Valid values are TCP or UDP."""
-        """Required"""
-        self.protocol = None
-        """the start port for the rule"""
-        """Required"""
-        self.startport = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = []
-        """the end port for the rule"""
-        self.endport = None
-        """if true, firewall rule for source/end pubic port is automatically created; if false - firewall rule has to be created explicitely. Has value true by default"""
-        self.openfirewall = None
-        self.required = ["ipaddressid","protocol","startport",]
-
-class createIpForwardingRuleResponse (baseResponse):
-    def __init__(self):
-        """the ID of the port forwarding rule"""
-        self.id = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """the public ip address for the port forwarding rule"""
-        self.ipaddress = None
-        """the public ip address id for the port forwarding rule"""
-        self.ipaddressid = None
-        """the ending port of port forwarding rule's private port range"""
-        self.privateendport = None
-        """the starting port of port forwarding rule's private port range"""
-        self.privateport = None
-        """the protocol of the port forwarding rule"""
-        self.protocol = None
-        """the ending port of port forwarding rule's private port range"""
-        self.publicendport = None
-        """the starting port of port forwarding rule's public port range"""
-        self.publicport = None
-        """the state of the rule"""
-        self.state = None
-        """the VM display name for the port forwarding rule"""
-        self.virtualmachinedisplayname = None
-        """the VM ID for the port forwarding rule"""
-        self.virtualmachineid = None
-        """the VM name for the port forwarding rule"""
-        self.virtualmachinename = None
-        """the vm ip address for the port forwarding rule"""
-        self.vmguestip = None
-        """the list of resource tags associated with the rule"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createLBHealthCheckPolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createLBHealthCheckPolicy.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createLBHealthCheckPolicy.py
deleted file mode 100644
index e650d15..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createLBHealthCheckPolicy.py
+++ /dev/null
@@ -1,75 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a Load Balancer healthcheck policy"""
-from baseCmd import *
-from baseResponse import *
-class createLBHealthCheckPolicyCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the load balancer rule"""
-        """Required"""
-        self.lbruleid = None
-        """the description of the load balancer HealthCheck policy"""
-        self.description = None
-        """Number of consecutive health check success before declaring an instance healthy"""
-        self.healthythreshold = None
-        """Amount of time between health checks (1 sec - 20940 sec)"""
-        self.intervaltime = None
-        """HTTP Ping Path"""
-        self.pingpath = None
-        """Time to wait when receiving a response from the health check (2sec - 60 sec)"""
-        self.responsetimeout = None
-        """Number of consecutive health check failures before declaring an instance unhealthy"""
-        self.unhealthythreshold = None
-        self.required = ["lbruleid",]
-
-class createLBHealthCheckPolicyResponse (baseResponse):
-    def __init__(self):
-        """the account of the HealthCheck policy"""
-        self.account = None
-        """the domain of the HealthCheck policy"""
-        self.domain = None
-        """the domain ID of the HealthCheck policy"""
-        self.domainid = None
-        """the LB rule ID"""
-        self.lbruleid = None
-        """the id of the zone the HealthCheck policy belongs to"""
-        self.zoneid = None
-        """the list of healthcheckpolicies"""
-        self.healthcheckpolicy = []
-
-class healthcheckpolicy:
-    def __init__(self):
-        """"the LB HealthCheck policy ID"""
-        self.id = None
-        """"the description of the healthcheck policy"""
-        self.description = None
-        """"Amount of time between health checks"""
-        self.healthcheckinterval = None
-        """"Number of consecutive health check success before declaring an instance healthy"""
-        self.healthcheckthresshold = None
-        """"the pingpath  of the healthcheck policy"""
-        self.pingpath = None
-        """"Time to wait when receiving a response from the health check"""
-        self.responsetime = None
-        """"the state of the policy"""
-        self.state = None
-        """"Number of consecutive health check failures before declaring an instance unhealthy."""
-        self.unhealthcheckthresshold = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createLBStickinessPolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createLBStickinessPolicy.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createLBStickinessPolicy.py
deleted file mode 100644
index 5accb88..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createLBStickinessPolicy.py
+++ /dev/null
@@ -1,75 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a Load Balancer stickiness policy"""
-from baseCmd import *
-from baseResponse import *
-class createLBStickinessPolicyCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the load balancer rule"""
-        """Required"""
-        self.lbruleid = None
-        """name of the LB Stickiness policy method, possible values can be obtained from ListNetworks API"""
-        """Required"""
-        self.methodname = None
-        """name of the LB Stickiness policy"""
-        """Required"""
-        self.name = None
-        """the description of the LB Stickiness policy"""
-        self.description = None
-        """param list. Example: param[0].name=cookiename&param[0].value=LBCookie"""
-        self.param = []
-        self.required = ["lbruleid","methodname","name",]
-
-class createLBStickinessPolicyResponse (baseResponse):
-    def __init__(self):
-        """the account of the Stickiness policy"""
-        self.account = None
-        """the description of the Stickiness policy"""
-        self.description = None
-        """the domain of the Stickiness policy"""
-        self.domain = None
-        """the domain ID of the Stickiness policy"""
-        self.domainid = None
-        """the LB rule ID"""
-        self.lbruleid = None
-        """the name of the Stickiness policy"""
-        self.name = None
-        """the state of the policy"""
-        self.state = None
-        """the id of the zone the Stickiness policy belongs to"""
-        self.zoneid = None
-        """the list of stickinesspolicies"""
-        self.stickinesspolicy = []
-
-class stickinesspolicy:
-    def __init__(self):
-        """"the LB Stickiness policy ID"""
-        self.id = None
-        """"the description of the Stickiness policy"""
-        self.description = None
-        """"the method name of the Stickiness policy"""
-        self.methodname = None
-        """"the name of the Stickiness policy"""
-        self.name = None
-        """"the params of the policy"""
-        self.params = None
-        """"the state of the policy"""
-        self.state = None
-


[10/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/removeNicFromVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/removeNicFromVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/removeNicFromVirtualMachine.py
deleted file mode 100644
index 8c13453..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/removeNicFromVirtualMachine.py
+++ /dev/null
@@ -1,372 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Removes VM from specified network by deleting a NIC"""
-from baseCmd import *
-from baseResponse import *
-class removeNicFromVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """NIC ID"""
-        """Required"""
-        self.nicid = None
-        """Virtual Machine ID"""
-        """Required"""
-        self.virtualmachineid = None
-        self.required = ["nicid","virtualmachineid",]
-
-class removeNicFromVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/removeRegion.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/removeRegion.py b/tools/marvin/build/lib/marvin/cloudstackAPI/removeRegion.py
deleted file mode 100644
index 101d51c..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/removeRegion.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Removes specified region"""
-from baseCmd import *
-from baseResponse import *
-class removeRegionCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """ID of the region to delete"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class removeRegionResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/removeResourceDetail.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/removeResourceDetail.py b/tools/marvin/build/lib/marvin/cloudstackAPI/removeResourceDetail.py
deleted file mode 100644
index 7d97028..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/removeResourceDetail.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Removes detail for the Resource."""
-from baseCmd import *
-from baseResponse import *
-class removeResourceDetailCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Delete details for resource id"""
-        """Required"""
-        self.resourceid = None
-        """Delete detail by resource type"""
-        """Required"""
-        self.resourcetype = None
-        """Delete details matching key/value pairs"""
-        self.key = None
-        self.required = ["resourceid","resourcetype",]
-
-class removeResourceDetailResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/removeVpnUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/removeVpnUser.py b/tools/marvin/build/lib/marvin/cloudstackAPI/removeVpnUser.py
deleted file mode 100644
index 01ff167..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/removeVpnUser.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Removes vpn user"""
-from baseCmd import *
-from baseResponse import *
-class removeVpnUserCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """username for the vpn user"""
-        """Required"""
-        self.username = None
-        """an optional account for the vpn user. Must be used with domainId."""
-        self.account = None
-        """an optional domainId for the vpn user. If the account parameter is used, domainId must also be used."""
-        self.domainid = None
-        """remove vpn user from the project"""
-        self.projectid = None
-        self.required = ["username",]
-
-class removeVpnUserResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/replaceNetworkACLList.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/replaceNetworkACLList.py b/tools/marvin/build/lib/marvin/cloudstackAPI/replaceNetworkACLList.py
deleted file mode 100644
index 658366d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/replaceNetworkACLList.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Replaces ACL associated with a Network or private gateway"""
-from baseCmd import *
-from baseResponse import *
-class replaceNetworkACLListCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the network ACL"""
-        """Required"""
-        self.aclid = None
-        """the ID of the private gateway"""
-        self.gatewayid = None
-        """the ID of the network"""
-        self.networkid = None
-        self.required = ["aclid",]
-
-class replaceNetworkACLListResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/resetApiLimit.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/resetApiLimit.py b/tools/marvin/build/lib/marvin/cloudstackAPI/resetApiLimit.py
deleted file mode 100644
index 595f97b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/resetApiLimit.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Reset api count"""
-from baseCmd import *
-from baseResponse import *
-class resetApiLimitCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the acount whose limit to be reset"""
-        self.account = None
-        self.required = []
-
-class resetApiLimitResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/resetPasswordForVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/resetPasswordForVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/resetPasswordForVirtualMachine.py
deleted file mode 100644
index 2895323..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/resetPasswordForVirtualMachine.py
+++ /dev/null
@@ -1,369 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Resets the password for virtual machine. The virtual machine must be in a "Stopped" state and the template must already support this feature for this command to take effect. [async]"""
-from baseCmd import *
-from baseResponse import *
-class resetPasswordForVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the virtual machine"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class resetPasswordForVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/resetSSHKeyForVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/resetSSHKeyForVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/resetSSHKeyForVirtualMachine.py
deleted file mode 100644
index fa8ba4e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/resetSSHKeyForVirtualMachine.py
+++ /dev/null
@@ -1,378 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Resets the SSH Key for virtual machine. The virtual machine must be in a "Stopped" state. [async]"""
-from baseCmd import *
-from baseResponse import *
-class resetSSHKeyForVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the virtual machine"""
-        """Required"""
-        self.id = None
-        """name of the ssh key pair used to login to the virtual machine"""
-        """Required"""
-        self.keypair = None
-        """an optional account for the ssh key. Must be used with domainId."""
-        self.account = None
-        """an optional domainId for the virtual machine. If the account parameter is used, domainId must also be used."""
-        self.domainid = None
-        """an optional project for the ssh key"""
-        self.projectid = None
-        self.required = ["id","keypair",]
-
-class resetSSHKeyForVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/resetVpnConnection.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/resetVpnConnection.py b/tools/marvin/build/lib/marvin/cloudstackAPI/resetVpnConnection.py
deleted file mode 100644
index b378b0c..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/resetVpnConnection.py
+++ /dev/null
@@ -1,76 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Reset site to site vpn connection"""
-from baseCmd import *
-from baseResponse import *
-class resetVpnConnectionCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """id of vpn connection"""
-        """Required"""
-        self.id = None
-        """an optional account for connection. Must be used with domainId."""
-        self.account = None
-        """an optional domainId for connection. If the account parameter is used, domainId must also be used."""
-        self.domainid = None
-        self.required = ["id",]
-
-class resetVpnConnectionResponse (baseResponse):
-    def __init__(self):
-        """the vpn gateway ID"""
-        self.id = None
-        """the owner"""
-        self.account = None
-        """guest cidr list of the customer gateway"""
-        self.cidrlist = None
-        """the date and time the host was created"""
-        self.created = None
-        """the domain name of the owner"""
-        self.domain = None
-        """the domain id of the owner"""
-        self.domainid = None
-        """if DPD is enabled for customer gateway"""
-        self.dpd = None
-        """Lifetime of ESP SA of customer gateway"""
-        self.esplifetime = None
-        """ESP policy of the customer gateway"""
-        self.esppolicy = None
-        """public ip address id of the customer gateway"""
-        self.gateway = None
-        """Lifetime of IKE SA of customer gateway"""
-        self.ikelifetime = None
-        """IKE policy of the customer gateway"""
-        self.ikepolicy = None
-        """IPsec Preshared-Key of the customer gateway"""
-        self.ipsecpsk = None
-        """the project name"""
-        self.project = None
-        """the project id"""
-        self.projectid = None
-        """the public IP address"""
-        self.publicip = None
-        """the date and time the host was removed"""
-        self.removed = None
-        """the customer gateway ID"""
-        self.s2scustomergatewayid = None
-        """the vpn gateway ID"""
-        self.s2svpngatewayid = None
-        """State of vpn connection"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/resizeVolume.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/resizeVolume.py b/tools/marvin/build/lib/marvin/cloudstackAPI/resizeVolume.py
deleted file mode 100644
index f63437c..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/resizeVolume.py
+++ /dev/null
@@ -1,148 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Resizes a volume"""
-from baseCmd import *
-from baseResponse import *
-class resizeVolumeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """new disk offering id"""
-        self.diskofferingid = None
-        """the ID of the disk volume"""
-        self.id = None
-        """Verify OK to Shrink"""
-        self.shrinkok = None
-        """New volume size in G"""
-        self.size = None
-        self.required = []
-
-class resizeVolumeResponse (baseResponse):
-    def __init__(self):
-        """ID of the disk volume"""
-        self.id = None
-        """the account associated with the disk volume"""
-        self.account = None
-        """the date the volume was attached to a VM instance"""
-        self.attached = None
-        """the date the disk volume was created"""
-        self.created = None
-        """the boolean state of whether the volume is destroyed or not"""
-        self.destroyed = None
-        """the ID of the device on user vm the volume is attahed to. This tag is not returned when the volume is detached."""
-        self.deviceid = None
-        """bytes read rate of the disk volume"""
-        self.diskBytesReadRate = None
-        """bytes write rate of the disk volume"""
-        self.diskBytesWriteRate = None
-        """io requests read rate of the disk volume"""
-        self.diskIopsReadRate = None
-        """io requests write rate of the disk volume"""
-        self.diskIopsWriteRate = None
-        """the display text of the disk offering"""
-        self.diskofferingdisplaytext = None
-        """ID of the disk offering"""
-        self.diskofferingid = None
-        """name of the disk offering"""
-        self.diskofferingname = None
-        """an optional field whether to the display the volume to the end user or not."""
-        self.displayvolume = None
-        """the domain associated with the disk volume"""
-        self.domain = None
-        """the ID of the domain associated with the disk volume"""
-        self.domainid = None
-        """Hypervisor the volume belongs to"""
-        self.hypervisor = None
-        """true if the volume is extractable, false otherwise"""
-        self.isextractable = None
-        """max iops of the disk volume"""
-        self.maxiops = None
-        """min iops of the disk volume"""
-        self.miniops = None
-        """name of the disk volume"""
-        self.name = None
-        """The path of the volume"""
-        self.path = None
-        """the project name of the vpn"""
-        self.project = None
-        """the project id of the vpn"""
-        self.projectid = None
-        """the display text of the service offering for root disk"""
-        self.serviceofferingdisplaytext = None
-        """ID of the service offering for root disk"""
-        self.serviceofferingid = None
-        """name of the service offering for root disk"""
-        self.serviceofferingname = None
-        """size of the disk volume"""
-        self.size = None
-        """ID of the snapshot from which this volume was created"""
-        self.snapshotid = None
-        """the state of the disk volume"""
-        self.state = None
-        """the status of the volume"""
-        self.status = None
-        """name of the primary storage hosting the disk volume"""
-        self.storage = None
-        """id of the primary storage hosting the disk volume; returned to admin user only"""
-        self.storageid = None
-        """shared or local storage"""
-        self.storagetype = None
-        """type of the disk volume (ROOT or DATADISK)"""
-        self.type = None
-        """id of the virtual machine"""
-        self.virtualmachineid = None
-        """display name of the virtual machine"""
-        self.vmdisplayname = None
-        """name of the virtual machine"""
-        self.vmname = None
-        """state of the virtual machine"""
-        self.vmstate = None
-        """ID of the availability zone"""
-        self.zoneid = None
-        """name of the availability zone"""
-        self.zonename = None
-        """the list of resource tags associated with volume"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/restartNetwork.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/restartNetwork.py b/tools/marvin/build/lib/marvin/cloudstackAPI/restartNetwork.py
deleted file mode 100644
index 9a8eb1a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/restartNetwork.py
+++ /dev/null
@@ -1,119 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Restarts the network; includes 1) restarting network elements - virtual routers, dhcp servers 2) reapplying all public ips 3) reapplying loadBalancing/portForwarding rules"""
-from baseCmd import *
-from baseResponse import *
-class restartNetworkCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The id of the network to restart."""
-        """Required"""
-        self.id = None
-        """If cleanup old network elements"""
-        self.cleanup = None
-        self.required = ["id",]
-
-class restartNetworkResponse (baseResponse):
-    def __init__(self):
-        """public IP address id"""
-        self.id = None
-        """the account the public IP address is associated with"""
-        self.account = None
-        """date the public IP address was acquired"""
-        self.allocated = None
-        """the ID of the Network associated with the IP address"""
-        self.associatednetworkid = None
-        """the name of the Network associated with the IP address"""
-        self.associatednetworkname = None
-        """the domain the public IP address is associated with"""
-        self.domain = None
-        """the domain ID the public IP address is associated with"""
-        self.domainid = None
-        """the virtual network for the IP address"""
-        self.forvirtualnetwork = None
-        """public IP address"""
-        self.ipaddress = None
-        """is public IP portable across the zones"""
-        self.isportable = None
-        """true if the IP address is a source nat address, false otherwise"""
-        self.issourcenat = None
-        """true if this ip is for static nat, false otherwise"""
-        self.isstaticnat = None
-        """true if this ip is system ip (was allocated as a part of deployVm or createLbRule)"""
-        self.issystem = None
-        """the ID of the Network where ip belongs to"""
-        self.networkid = None
-        """the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """purpose of the IP address. In Acton this value is not null for Ips with isSystem=true, and can have either StaticNat or LB value"""
-        self.purpose = None
-        """State of the ip address. Can be: Allocatin, Allocated and Releasing"""
-        self.state = None
-        """virutal machine display name the ip address is assigned to (not null only for static nat Ip)"""
-        self.virtualmachinedisplayname = None
-        """virutal machine id the ip address is assigned to (not null only for static nat Ip)"""
-        self.virtualmachineid = None
-        """virutal machine name the ip address is assigned to (not null only for static nat Ip)"""
-        self.virtualmachinename = None
-        """the ID of the VLAN associated with the IP address. This parameter is visible to ROOT admins only"""
-        self.vlanid = None
-        """the VLAN associated with the IP address"""
-        self.vlanname = None
-        """virutal machine (dnat) ip address (not null only for static nat Ip)"""
-        self.vmipaddress = None
-        """VPC the ip belongs to"""
-        self.vpcid = None
-        """the ID of the zone the public IP address belongs to"""
-        self.zoneid = None
-        """the name of the zone the public IP address belongs to"""
-        self.zonename = None
-        """the list of resource tags associated with ip address"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/restartVPC.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/restartVPC.py b/tools/marvin/build/lib/marvin/cloudstackAPI/restartVPC.py
deleted file mode 100644
index 152e64f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/restartVPC.py
+++ /dev/null
@@ -1,393 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Restarts a VPC"""
-from baseCmd import *
-from baseResponse import *
-class restartVPCCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the id of the VPC"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class restartVPCResponse (baseResponse):
-    def __init__(self):
-        """the id of the VPC"""
-        self.id = None
-        """the owner of the VPC"""
-        self.account = None
-        """the cidr the VPC"""
-        self.cidr = None
-        """the date this VPC was created"""
-        self.created = None
-        """an alternate display text of the VPC."""
-        self.displaytext = None
-        """the domain name of the owner"""
-        self.domain = None
-        """the domain id of the VPC owner"""
-        self.domainid = None
-        """the name of the VPC"""
-        self.name = None
-        """the network domain of the VPC"""
-        self.networkdomain = None
-        """the project name of the VPC"""
-        self.project = None
-        """the project id of the VPC"""
-        self.projectid = None
-        """true VPC requires restart"""
-        self.restartrequired = None
-        """state of the VPC. Can be Inactive/Enabled"""
-        self.state = None
-        """vpc offering id the VPC is created from"""
-        self.vpcofferingid = None
-        """zone id of the vpc"""
-        self.zoneid = None
-        """the name of the zone the VPC belongs to"""
-        self.zonename = None
-        """the list of networks belongign to the VPC"""
-        self.network = []
-        """the list of supported services"""
-        self.service = []
-        """the list of resource tags associated with the project"""
-        self.tags = []
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class network:
-    def __init__(self):
-        """"the id of the network"""
-        self.id = None
-        """"the owner of the network"""
-        self.account = None
-        """"ACL Id associated with the VPC network"""
-        self.aclid = None
-        """"acl type - access type to the network"""
-        self.acltype = None
-        """"Broadcast domain type of the network"""
-        self.broadcastdomaintype = None
-        """"broadcast uri of the network. This parameter is visible to ROOT admins only"""
-        self.broadcasturi = None
-        """"list networks available for vm deployment"""
-        self.canusefordeploy = None
-        """"Cloudstack managed address space, all CloudStack managed VMs get IP address from CIDR"""
-        self.cidr = None
-        """"an optional field, whether to the display the network to the end user or not."""
-        self.displaynetwork = None
-        """"the displaytext of the network"""
-        self.displaytext = None
-        """"the first DNS for the network"""
-        self.dns1 = None
-        """"the second DNS for the network"""
-        self.dns2 = None
-        """"the domain name of the network owner"""
-        self.domain = None
-        """"the domain id of the network owner"""
-        self.domainid = None
-        """"the network's gateway"""
-        self.gateway = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"true if network is default, false otherwise"""
-        self.isdefault = None
-        """"list networks that are persistent"""
-        self.ispersistent = None
-        """"true if network is system, false otherwise"""
-        self.issystem = None
-        """"the name of the network"""
-        self.name = None
-        """"the network's netmask"""
-        self.netmask = None
-        """"the network CIDR of the guest network configured with IP reservation. It is the summation of CIDR and RESERVED_IP_RANGE"""
-        self.networkcidr = None
-        """"the network domain"""
-        self.networkdomain = None
-        """"availability of the network offering the network is created from"""
-        self.networkofferingavailability = None
-        """"true if network offering is ip conserve mode enabled"""
-        self.networkofferingconservemode = None
-        """"display text of the network offering the network is created from"""
-        self.networkofferingdisplaytext = None
-        """"network offering id the network is created from"""
-        self.networkofferingid = None
-        """"name of the network offering the network is created from"""
-        self.networkofferingname = None
-        """"the physical network id"""
-        self.physicalnetworkid = None
-        """"the project name of the address"""
-        self.project = None
-        """"the project id of the ipaddress"""
-        self.projectid = None
-        """"related to what other network configuration"""
-        self.related = None
-        """"the network's IP range not to be used by CloudStack guest VMs and can be used for non CloudStack purposes"""
-        self.reservediprange = None
-        """"true network requires restart"""
-        self.restartrequired = None
-        """"true if network supports specifying ip ranges, false otherwise"""
-        self.specifyipranges = None
-        """"state of the network"""
-        self.state = None
-        """"true if users from subdomains can access the domain level network"""
-        self.subdomainaccess = None
-        """"the traffic type of the network"""
-        self.traffictype = None
-        """"the type of the network"""
-        self.type = None
-        """"The vlan of the network. This parameter is visible to ROOT admins only"""
-        self.vlan = None
-        """"VPC the network belongs to"""
-        self.vpcid = None
-        """"zone id of the network"""
-        self.zoneid = None
-        """"the name of the zone the network belongs to"""
-        self.zonename = None
-        """"the list of services"""
-        self.service = []
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-        """"the list of resource tags associated with network"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-


[23/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createLoadBalancer.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createLoadBalancer.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createLoadBalancer.py
deleted file mode 100644
index 0dcb5e9..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createLoadBalancer.py
+++ /dev/null
@@ -1,127 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a Load Balancer"""
-from baseCmd import *
-from baseResponse import *
-class createLoadBalancerCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """load balancer algorithm (source, roundrobin, leastconn)"""
-        """Required"""
-        self.algorithm = None
-        """the TCP port of the virtual machine where the network traffic will be load balanced to"""
-        """Required"""
-        self.instanceport = None
-        """name of the Load Balancer"""
-        """Required"""
-        self.name = None
-        """The guest network the Load Balancer will be created for"""
-        """Required"""
-        self.networkid = None
-        """the load balancer scheme. Supported value in this release is Internal"""
-        """Required"""
-        self.scheme = None
-        """the network id of the source ip address"""
-        """Required"""
-        self.sourceipaddressnetworkid = None
-        """the source port the network traffic will be load balanced from"""
-        """Required"""
-        self.sourceport = None
-        """the description of the Load Balancer"""
-        self.description = None
-        """the source ip address the network traffic will be load balanced from"""
-        self.sourceipaddress = None
-        self.required = ["algorithm","instanceport","name","networkid","scheme","sourceipaddressnetworkid","sourceport",]
-
-class createLoadBalancerResponse (baseResponse):
-    def __init__(self):
-        """the Load Balancer ID"""
-        self.id = None
-        """the account of the Load Balancer"""
-        self.account = None
-        """the load balancer algorithm (source, roundrobin, leastconn)"""
-        self.algorithm = None
-        """the description of the Load Balancer"""
-        self.description = None
-        """the domain of the Load Balancer"""
-        self.domain = None
-        """the domain ID of the Load Balancer"""
-        self.domainid = None
-        """the name of the Load Balancer"""
-        self.name = None
-        """Load Balancer network id"""
-        self.networkid = None
-        """the project name of the Load Balancer"""
-        self.project = None
-        """the project id of the Load Balancer"""
-        self.projectid = None
-        """Load Balancer source ip"""
-        self.sourceipaddress = None
-        """Load Balancer source ip network id"""
-        self.sourceipaddressnetworkid = None
-        """the list of instances associated with the Load Balancer"""
-        self.loadbalancerinstance = []
-        """the list of rules associated with the Load Balancer"""
-        self.loadbalancerrule = []
-        """the list of resource tags associated with the Load Balancer"""
-        self.tags = []
-
-class loadbalancerinstance:
-    def __init__(self):
-        """"the instance ID"""
-        self.id = None
-        """"the ip address of the instance"""
-        self.ipaddress = None
-        """"the name of the instance"""
-        self.name = None
-        """"the state of the instance"""
-        self.state = None
-
-class loadbalancerrule:
-    def __init__(self):
-        """"instance port of the load balancer rule"""
-        self.instanceport = None
-        """"source port of the load balancer rule"""
-        self.sourceport = None
-        """"the state of the load balancer rule"""
-        self.state = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createLoadBalancerRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createLoadBalancerRule.py
deleted file mode 100644
index e30877e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createLoadBalancerRule.py
+++ /dev/null
@@ -1,116 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a load balancer rule"""
-from baseCmd import *
-from baseResponse import *
-class createLoadBalancerRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """load balancer algorithm (source, roundrobin, leastconn)"""
-        """Required"""
-        self.algorithm = None
-        """name of the load balancer rule"""
-        """Required"""
-        self.name = None
-        """the private port of the private ip address/virtual machine where the network traffic will be load balanced to"""
-        """Required"""
-        self.privateport = None
-        """the public port from where the network traffic will be load balanced from"""
-        """Required"""
-        self.publicport = None
-        """the account associated with the load balancer. Must be used with the domainId parameter."""
-        self.account = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = []
-        """the description of the load balancer rule"""
-        self.description = None
-        """the domain ID associated with the load balancer"""
-        self.domainid = None
-        """The guest network this rule will be created for. Required when public Ip address is not associated with any Guest network yet (VPC case)"""
-        self.networkid = None
-        """if true, firewall rule for source/end pubic port is automatically created; if false - firewall rule has to be created explicitely. If not specified 1) defaulted to false when LB rule is being created for VPC guest network 2) in all other cases defaulted to true"""
-        self.openfirewall = None
-        """public ip address id from where the network traffic will be load balanced from"""
-        self.publicipid = None
-        """zone where the load balancer is going to be created. This parameter is required when LB service provider is ElasticLoadBalancerVm"""
-        self.zoneid = None
-        self.required = ["algorithm","name","privateport","publicport",]
-
-class createLoadBalancerRuleResponse (baseResponse):
-    def __init__(self):
-        """the load balancer rule ID"""
-        self.id = None
-        """the account of the load balancer rule"""
-        self.account = None
-        """the load balancer algorithm (source, roundrobin, leastconn)"""
-        self.algorithm = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """the description of the load balancer"""
-        self.description = None
-        """the domain of the load balancer rule"""
-        self.domain = None
-        """the domain ID of the load balancer rule"""
-        self.domainid = None
-        """the name of the load balancer"""
-        self.name = None
-        """the id of the guest network the lb rule belongs to"""
-        self.networkid = None
-        """the private port"""
-        self.privateport = None
-        """the project name of the load balancer"""
-        self.project = None
-        """the project id of the load balancer"""
-        self.projectid = None
-        """the public ip address"""
-        self.publicip = None
-        """the public ip address id"""
-        self.publicipid = None
-        """the public port"""
-        self.publicport = None
-        """the state of the rule"""
-        self.state = None
-        """the id of the zone the rule belongs to"""
-        self.zoneid = None
-        """the list of resource tags associated with load balancer"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createNetwork.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createNetwork.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createNetwork.py
deleted file mode 100644
index 0e5c3a9..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createNetwork.py
+++ /dev/null
@@ -1,251 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a network"""
-from baseCmd import *
-from baseResponse import *
-class createNetworkCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the display text of the network"""
-        """Required"""
-        self.displaytext = None
-        """the name of the network"""
-        """Required"""
-        self.name = None
-        """the network offering id"""
-        """Required"""
-        self.networkofferingid = None
-        """the Zone ID for the network"""
-        """Required"""
-        self.zoneid = None
-        """account who will own the network"""
-        self.account = None
-        """Network ACL Id associated for the network"""
-        self.aclid = None
-        """Access control type; supported values are account and domain. In 3.0 all shared networks should have aclType=Domain, and all Isolated networks - Account. Account means that only the account owner can use the network, domain - all accouns in the domain can use the network"""
-        self.acltype = None
-        """an optional field, whether to the display the network to the end user or not."""
-        self.displaynetwork = None
-        """domain ID of the account owning a network"""
-        self.domainid = None
-        """the ending IP address in the network IP range. If not specified, will be defaulted to startIP"""
-        self.endip = None
-        """the ending IPv6 address in the IPv6 network range"""
-        self.endipv6 = None
-        """the gateway of the network. Required for Shared networks and Isolated networks when it belongs to VPC"""
-        self.gateway = None
-        """the CIDR of IPv6 network, must be at least /64"""
-        self.ip6cidr = None
-        """the gateway of the IPv6 network. Required for Shared networks and Isolated networks when it belongs to VPC"""
-        self.ip6gateway = None
-        """the isolated private vlan for this network"""
-        self.isolatedpvlan = None
-        """the netmask of the network. Required for Shared networks and Isolated networks when it belongs to VPC"""
-        self.netmask = None
-        """network domain"""
-        self.networkdomain = None
-        """the Physical Network ID the network belongs to"""
-        self.physicalnetworkid = None
-        """an optional project for the ssh key"""
-        self.projectid = None
-        """the beginning IP address in the network IP range"""
-        self.startip = None
-        """the beginning IPv6 address in the IPv6 network range"""
-        self.startipv6 = None
-        """Defines whether to allow subdomains to use networks dedicated to their parent domain(s). Should be used with aclType=Domain, defaulted to allow.subdomain.network.access global config if not specified"""
-        self.subdomainaccess = None
-        """the ID or VID of the network"""
-        self.vlan = None
-        """the VPC network belongs to"""
-        self.vpcid = None
-        self.required = ["displaytext","name","networkofferingid","zoneid",]
-
-class createNetworkResponse (baseResponse):
-    def __init__(self):
-        """the id of the network"""
-        self.id = None
-        """the owner of the network"""
-        self.account = None
-        """ACL Id associated with the VPC network"""
-        self.aclid = None
-        """acl type - access type to the network"""
-        self.acltype = None
-        """Broadcast domain type of the network"""
-        self.broadcastdomaintype = None
-        """broadcast uri of the network. This parameter is visible to ROOT admins only"""
-        self.broadcasturi = None
-        """list networks available for vm deployment"""
-        self.canusefordeploy = None
-        """Cloudstack managed address space, all CloudStack managed VMs get IP address from CIDR"""
-        self.cidr = None
-        """an optional field, whether to the display the network to the end user or not."""
-        self.displaynetwork = None
-        """the displaytext of the network"""
-        self.displaytext = None
-        """the first DNS for the network"""
-        self.dns1 = None
-        """the second DNS for the network"""
-        self.dns2 = None
-        """the domain name of the network owner"""
-        self.domain = None
-        """the domain id of the network owner"""
-        self.domainid = None
-        """the network's gateway"""
-        self.gateway = None
-        """the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """true if network is default, false otherwise"""
-        self.isdefault = None
-        """list networks that are persistent"""
-        self.ispersistent = None
-        """true if network is system, false otherwise"""
-        self.issystem = None
-        """the name of the network"""
-        self.name = None
-        """the network's netmask"""
-        self.netmask = None
-        """the network CIDR of the guest network configured with IP reservation. It is the summation of CIDR and RESERVED_IP_RANGE"""
-        self.networkcidr = None
-        """the network domain"""
-        self.networkdomain = None
-        """availability of the network offering the network is created from"""
-        self.networkofferingavailability = None
-        """true if network offering is ip conserve mode enabled"""
-        self.networkofferingconservemode = None
-        """display text of the network offering the network is created from"""
-        self.networkofferingdisplaytext = None
-        """network offering id the network is created from"""
-        self.networkofferingid = None
-        """name of the network offering the network is created from"""
-        self.networkofferingname = None
-        """the physical network id"""
-        self.physicalnetworkid = None
-        """the project name of the address"""
-        self.project = None
-        """the project id of the ipaddress"""
-        self.projectid = None
-        """related to what other network configuration"""
-        self.related = None
-        """the network's IP range not to be used by CloudStack guest VMs and can be used for non CloudStack purposes"""
-        self.reservediprange = None
-        """true network requires restart"""
-        self.restartrequired = None
-        """true if network supports specifying ip ranges, false otherwise"""
-        self.specifyipranges = None
-        """state of the network"""
-        self.state = None
-        """true if users from subdomains can access the domain level network"""
-        self.subdomainaccess = None
-        """the traffic type of the network"""
-        self.traffictype = None
-        """the type of the network"""
-        self.type = None
-        """The vlan of the network. This parameter is visible to ROOT admins only"""
-        self.vlan = None
-        """VPC the network belongs to"""
-        self.vpcid = None
-        """zone id of the network"""
-        self.zoneid = None
-        """the name of the zone the network belongs to"""
-        self.zonename = None
-        """the list of services"""
-        self.service = []
-        """the list of resource tags associated with network"""
-        self.tags = []
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createNetworkACL.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createNetworkACL.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createNetworkACL.py
deleted file mode 100644
index 3b3f611..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createNetworkACL.py
+++ /dev/null
@@ -1,101 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a ACL rule in the given network (the network has to belong to VPC)"""
-from baseCmd import *
-from baseResponse import *
-class createNetworkACLCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the protocol for the ACL rule. Valid values are TCP/UDP/ICMP/ALL or valid protocol number"""
-        """Required"""
-        self.protocol = None
-        """The network of the vm the ACL will be created for"""
-        self.aclid = None
-        """scl entry action, allow or deny"""
-        self.action = None
-        """the cidr list to allow traffic from/to"""
-        self.cidrlist = []
-        """the ending port of ACL"""
-        self.endport = None
-        """error code for this icmp message"""
-        self.icmpcode = None
-        """type of the icmp message being sent"""
-        self.icmptype = None
-        """The network of the vm the ACL will be created for"""
-        self.networkid = None
-        """The network of the vm the ACL will be created for"""
-        self.number = None
-        """the starting port of ACL"""
-        self.startport = None
-        """the traffic type for the ACL,can be Ingress or Egress, defaulted to Ingress if not specified"""
-        self.traffictype = None
-        self.required = ["protocol",]
-
-class createNetworkACLResponse (baseResponse):
-    def __init__(self):
-        """the ID of the ACL Item"""
-        self.id = None
-        """the ID of the ACL this item belongs to"""
-        self.aclid = None
-        """Action of ACL Item. Allow/Deny"""
-        self.action = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """the ending port of ACL's port range"""
-        self.endport = None
-        """error code for this icmp message"""
-        self.icmpcode = None
-        """type of the icmp message being sent"""
-        self.icmptype = None
-        """Number of the ACL Item"""
-        self.number = None
-        """the protocol of the ACL"""
-        self.protocol = None
-        """the starting port of ACL's port range"""
-        self.startport = None
-        """the state of the rule"""
-        self.state = None
-        """the traffic type for the ACL"""
-        self.traffictype = None
-        """the list of resource tags associated with the network ACLs"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createNetworkACLList.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createNetworkACLList.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createNetworkACLList.py
deleted file mode 100644
index d13ffc1..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createNetworkACLList.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a Network ACL for the given VPC"""
-from baseCmd import *
-from baseResponse import *
-class createNetworkACLListCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Name of the network ACL List"""
-        """Required"""
-        self.name = None
-        """Id of the VPC associated with this network ACL List"""
-        """Required"""
-        self.vpcid = None
-        """Description of the network ACL List"""
-        self.description = None
-        self.required = ["name","vpcid",]
-
-class createNetworkACLListResponse (baseResponse):
-    def __init__(self):
-        """the ID of the ACL"""
-        self.id = None
-        """Description of the ACL"""
-        self.description = None
-        """the Name of the ACL"""
-        self.name = None
-        """Id of the VPC this ACL is associated with"""
-        self.vpcid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createNetworkOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createNetworkOffering.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createNetworkOffering.py
deleted file mode 100644
index e7b29d5..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createNetworkOffering.py
+++ /dev/null
@@ -1,167 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a network offering."""
-from baseCmd import *
-from baseResponse import *
-class createNetworkOfferingCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the display text of the network offering"""
-        """Required"""
-        self.displaytext = None
-        """guest type of the network offering: Shared or Isolated"""
-        """Required"""
-        self.guestiptype = None
-        """the name of the network offering"""
-        """Required"""
-        self.name = None
-        """services supported by the network offering"""
-        """Required"""
-        self.supportedservices = []
-        """the traffic type for the network offering. Supported type in current release is GUEST only"""
-        """Required"""
-        self.traffictype = None
-        """the availability of network offering. Default value is Optional"""
-        self.availability = None
-        """true if the network offering is IP conserve mode enabled"""
-        self.conservemode = None
-        """Network offering details in key/value pairs. Supported keys are internallbprovider/publiclbprovider with service provider as a value"""
-        self.details = []
-        """true if default guest network egress policy is allow; false if default egress policy is deny"""
-        self.egressdefaultpolicy = None
-        """true if network offering supports persistent networks; defaulted to false if not specified"""
-        self.ispersistent = None
-        """maximum number of concurrent connections supported by the network offering"""
-        self.maxconnections = None
-        """data transfer rate in megabits per second allowed"""
-        self.networkrate = None
-        """desired service capabilities as part of network offering"""
-        self.servicecapabilitylist = []
-        """the service offering ID used by virtual router provider"""
-        self.serviceofferingid = None
-        """provider to service mapping. If not specified, the provider for the service will be mapped to the default provider on the physical network"""
-        self.serviceproviderlist = []
-        """true if network offering supports specifying ip ranges; defaulted to false if not specified"""
-        self.specifyipranges = None
-        """true if network offering supports vlans"""
-        self.specifyvlan = None
-        """the tags for the network offering."""
-        self.tags = None
-        self.required = ["displaytext","guestiptype","name","supportedservices","traffictype",]
-
-class createNetworkOfferingResponse (baseResponse):
-    def __init__(self):
-        """the id of the network offering"""
-        self.id = None
-        """availability of the network offering"""
-        self.availability = None
-        """true if network offering is ip conserve mode enabled"""
-        self.conservemode = None
-        """the date this network offering was created"""
-        self.created = None
-        """additional key/value details tied with network offering"""
-        self.details = None
-        """an alternate display text of the network offering."""
-        self.displaytext = None
-        """true if network offering supports persistent networks, false otherwise"""
-        self.egressdefaultpolicy = None
-        """true if network offering can be used by VPC networks only"""
-        self.forvpc = None
-        """guest type of the network offering, can be Shared or Isolated"""
-        self.guestiptype = None
-        """true if network offering is default, false otherwise"""
-        self.isdefault = None
-        """true if network offering supports persistent networks, false otherwise"""
-        self.ispersistent = None
-        """maximum number of concurrents connections to be handled by lb"""
-        self.maxconnections = None
-        """the name of the network offering"""
-        self.name = None
-        """data transfer rate in megabits per second allowed."""
-        self.networkrate = None
-        """the ID of the service offering used by virtual router provider"""
-        self.serviceofferingid = None
-        """true if network offering supports specifying ip ranges, false otherwise"""
-        self.specifyipranges = None
-        """true if network offering supports vlans, false otherwise"""
-        self.specifyvlan = None
-        """state of the network offering. Can be Disabled/Enabled/Inactive"""
-        self.state = None
-        """the tags for the network offering"""
-        self.tags = None
-        """the traffic type for the network offering, supported types are Public, Management, Control, Guest, Vlan or Storage."""
-        self.traffictype = None
-        """the list of supported services"""
-        self.service = []
-
-class capability:
-    def __init__(self):
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-
-class provider:
-    def __init__(self):
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-
-class service:
-    def __init__(self):
-        """"the service name"""
-        self.name = None
-        """"the list of capabilities"""
-        self.capability = []
-        """"can this service capability value can be choosable while creatine network offerings"""
-        self.canchooseservicecapability = None
-        """"the capability name"""
-        self.name = None
-        """"the capability value"""
-        self.value = None
-        """"the service provider name"""
-        self.provider = []
-        """"uuid of the network provider"""
-        self.id = None
-        """"true if individual services can be enabled/disabled"""
-        self.canenableindividualservice = None
-        """"the destination physical network"""
-        self.destinationphysicalnetworkid = None
-        """"the provider name"""
-        self.name = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"services for this provider"""
-        self.servicelist = None
-        """"state of the network provider"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createPhysicalNetwork.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createPhysicalNetwork.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createPhysicalNetwork.py
deleted file mode 100644
index 8bbb8d8..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createPhysicalNetwork.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a physical network"""
-from baseCmd import *
-from baseResponse import *
-class createPhysicalNetworkCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the name of the physical network"""
-        """Required"""
-        self.name = None
-        """the Zone ID for the physical network"""
-        """Required"""
-        self.zoneid = None
-        """the broadcast domain range for the physical network[Pod or Zone]. In Acton release it can be Zone only in Advance zone, and Pod in Basic"""
-        self.broadcastdomainrange = None
-        """domain ID of the account owning a physical network"""
-        self.domainid = None
-        """the isolation method for the physical network[VLAN/L3/GRE]"""
-        self.isolationmethods = []
-        """the speed for the physical network[1G/10G]"""
-        self.networkspeed = None
-        """Tag the physical network"""
-        self.tags = []
-        """the VLAN for the physical network"""
-        self.vlan = None
-        self.required = ["name","zoneid",]
-
-class createPhysicalNetworkResponse (baseResponse):
-    def __init__(self):
-        """the uuid of the physical network"""
-        self.id = None
-        """Broadcast domain range of the physical network"""
-        self.broadcastdomainrange = None
-        """the domain id of the physical network owner"""
-        self.domainid = None
-        """isolation methods"""
-        self.isolationmethods = None
-        """name of the physical network"""
-        self.name = None
-        """the speed of the physical network"""
-        self.networkspeed = None
-        """state of the physical network"""
-        self.state = None
-        """comma separated tag"""
-        self.tags = None
-        """the vlan of the physical network"""
-        self.vlan = None
-        """zone id of the physical network"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createPod.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createPod.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createPod.py
deleted file mode 100644
index e84e563..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createPod.py
+++ /dev/null
@@ -1,91 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a new Pod."""
-from baseCmd import *
-from baseResponse import *
-class createPodCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the gateway for the Pod"""
-        """Required"""
-        self.gateway = None
-        """the name of the Pod"""
-        """Required"""
-        self.name = None
-        """the netmask for the Pod"""
-        """Required"""
-        self.netmask = None
-        """the starting IP address for the Pod"""
-        """Required"""
-        self.startip = None
-        """the Zone ID in which the Pod will be created"""
-        """Required"""
-        self.zoneid = None
-        """Allocation state of this Pod for allocation of new resources"""
-        self.allocationstate = None
-        """the ending IP address for the Pod"""
-        self.endip = None
-        self.required = ["gateway","name","netmask","startip","zoneid",]
-
-class createPodResponse (baseResponse):
-    def __init__(self):
-        """the ID of the Pod"""
-        self.id = None
-        """the allocation state of the Pod"""
-        self.allocationstate = None
-        """the ending IP for the Pod"""
-        self.endip = None
-        """the gateway of the Pod"""
-        self.gateway = None
-        """the name of the Pod"""
-        self.name = None
-        """the netmask of the Pod"""
-        self.netmask = None
-        """the starting IP for the Pod"""
-        self.startip = None
-        """the Zone ID of the Pod"""
-        self.zoneid = None
-        """the Zone name of the Pod"""
-        self.zonename = None
-        """the capacity of the Pod"""
-        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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createPortForwardingRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createPortForwardingRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createPortForwardingRule.py
deleted file mode 100644
index b7717e9..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createPortForwardingRule.py
+++ /dev/null
@@ -1,109 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a port forwarding rule"""
-from baseCmd import *
-from baseResponse import *
-class createPortForwardingRuleCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the IP address id of the port forwarding rule"""
-        """Required"""
-        self.ipaddressid = None
-        """the starting port of port forwarding rule's private port range"""
-        """Required"""
-        self.privateport = None
-        """the protocol for the port fowarding rule. Valid values are TCP or UDP."""
-        """Required"""
-        self.protocol = None
-        """the starting port of port forwarding rule's public port range"""
-        """Required"""
-        self.publicport = None
-        """the ID of the virtual machine for the port forwarding rule"""
-        """Required"""
-        self.virtualmachineid = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = []
-        """The network of the vm the Port Forwarding rule will be created for. Required when public Ip address is not associated with any Guest network yet (VPC case)"""
-        self.networkid = None
-        """if true, firewall rule for source/end pubic port is automatically created; if false - firewall rule has to be created explicitely. If not specified 1) defaulted to false when PF rule is being created for VPC guest network 2) in all other cases defaulted to true"""
-        self.openfirewall = None
-        """the ending port of port forwarding rule's private port range"""
-        self.privateendport = None
-        """the ending port of port forwarding rule's private port range"""
-        self.publicendport = None
-        """VM guest nic Secondary ip address for the port forwarding rule"""
-        self.vmguestip = None
-        self.required = ["ipaddressid","privateport","protocol","publicport","virtualmachineid",]
-
-class createPortForwardingRuleResponse (baseResponse):
-    def __init__(self):
-        """the ID of the port forwarding rule"""
-        self.id = None
-        """the cidr list to forward traffic from"""
-        self.cidrlist = None
-        """the public ip address for the port forwarding rule"""
-        self.ipaddress = None
-        """the public ip address id for the port forwarding rule"""
-        self.ipaddressid = None
-        """the ending port of port forwarding rule's private port range"""
-        self.privateendport = None
-        """the starting port of port forwarding rule's private port range"""
-        self.privateport = None
-        """the protocol of the port forwarding rule"""
-        self.protocol = None
-        """the ending port of port forwarding rule's private port range"""
-        self.publicendport = None
-        """the starting port of port forwarding rule's public port range"""
-        self.publicport = None
-        """the state of the rule"""
-        self.state = None
-        """the VM display name for the port forwarding rule"""
-        self.virtualmachinedisplayname = None
-        """the VM ID for the port forwarding rule"""
-        self.virtualmachineid = None
-        """the VM name for the port forwarding rule"""
-        self.virtualmachinename = None
-        """the vm ip address for the port forwarding rule"""
-        self.vmguestip = None
-        """the list of resource tags associated with the rule"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createPortableIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createPortableIpRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createPortableIpRange.py
deleted file mode 100644
index 2936ec1..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createPortableIpRange.py
+++ /dev/null
@@ -1,85 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""adds a range of portable public IP's to a region"""
-from baseCmd import *
-from baseResponse import *
-class createPortableIpRangeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ending IP address in the portable IP range"""
-        """Required"""
-        self.endip = None
-        """the gateway for the portable IP range"""
-        """Required"""
-        self.gateway = None
-        """the netmask of the portable IP range"""
-        """Required"""
-        self.netmask = None
-        """Id of the Region"""
-        """Required"""
-        self.regionid = None
-        """the beginning IP address in the portable IP range"""
-        """Required"""
-        self.startip = None
-        """VLAN id, if not specified defaulted to untagged"""
-        self.vlan = None
-        self.required = ["endip","gateway","netmask","regionid","startip",]
-
-class createPortableIpRangeResponse (baseResponse):
-    def __init__(self):
-        """portable IP range ID"""
-        self.id = None
-        """the end ip of the portable IP range"""
-        self.endip = None
-        """the gateway of the VLAN IP range"""
-        self.gateway = None
-        """the netmask of the VLAN IP range"""
-        self.netmask = None
-        """Region Id in which portable ip range is provisioned"""
-        self.regionid = None
-        """the start ip of the portable IP range"""
-        self.startip = None
-        """the ID or VID of the VLAN."""
-        self.vlan = None
-        """List of portable IP and association with zone/network/vpc details that are part of GSLB rule"""
-        self.portableipaddress = []
-
-class portableipaddress:
-    def __init__(self):
-        """"the account ID the portable IP address is associated with"""
-        self.accountid = None
-        """"date the portal IP address was acquired"""
-        self.allocated = None
-        """"the domain ID the portable IP address is associated with"""
-        self.domainid = None
-        """"public IP address"""
-        self.ipaddress = None
-        """"the ID of the Network where ip belongs to"""
-        self.networkid = None
-        """"the physical network this belongs to"""
-        self.physicalnetworkid = None
-        """"Region Id in which global load balancer is created"""
-        self.regionid = None
-        """"State of the ip address. Can be: Allocatin, Allocated and Releasing"""
-        self.state = None
-        """"VPC the ip belongs to"""
-        self.vpcid = None
-        """"the ID of the zone the public IP address belongs to"""
-        self.zoneid = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createPrivateGateway.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createPrivateGateway.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createPrivateGateway.py
deleted file mode 100644
index 3759a98..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createPrivateGateway.py
+++ /dev/null
@@ -1,86 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a private gateway"""
-from baseCmd import *
-from baseResponse import *
-class createPrivateGatewayCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the gateway of the Private gateway"""
-        """Required"""
-        self.gateway = None
-        """the IP address of the Private gateaway"""
-        """Required"""
-        self.ipaddress = None
-        """the netmask of the Private gateway"""
-        """Required"""
-        self.netmask = None
-        """the network implementation uri for the private gateway"""
-        """Required"""
-        self.vlan = None
-        """the VPC network belongs to"""
-        """Required"""
-        self.vpcid = None
-        """the ID of the network ACL"""
-        self.aclid = None
-        """the uuid of the network offering to use for the private gateways network connection"""
-        self.networkofferingid = None
-        """the Physical Network ID the network belongs to"""
-        self.physicalnetworkid = None
-        """source NAT supported value. Default value false. If 'true' source NAT is enabled on the private gateway 'false': sourcenat is not supported"""
-        self.sourcenatsupported = None
-        self.required = ["gateway","ipaddress","netmask","vlan","vpcid",]
-
-class createPrivateGatewayResponse (baseResponse):
-    def __init__(self):
-        """the id of the private gateway"""
-        self.id = None
-        """the account associated with the private gateway"""
-        self.account = None
-        """ACL Id set for private gateway"""
-        self.aclid = None
-        """the domain associated with the private gateway"""
-        self.domain = None
-        """the ID of the domain associated with the private gateway"""
-        self.domainid = None
-        """the gateway"""
-        self.gateway = None
-        """the private gateway's ip address"""
-        self.ipaddress = None
-        """the private gateway's netmask"""
-        self.netmask = None
-        """the physical network id"""
-        self.physicalnetworkid = None
-        """the project name of the private gateway"""
-        self.project = None
-        """the project id of the private gateway"""
-        self.projectid = None
-        """Souce Nat enable status"""
-        self.sourcenatsupported = None
-        """State of the gateway, can be Creating, Ready, Deleting"""
-        self.state = None
-        """the network implementation uri for the private gateway"""
-        self.vlan = None
-        """VPC the private gateaway belongs to"""
-        self.vpcid = None
-        """zone id of the private gateway"""
-        self.zoneid = None
-        """the name of the zone the private gateway belongs to"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createProject.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createProject.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createProject.py
deleted file mode 100644
index e4afd5e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createProject.py
+++ /dev/null
@@ -1,148 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a project"""
-from baseCmd import *
-from baseResponse import *
-class createProjectCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """display text of the project"""
-        """Required"""
-        self.displaytext = None
-        """name of the project"""
-        """Required"""
-        self.name = None
-        """account who will be Admin for the project"""
-        self.account = None
-        """domain ID of the account owning a project"""
-        self.domainid = None
-        self.required = ["displaytext","name",]
-
-class createProjectResponse (baseResponse):
-    def __init__(self):
-        """the id of the project"""
-        self.id = None
-        """the account name of the project's owner"""
-        self.account = None
-        """the total number of cpu cores available to be created for this project"""
-        self.cpuavailable = None
-        """the total number of cpu cores the project can own"""
-        self.cpulimit = None
-        """the total number of cpu cores owned by project"""
-        self.cputotal = None
-        """the displaytext of the project"""
-        self.displaytext = None
-        """the domain name where the project belongs to"""
-        self.domain = None
-        """the domain id the project belongs to"""
-        self.domainid = None
-        """the total number of public ip addresses available for this project to acquire"""
-        self.ipavailable = None
-        """the total number of public ip addresses this project can acquire"""
-        self.iplimit = None
-        """the total number of public ip addresses allocated for this project"""
-        self.iptotal = None
-        """the total memory (in MB) available to be created for this project"""
-        self.memoryavailable = None
-        """the total memory (in MB) the project can own"""
-        self.memorylimit = None
-        """the total memory (in MB) owned by project"""
-        self.memorytotal = None
-        """the name of the project"""
-        self.name = None
-        """the total number of networks available to be created for this project"""
-        self.networkavailable = None
-        """the total number of networks the project can own"""
-        self.networklimit = None
-        """the total number of networks owned by project"""
-        self.networktotal = None
-        """the total primary storage space (in GiB) available to be used for this project"""
-        self.primarystorageavailable = None
-        """the total primary storage space (in GiB) the project can own"""
-        self.primarystoragelimit = None
-        """the total primary storage space (in GiB) owned by project"""
-        self.primarystoragetotal = None
-        """the total secondary storage space (in GiB) available to be used for this project"""
-        self.secondarystorageavailable = None
-        """the total secondary storage space (in GiB) the project can own"""
-        self.secondarystoragelimit = None
-        """the total secondary storage space (in GiB) owned by project"""
-        self.secondarystoragetotal = None
-        """the total number of snapshots available for this project"""
-        self.snapshotavailable = None
-        """the total number of snapshots which can be stored by this project"""
-        self.snapshotlimit = None
-        """the total number of snapshots stored by this project"""
-        self.snapshottotal = None
-        """the state of the project"""
-        self.state = None
-        """the total number of templates available to be created by this project"""
-        self.templateavailable = None
-        """the total number of templates which can be created by this project"""
-        self.templatelimit = None
-        """the total number of templates which have been created by this project"""
-        self.templatetotal = None
-        """the total number of virtual machines available for this project to acquire"""
-        self.vmavailable = None
-        """the total number of virtual machines that can be deployed by this project"""
-        self.vmlimit = None
-        """the total number of virtual machines running for this project"""
-        self.vmrunning = None
-        """the total number of virtual machines stopped for this project"""
-        self.vmstopped = None
-        """the total number of virtual machines deployed by this project"""
-        self.vmtotal = None
-        """the total volume available for this project"""
-        self.volumeavailable = None
-        """the total volume which can be used by this project"""
-        self.volumelimit = None
-        """the total volume being used by this project"""
-        self.volumetotal = None
-        """the total number of vpcs available to be created for this project"""
-        self.vpcavailable = None
-        """the total number of vpcs the project can own"""
-        self.vpclimit = None
-        """the total number of vpcs owned by project"""
-        self.vpctotal = None
-        """the list of resource tags associated with vm"""
-        self.tags = []
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createRemoteAccessVpn.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createRemoteAccessVpn.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createRemoteAccessVpn.py
deleted file mode 100644
index 71f2f84..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createRemoteAccessVpn.py
+++ /dev/null
@@ -1,62 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a l2tp/ipsec remote access vpn"""
-from baseCmd import *
-from baseResponse import *
-class createRemoteAccessVpnCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """public ip address id of the vpn server"""
-        """Required"""
-        self.publicipid = None
-        """an optional account for the VPN. Must be used with domainId."""
-        self.account = None
-        """an optional domainId for the VPN. If the account parameter is used, domainId must also be used."""
-        self.domainid = None
-        """the range of ip addresses to allocate to vpn clients. The first ip in the range will be taken by the vpn server"""
-        self.iprange = None
-        """if true, firewall rule for source/end pubic port is automatically created; if false - firewall rule has to be created explicitely. Has value true by default"""
-        self.openfirewall = None
-        self.required = ["publicipid",]
-
-class createRemoteAccessVpnResponse (baseResponse):
-    def __init__(self):
-        """the id of the remote access vpn"""
-        self.id = None
-        """the account of the remote access vpn"""
-        self.account = None
-        """the domain name of the account of the remote access vpn"""
-        self.domain = None
-        """the domain id of the account of the remote access vpn"""
-        self.domainid = None
-        """the range of ips to allocate to the clients"""
-        self.iprange = None
-        """the ipsec preshared key"""
-        self.presharedkey = None
-        """the project name of the vpn"""
-        self.project = None
-        """the project id of the vpn"""
-        self.projectid = None
-        """the public ip address of the vpn server"""
-        self.publicip = None
-        """the public ip address of the vpn server"""
-        self.publicipid = None
-        """the state of the rule"""
-        self.state = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createSSHKeyPair.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createSSHKeyPair.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createSSHKeyPair.py
deleted file mode 100644
index 9415566..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createSSHKeyPair.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Create a new keypair and returns the private key"""
-from baseCmd import *
-from baseResponse import *
-class createSSHKeyPairCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Name of the keypair"""
-        """Required"""
-        self.name = None
-        """an optional account for the ssh key. Must be used with domainId."""
-        self.account = None
-        """an optional domainId for the ssh key. If the account parameter is used, domainId must also be used."""
-        self.domainid = None
-        """an optional project for the ssh key"""
-        self.projectid = None
-        self.required = ["name",]
-
-class createSSHKeyPairResponse (baseResponse):
-    def __init__(self):
-        """Fingerprint of the public key"""
-        self.fingerprint = None
-        """Name of the keypair"""
-        self.name = None
-        """Private key"""
-        self.privatekey = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createSecondaryStagingStore.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createSecondaryStagingStore.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createSecondaryStagingStore.py
deleted file mode 100644
index 74fea7f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createSecondaryStagingStore.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""create secondary staging store."""
-from baseCmd import *
-from baseResponse import *
-class createSecondaryStagingStoreCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the URL for the staging store"""
-        """Required"""
-        self.url = None
-        """the details for the staging store"""
-        self.details = []
-        """the staging store provider name"""
-        self.provider = None
-        """the scope of the staging store: zone only for now"""
-        self.scope = None
-        """the Zone ID for the staging store"""
-        self.zoneid = None
-        self.required = ["url",]
-
-class createSecondaryStagingStoreResponse (baseResponse):
-    def __init__(self):
-        """the ID of the image store"""
-        self.id = None
-        """the details of the image store"""
-        self.details = None
-        """the name of the image store"""
-        self.name = None
-        """the protocol of the image store"""
-        self.protocol = None
-        """the provider name of the image store"""
-        self.providername = None
-        """the scope of the image store"""
-        self.scope = None
-        """the url of the image store"""
-        self.url = None
-        """the Zone ID of the image store"""
-        self.zoneid = None
-        """the Zone name of the image store"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createSecurityGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createSecurityGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createSecurityGroup.py
deleted file mode 100644
index 321431c..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createSecurityGroup.py
+++ /dev/null
@@ -1,131 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a security group"""
-from baseCmd import *
-from baseResponse import *
-class createSecurityGroupCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """name of the security group"""
-        """Required"""
-        self.name = None
-        """an optional account for the security group. Must be used with domainId."""
-        self.account = None
-        """the description of the security group"""
-        self.description = None
-        """an optional domainId for the security group. If the account parameter is used, domainId must also be used."""
-        self.domainid = None
-        """Create security group for project"""
-        self.projectid = None
-        self.required = ["name",]
-
-class createSecurityGroupResponse (baseResponse):
-    def __init__(self):
-        """the ID of the security group"""
-        self.id = None
-        """the account owning the security group"""
-        self.account = None
-        """the description of the security group"""
-        self.description = None
-        """the domain name of the security group"""
-        self.domain = None
-        """the domain ID of the security group"""
-        self.domainid = None
-        """the name of the security group"""
-        self.name = None
-        """the project name of the group"""
-        self.project = None
-        """the project id of the group"""
-        self.projectid = None
-        """the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """the list of resource tags associated with the rule"""
-        self.tags = []
-        """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
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/createServiceOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createServiceOffering.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createServiceOffering.py
deleted file mode 100644
index a9f4f73..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/createServiceOffering.py
+++ /dev/null
@@ -1,151 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Creates a service offering."""
-from baseCmd import *
-from baseResponse import *
-class createServiceOfferingCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the CPU number of the service offering"""
-        """Required"""
-        self.cpunumber = None
-        """the CPU speed of the service offering in MHz."""
-        """Required"""
-        self.cpuspeed = None
-        """the display text of the service offering"""
-        """Required"""
-        self.displaytext = None
-        """the total memory of the service offering in MB"""
-        """Required"""
-        self.memory = None
-        """the name of the service offering"""
-        """Required"""
-        self.name = None
-        """bytes read rate of the disk offering"""
-        self.bytesreadrate = None
-        """bytes write rate of the disk offering"""
-        self.byteswriterate = None
-        """The deployment planner heuristics used to deploy a VM of this offering. If null, value of global config vm.deployment.planner is used"""
-        self.deploymentplanner = None
-        """the ID of the containing domain, null for public offerings"""
-        self.domainid = None
-        """the host tag for this service offering."""
-        self.hosttags = None
-        """io requests read rate of the disk offering"""
-        self.iopsreadrate = None
-        """io requests write rate of the disk offering"""
-        self.iopswriterate = None
-        """is this a system vm offering"""
-        self.issystem = None
-        """true if the virtual machine needs to be volatile so that on every reboot of VM, original root disk is dettached then destroyed and a fresh root disk is created and attached to VM"""
-        self.isvolatile = None
-        """restrict the CPU usage to committed service offering"""
-        self.limitcpuuse = None
-        """data transfer rate in megabits per second allowed. Supported only for non-System offering and system offerings having "domainrouter" systemvmtype"""
-        self.networkrate = None
-        """the HA for the service offering"""
-        self.offerha = None
-        """details for planner, used to store specific parameters"""
-        self.serviceofferingdetails = []
-        """the storage type of the service offering. Values are local and shared."""
-        self.storagetype = None
-        """the system VM type. Possible types are "domainrouter", "consoleproxy" and "secondarystoragevm"."""
-        self.systemvmtype = None
-        """the tags for this service offering."""
-        self.tags = None
-        self.required = ["cpunumber","cpuspeed","displaytext","memory","name",]
-
-class createServiceOfferingResponse (baseResponse):
-    def __init__(self):
-        """the id of the service offering"""
-        self.id = None
-        """the number of CPU"""
-        self.cpunumber = None
-        """the clock rate CPU speed in Mhz"""
-        self.cpuspeed = None
-        """the date this service offering was created"""
-        self.created = None
-        """is this a  default system vm offering"""
-        self.defaultuse = None
-        """deployment strategy used to deploy VM."""
-        self.deploymentplanner = None
-        """bytes read rate of the service offering"""
-        self.diskBytesReadRate = None
-        """bytes write rate of the service offering"""
-        self.diskBytesWriteRate = None
-        """io requests read rate of the service offering"""
-        self.diskIopsReadRate = None
-        """io requests write rate of the service offering"""
-        self.diskIopsWriteRate = None
-        """an alternate display text of the service offering."""
-        self.displaytext = None
-        """Domain name for the offering"""
-        self.domain = None
-        """the domain id of the service offering"""
-        self.domainid = None
-        """the host tag for the service offering"""
-        self.hosttags = None
-        """is this a system vm offering"""
-        self.issystem = None
-        """true if the vm needs to be volatile, i.e., on every reboot of vm from API root disk is discarded and creates a new root disk"""
-        self.isvolatile = None
-        """restrict the CPU usage to committed service offering"""
-        self.limitcpuuse = None
-        """the memory in MB"""
-        self.memory = None
-        """the name of the service offering"""
-        self.name = None
-        """data transfer rate in megabits per second allowed."""
-        self.networkrate = None
-        """the ha support in the service offering"""
-        self.offerha = None
-        """additional key/value details tied with this service offering"""
-        self.serviceofferingdetails = None
-        """the storage type for this service offering"""
-        self.storagetype = None
-        """is this a the systemvm type for system vm offering"""
-        self.systemvmtype = None
-        """the tags for the service offering"""
-        self.tags = None
-        """the list of resource tags associated with service offering. The resource tags are not used for Volume/VM placement on the specific host."""
-        self.resourcetags = []
-
-class resourcetags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-


[19/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/destroyVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/destroyVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/destroyVirtualMachine.py
deleted file mode 100644
index 6a33ce0..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/destroyVirtualMachine.py
+++ /dev/null
@@ -1,369 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Destroys a virtual machine. Once destroyed, only the administrator can recover it."""
-from baseCmd import *
-from baseResponse import *
-class destroyVirtualMachineCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the virtual machine"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class destroyVirtualMachineResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/detachIso.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/detachIso.py b/tools/marvin/build/lib/marvin/cloudstackAPI/detachIso.py
deleted file mode 100644
index d445d51..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/detachIso.py
+++ /dev/null
@@ -1,369 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Detaches any ISO file (if any) currently attached to a virtual machine."""
-from baseCmd import *
-from baseResponse import *
-class detachIsoCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The ID of the virtual machine"""
-        """Required"""
-        self.virtualmachineid = None
-        self.required = ["virtualmachineid",]
-
-class detachIsoResponse (baseResponse):
-    def __init__(self):
-        """the ID of the virtual machine"""
-        self.id = None
-        """the account associated with the virtual machine"""
-        self.account = None
-        """the number of cpu this virtual machine is running with"""
-        self.cpunumber = None
-        """the speed of each cpu"""
-        self.cpuspeed = None
-        """the amount of the vm's CPU currently used"""
-        self.cpuused = None
-        """the date when this virtual machine was created"""
-        self.created = None
-        """the read (io) of disk on the vm"""
-        self.diskioread = None
-        """the write (io) of disk on the vm"""
-        self.diskiowrite = None
-        """the read (bytes) of disk on the vm"""
-        self.diskkbsread = None
-        """the write (bytes) of disk on the vm"""
-        self.diskkbswrite = None
-        """user generated name. The name of the virtual machine is returned if no displayname exists."""
-        self.displayname = None
-        """an optional field whether to the display the vm to the end user or not."""
-        self.displayvm = None
-        """the name of the domain in which the virtual machine exists"""
-        self.domain = None
-        """the ID of the domain in which the virtual machine exists"""
-        self.domainid = None
-        """the virtual network for the service offering"""
-        self.forvirtualnetwork = None
-        """the group name of the virtual machine"""
-        self.group = None
-        """the group ID of the virtual machine"""
-        self.groupid = None
-        """Os type ID of the virtual machine"""
-        self.guestosid = None
-        """true if high-availability is enabled, false otherwise"""
-        self.haenable = None
-        """the ID of the host for the virtual machine"""
-        self.hostid = None
-        """the name of the host for the virtual machine"""
-        self.hostname = None
-        """the hypervisor on which the template runs"""
-        self.hypervisor = None
-        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
-        self.instancename = None
-        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
-        self.isdynamicallyscalable = None
-        """an alternate display text of the ISO attached to the virtual machine"""
-        self.isodisplaytext = None
-        """the ID of the ISO attached to the virtual machine"""
-        self.isoid = None
-        """the name of the ISO attached to the virtual machine"""
-        self.isoname = None
-        """ssh key-pair"""
-        self.keypair = None
-        """the memory allocated for the virtual machine"""
-        self.memory = None
-        """the name of the virtual machine"""
-        self.name = None
-        """the incoming network traffic on the vm"""
-        self.networkkbsread = None
-        """the outgoing network traffic on the host"""
-        self.networkkbswrite = None
-        """the password (if exists) of the virtual machine"""
-        self.password = None
-        """true if the password rest feature is enabled, false otherwise"""
-        self.passwordenabled = None
-        """the project name of the vm"""
-        self.project = None
-        """the project id of the vm"""
-        self.projectid = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicip = None
-        """public IP address id associated with vm via Static nat rule"""
-        self.publicipid = None
-        """device ID of the root volume"""
-        self.rootdeviceid = None
-        """device type of the root volume"""
-        self.rootdevicetype = None
-        """the ID of the service offering of the virtual machine"""
-        self.serviceofferingid = None
-        """the name of the service offering of the virtual machine"""
-        self.serviceofferingname = None
-        """State of the Service from LB rule"""
-        self.servicestate = None
-        """the state of the virtual machine"""
-        self.state = None
-        """an alternate display text of the template for the virtual machine"""
-        self.templatedisplaytext = None
-        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
-        self.templateid = None
-        """the name of the template for the virtual machine"""
-        self.templatename = None
-        """the ID of the availablility zone for the virtual machine"""
-        self.zoneid = None
-        """the name of the availability zone for the virtual machine"""
-        self.zonename = None
-        """list of affinity groups associated with the virtual machine"""
-        self.affinitygroup = []
-        """the list of nics associated with vm"""
-        self.nic = []
-        """list of security groups associated with the virtual machine"""
-        self.securitygroup = []
-        """the list of resource tags associated with vm"""
-        self.tags = []
-        """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
-
-class affinitygroup:
-    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
-
-class nic:
-    def __init__(self):
-        """"the ID of the nic"""
-        self.id = None
-        """"the broadcast uri of the nic"""
-        self.broadcasturi = None
-        """"the gateway of the nic"""
-        self.gateway = None
-        """"the IPv6 address of network"""
-        self.ip6address = None
-        """"the cidr of IPv6 network"""
-        self.ip6cidr = None
-        """"the gateway of IPv6 network"""
-        self.ip6gateway = None
-        """"the ip address of the nic"""
-        self.ipaddress = None
-        """"true if nic is default, false otherwise"""
-        self.isdefault = None
-        """"the isolation uri of the nic"""
-        self.isolationuri = None
-        """"true if nic is default, false otherwise"""
-        self.macaddress = None
-        """"the netmask of the nic"""
-        self.netmask = None
-        """"the ID of the corresponding network"""
-        self.networkid = None
-        """"the name of the corresponding network"""
-        self.networkname = None
-        """"the Secondary ipv4 addr of nic"""
-        self.secondaryip = None
-        """"the traffic type of the nic"""
-        self.traffictype = None
-        """"the type of the nic"""
-        self.type = None
-
-class egressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class ingressrule:
-    def __init__(self):
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-
-class securitygroup:
-    def __init__(self):
-        """"the ID of the security group"""
-        self.id = None
-        """"the account owning the security group"""
-        self.account = None
-        """"the description of the security group"""
-        self.description = None
-        """"the domain name of the security group"""
-        self.domain = None
-        """"the domain ID of the security group"""
-        self.domainid = None
-        """"the name of the security group"""
-        self.name = None
-        """"the project name of the group"""
-        self.project = None
-        """"the project id of the group"""
-        self.projectid = None
-        """"the list of egress rules associated with the security group"""
-        self.egressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of ingress rules associated with the security group"""
-        self.ingressrule = []
-        """"account owning the security group rule"""
-        self.account = None
-        """"the CIDR notation for the base IP address of the security group rule"""
-        self.cidr = None
-        """"the ending IP of the security group rule"""
-        self.endport = None
-        """"the code for the ICMP message response"""
-        self.icmpcode = None
-        """"the type of the ICMP message response"""
-        self.icmptype = None
-        """"the protocol of the security group rule"""
-        self.protocol = None
-        """"the id of the security group rule"""
-        self.ruleid = None
-        """"security group name"""
-        self.securitygroupname = None
-        """"the starting IP of the security group rule"""
-        self.startport = None
-        """"the list of resource tags associated with the rule"""
-        self.tags = []
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = 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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/detachVolume.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/detachVolume.py b/tools/marvin/build/lib/marvin/cloudstackAPI/detachVolume.py
deleted file mode 100644
index 31e1c9a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/detachVolume.py
+++ /dev/null
@@ -1,146 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Detaches a disk volume from a virtual machine."""
-from baseCmd import *
-from baseResponse import *
-class detachVolumeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the device ID on the virtual machine where volume is detached from"""
-        self.deviceid = None
-        """the ID of the disk volume"""
-        self.id = None
-        """the ID of the virtual machine where the volume is detached from"""
-        self.virtualmachineid = None
-        self.required = []
-
-class detachVolumeResponse (baseResponse):
-    def __init__(self):
-        """ID of the disk volume"""
-        self.id = None
-        """the account associated with the disk volume"""
-        self.account = None
-        """the date the volume was attached to a VM instance"""
-        self.attached = None
-        """the date the disk volume was created"""
-        self.created = None
-        """the boolean state of whether the volume is destroyed or not"""
-        self.destroyed = None
-        """the ID of the device on user vm the volume is attahed to. This tag is not returned when the volume is detached."""
-        self.deviceid = None
-        """bytes read rate of the disk volume"""
-        self.diskBytesReadRate = None
-        """bytes write rate of the disk volume"""
-        self.diskBytesWriteRate = None
-        """io requests read rate of the disk volume"""
-        self.diskIopsReadRate = None
-        """io requests write rate of the disk volume"""
-        self.diskIopsWriteRate = None
-        """the display text of the disk offering"""
-        self.diskofferingdisplaytext = None
-        """ID of the disk offering"""
-        self.diskofferingid = None
-        """name of the disk offering"""
-        self.diskofferingname = None
-        """an optional field whether to the display the volume to the end user or not."""
-        self.displayvolume = None
-        """the domain associated with the disk volume"""
-        self.domain = None
-        """the ID of the domain associated with the disk volume"""
-        self.domainid = None
-        """Hypervisor the volume belongs to"""
-        self.hypervisor = None
-        """true if the volume is extractable, false otherwise"""
-        self.isextractable = None
-        """max iops of the disk volume"""
-        self.maxiops = None
-        """min iops of the disk volume"""
-        self.miniops = None
-        """name of the disk volume"""
-        self.name = None
-        """The path of the volume"""
-        self.path = None
-        """the project name of the vpn"""
-        self.project = None
-        """the project id of the vpn"""
-        self.projectid = None
-        """the display text of the service offering for root disk"""
-        self.serviceofferingdisplaytext = None
-        """ID of the service offering for root disk"""
-        self.serviceofferingid = None
-        """name of the service offering for root disk"""
-        self.serviceofferingname = None
-        """size of the disk volume"""
-        self.size = None
-        """ID of the snapshot from which this volume was created"""
-        self.snapshotid = None
-        """the state of the disk volume"""
-        self.state = None
-        """the status of the volume"""
-        self.status = None
-        """name of the primary storage hosting the disk volume"""
-        self.storage = None
-        """id of the primary storage hosting the disk volume; returned to admin user only"""
-        self.storageid = None
-        """shared or local storage"""
-        self.storagetype = None
-        """type of the disk volume (ROOT or DATADISK)"""
-        self.type = None
-        """id of the virtual machine"""
-        self.virtualmachineid = None
-        """display name of the virtual machine"""
-        self.vmdisplayname = None
-        """name of the virtual machine"""
-        self.vmname = None
-        """state of the virtual machine"""
-        self.vmstate = None
-        """ID of the availability zone"""
-        self.zoneid = None
-        """name of the availability zone"""
-        self.zonename = None
-        """the list of resource tags associated with volume"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/disableAccount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/disableAccount.py b/tools/marvin/build/lib/marvin/cloudstackAPI/disableAccount.py
deleted file mode 100644
index b8d513a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/disableAccount.py
+++ /dev/null
@@ -1,179 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Disables an account"""
-from baseCmd import *
-from baseResponse import *
-class disableAccountCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """If true, only lock the account; else disable the account"""
-        """Required"""
-        self.lock = None
-        """Disables specified account."""
-        self.account = None
-        """Disables specified account in this domain."""
-        self.domainid = None
-        """Account id"""
-        self.id = None
-        self.required = ["lock",]
-
-class disableAccountResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/disableAutoScaleVmGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/disableAutoScaleVmGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/disableAutoScaleVmGroup.py
deleted file mode 100644
index 5b455a3..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/disableAutoScaleVmGroup.py
+++ /dev/null
@@ -1,60 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Disables an AutoScale Vm Group"""
-from baseCmd import *
-from baseResponse import *
-class disableAutoScaleVmGroupCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the autoscale group"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class disableAutoScaleVmGroupResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/disableStaticNat.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/disableStaticNat.py b/tools/marvin/build/lib/marvin/cloudstackAPI/disableStaticNat.py
deleted file mode 100644
index 611dc3f..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/disableStaticNat.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Disables static rule for given ip address"""
-from baseCmd import *
-from baseResponse import *
-class disableStaticNatCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the public IP address id for which static nat feature is being disableed"""
-        """Required"""
-        self.ipaddressid = None
-        self.required = ["ipaddressid",]
-
-class disableStaticNatResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/disableUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/disableUser.py b/tools/marvin/build/lib/marvin/cloudstackAPI/disableUser.py
deleted file mode 100644
index 4d21760..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/disableUser.py
+++ /dev/null
@@ -1,66 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Disables a user account"""
-from baseCmd import *
-from baseResponse import *
-class disableUserCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Disables user by user ID."""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class disableUserResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/disassociateIpAddress.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/disassociateIpAddress.py b/tools/marvin/build/lib/marvin/cloudstackAPI/disassociateIpAddress.py
deleted file mode 100644
index 099401a..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/disassociateIpAddress.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Disassociates an ip address from the account."""
-from baseCmd import *
-from baseResponse import *
-class disassociateIpAddressCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the id of the public ip address to disassociate"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class disassociateIpAddressResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/enableAccount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/enableAccount.py b/tools/marvin/build/lib/marvin/cloudstackAPI/enableAccount.py
deleted file mode 100644
index b9099d6..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/enableAccount.py
+++ /dev/null
@@ -1,176 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Enables an account"""
-from baseCmd import *
-from baseResponse import *
-class enableAccountCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Enables specified account."""
-        self.account = None
-        """Enables specified account in this domain."""
-        self.domainid = None
-        """Account id"""
-        self.id = None
-        self.required = []
-
-class enableAccountResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/enableAutoScaleVmGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/enableAutoScaleVmGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/enableAutoScaleVmGroup.py
deleted file mode 100644
index cb4e6bd..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/enableAutoScaleVmGroup.py
+++ /dev/null
@@ -1,60 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Enables an AutoScale Vm Group"""
-from baseCmd import *
-from baseResponse import *
-class enableAutoScaleVmGroupCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the autoscale group"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class enableAutoScaleVmGroupResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/enableStaticNat.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/enableStaticNat.py b/tools/marvin/build/lib/marvin/cloudstackAPI/enableStaticNat.py
deleted file mode 100644
index be859fc..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/enableStaticNat.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Enables static nat for given ip address"""
-from baseCmd import *
-from baseResponse import *
-class enableStaticNatCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the public IP address id for which static nat feature is being enabled"""
-        """Required"""
-        self.ipaddressid = None
-        """the ID of the virtual machine for enabling static nat feature"""
-        """Required"""
-        self.virtualmachineid = None
-        """The network of the vm the static nat will be enabled for. Required when public Ip address is not associated with any Guest network yet (VPC case)"""
-        self.networkid = None
-        """VM guest nic Secondary ip address for the port forwarding rule"""
-        self.vmguestip = None
-        self.required = ["ipaddressid","virtualmachineid",]
-
-class enableStaticNatResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/enableStorageMaintenance.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/enableStorageMaintenance.py b/tools/marvin/build/lib/marvin/cloudstackAPI/enableStorageMaintenance.py
deleted file mode 100644
index 6eba6d9..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/enableStorageMaintenance.py
+++ /dev/null
@@ -1,78 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Puts storage pool into maintenance state"""
-from baseCmd import *
-from baseResponse import *
-class enableStorageMaintenanceCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """Primary storage ID"""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class enableStorageMaintenanceResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/enableUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/enableUser.py b/tools/marvin/build/lib/marvin/cloudstackAPI/enableUser.py
deleted file mode 100644
index 7aaa503..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/enableUser.py
+++ /dev/null
@@ -1,66 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Enables a user account"""
-from baseCmd import *
-from baseResponse import *
-class enableUserCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """Enables user by user ID."""
-        """Required"""
-        self.id = None
-        self.required = ["id",]
-
-class enableUserResponse (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/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/extractIso.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/extractIso.py b/tools/marvin/build/lib/marvin/cloudstackAPI/extractIso.py
deleted file mode 100644
index 56f9665..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/extractIso.py
+++ /dev/null
@@ -1,65 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Extracts an ISO"""
-from baseCmd import *
-from baseResponse import *
-class extractIsoCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the ISO file"""
-        """Required"""
-        self.id = None
-        """the mode of extraction - HTTP_DOWNLOAD or FTP_UPLOAD"""
-        """Required"""
-        self.mode = None
-        """the url to which the ISO would be extracted"""
-        self.url = None
-        """the ID of the zone where the ISO is originally located"""
-        self.zoneid = None
-        self.required = ["id","mode",]
-
-class extractIsoResponse (baseResponse):
-    def __init__(self):
-        """the id of extracted object"""
-        self.id = None
-        """the account id to which the extracted object belongs"""
-        self.accountid = None
-        """the time and date the object was created"""
-        self.created = None
-        """the upload id of extracted object"""
-        self.extractId = None
-        """the mode of extraction - upload or download"""
-        self.extractMode = None
-        """the name of the extracted object"""
-        self.name = None
-        """the state of the extracted object"""
-        self.state = None
-        """the status of the extraction"""
-        self.status = None
-        """type of the storage"""
-        self.storagetype = None
-        """the percentage of the entity uploaded to the specified location"""
-        self.uploadpercentage = None
-        """if mode = upload then url of the uploaded entity. if mode = download the url from which the entity can be downloaded"""
-        self.url = None
-        """zone ID the object was extracted from"""
-        self.zoneid = None
-        """zone name the object was extracted from"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/extractTemplate.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/extractTemplate.py b/tools/marvin/build/lib/marvin/cloudstackAPI/extractTemplate.py
deleted file mode 100644
index f27c09e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/extractTemplate.py
+++ /dev/null
@@ -1,65 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Extracts a template"""
-from baseCmd import *
-from baseResponse import *
-class extractTemplateCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the template"""
-        """Required"""
-        self.id = None
-        """the mode of extraction - HTTP_DOWNLOAD or FTP_UPLOAD"""
-        """Required"""
-        self.mode = None
-        """the url to which the ISO would be extracted"""
-        self.url = None
-        """the ID of the zone where the ISO is originally located"""
-        self.zoneid = None
-        self.required = ["id","mode",]
-
-class extractTemplateResponse (baseResponse):
-    def __init__(self):
-        """the id of extracted object"""
-        self.id = None
-        """the account id to which the extracted object belongs"""
-        self.accountid = None
-        """the time and date the object was created"""
-        self.created = None
-        """the upload id of extracted object"""
-        self.extractId = None
-        """the mode of extraction - upload or download"""
-        self.extractMode = None
-        """the name of the extracted object"""
-        self.name = None
-        """the state of the extracted object"""
-        self.state = None
-        """the status of the extraction"""
-        self.status = None
-        """type of the storage"""
-        self.storagetype = None
-        """the percentage of the entity uploaded to the specified location"""
-        self.uploadpercentage = None
-        """if mode = upload then url of the uploaded entity. if mode = download the url from which the entity can be downloaded"""
-        self.url = None
-        """zone ID the object was extracted from"""
-        self.zoneid = None
-        """zone name the object was extracted from"""
-        self.zonename = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/extractVolume.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/extractVolume.py b/tools/marvin/build/lib/marvin/cloudstackAPI/extractVolume.py
deleted file mode 100644
index 9596a81..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/extractVolume.py
+++ /dev/null
@@ -1,66 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Extracts volume"""
-from baseCmd import *
-from baseResponse import *
-class extractVolumeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the ID of the volume"""
-        """Required"""
-        self.id = None
-        """the mode of extraction - HTTP_DOWNLOAD or FTP_UPLOAD"""
-        """Required"""
-        self.mode = None
-        """the ID of the zone where the volume is located"""
-        """Required"""
-        self.zoneid = None
-        """the url to which the volume would be extracted"""
-        self.url = None
-        self.required = ["id","mode","zoneid",]
-
-class extractVolumeResponse (baseResponse):
-    def __init__(self):
-        """the id of extracted object"""
-        self.id = None
-        """the account id to which the extracted object belongs"""
-        self.accountid = None
-        """the time and date the object was created"""
-        self.created = None
-        """the upload id of extracted object"""
-        self.extractId = None
-        """the mode of extraction - upload or download"""
-        self.extractMode = None
-        """the name of the extracted object"""
-        self.name = None
-        """the state of the extracted object"""
-        self.state = None
-        """the status of the extraction"""
-        self.status = None
-        """type of the storage"""
-        self.storagetype = None
-        """the percentage of the entity uploaded to the specified location"""
-        self.uploadpercentage = None
-        """if mode = upload then url of the uploaded entity. if mode = download the url from which the entity can be downloaded"""
-        self.url = None
-        """zone ID the object was extracted from"""
-        self.zoneid = None
-        """zone name the object was extracted from"""
-        self.zonename = None
-


[04/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/deployAndRun.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/deployAndRun.py b/tools/marvin/build/lib/marvin/deployAndRun.py
deleted file mode 100644
index 8a758a1..0000000
--- a/tools/marvin/build/lib/marvin/deployAndRun.py
+++ /dev/null
@@ -1,96 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import deployDataCenter
-import TestCaseExecuteEngine
-import sys
-from argparse import ArgumentParser
-if __name__ == "__main__":
-
-    parser = ArgumentParser()
-
-    parser.add_argument("-d", "--directory", dest="testCaseFolder",
-                        help="the test case directory")
-    parser.add_argument("-f", "--file", dest="module",
-                        help="run tests in the given file")
-    parser.add_argument("-r", "--result", dest="result",
-                        help="test result log file", default='/tmp/t.log')
-    parser.add_argument("-t", "--client", dest="testcaselog",
-                        help="test case log file", default='/tmp/r.log')
-    parser.add_argument("-c", "--config", action="store",
-                        default="./datacenterCfg", dest="config",
-                        help="the path where the json config file generated,\
- by default is ./datacenterCfg")
-    parser.add_argument("-l", "--load", dest="load", action="store_true",
-                        help="only load config, do not deploy,\
- it will only run testcase")
-    parser.add_argument("-n", "--num", dest="number",
-                        help="how many times you want run the test case")
-
-    options = parser.parse_args()
-
-    testResultLogFile = None
-    if options.result is not None:
-        testResultLogFile = options.result
-
-    testCaseLogFile = None
-    if options.testcaselog is not None:
-        testCaseLogFile = options.testcaselog
-    deploy = deployDataCenter.deployDataCenters(options.config)
-    if options.load:
-        deploy.loadCfg()
-    else:
-        deploy.deploy()
-    iterates = 1
-    if options.number is not None:
-        if options.number == "loop":
-            iterates = sys.maxint
-        else:
-            try:
-                iterates = int(options.number)
-            except:
-                iterates = 1
-
-    if options.testCaseFolder is None:
-        if options.module is None:
-            parser.print_usage()
-            exit(1)
-        else:
-            n = 0
-            while(n < iterates):
-                engine = \
-                    TestCaseExecuteEngine.TestCaseExecuteEngine(
-                        deploy.testClient,
-                        deploy.getCfg(
-                        ),
-                        testCaseLogFile,
-                        testResultLogFile)
-                engine.loadTestsFromFile(options.module)
-                engine.run()
-                n = n + 1
-    else:
-        n = 0
-        while(n < iterates):
-            engine = TestCaseExecuteEngine.TestCaseExecuteEngine(
-                deploy.testClient,
-                deploy.getCfg(
-                ),
-                testCaseLogFile,
-                testResultLogFile)
-            engine.loadTestsFromDir(options.testCaseFolder)
-            engine.run()
-            n = n + 1

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/deployDataCenter.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/deployDataCenter.py b/tools/marvin/build/lib/marvin/deployDataCenter.py
deleted file mode 100644
index beed8c8..0000000
--- a/tools/marvin/build/lib/marvin/deployDataCenter.py
+++ /dev/null
@@ -1,625 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-"""Deploy datacenters according to a json configuration file"""
-import configGenerator
-import cloudstackException
-import cloudstackTestClient
-import logging
-from cloudstackAPI import *
-from os import path
-from time import sleep
-from optparse import OptionParser
-
-
-class deployDataCenters(object):
-
-    def __init__(self, cfgFile):
-        if not path.exists(cfgFile) \
-           and not path.exists(path.abspath(cfgFile)):
-            raise IOError("config file %s not found. please \
-specify a valid config file" % cfgFile)
-        self.configFile = cfgFile
-
-    def addHosts(self, hosts, zoneId, podId, clusterId, hypervisor):
-        if hosts is None:
-            return
-        for host in hosts:
-            hostcmd = addHost.addHostCmd()
-            hostcmd.clusterid = clusterId
-            hostcmd.cpunumber = host.cpunumer
-            hostcmd.cpuspeed = host.cpuspeed
-            hostcmd.hostmac = host.hostmac
-            hostcmd.hosttags = host.hosttags
-            hostcmd.hypervisor = host.hypervisor
-            hostcmd.memory = host.memory
-            hostcmd.password = host.password
-            hostcmd.podid = podId
-            hostcmd.url = host.url
-            hostcmd.username = host.username
-            hostcmd.zoneid = zoneId
-            hostcmd.hypervisor = hypervisor
-            self.apiClient.addHost(hostcmd)
-
-    def addVmWareDataCenter(self, vmwareDc):
-        vdc = addVmwareDc.addVmwareDcCmd()
-        vdc.zoneid = vmwareDc.zoneid
-        vdc.name = vmwareDc.name
-        vdc.vcenter = vmwareDc.vcenter
-        vdc.username = vmwareDc.username
-        vdc.password = vmwareDc.password
-        self.apiClient.addVmwareDc(vdc)
-
-    def createClusters(self, clusters, zoneId, podId, vmwareDc=None):
-        if clusters is None:
-            return
-
-        if vmwareDc is not None:
-            vmwareDc.zoneid = zoneId
-            self.addVmWareDataCenter(vmwareDc)
-
-        for cluster in clusters:
-            clustercmd = addCluster.addClusterCmd()
-            clustercmd.clustername = cluster.clustername
-            clustercmd.clustertype = cluster.clustertype
-            clustercmd.hypervisor = cluster.hypervisor
-            clustercmd.password = cluster.password
-            clustercmd.podid = podId
-            clustercmd.url = cluster.url
-            clustercmd.username = cluster.username
-            clustercmd.zoneid = zoneId
-            clusterresponse = self.apiClient.addCluster(clustercmd)
-            clusterId = clusterresponse[0].id
-
-            if cluster.hypervisor.lower() != "vmware":
-                self.addHosts(cluster.hosts, zoneId, podId, clusterId,
-                              cluster.hypervisor)
-            self.wait_for_host(zoneId, clusterId)
-            self.createPrimaryStorages(cluster.primaryStorages, zoneId, podId,
-                                       clusterId)
-
-    def wait_for_host(self, zoneId, clusterId):
-        """
-        Wait for the hosts in the zoneid, clusterid to be up
-
-        2 retries with 30s delay
-        """
-        retry, timeout = 2, 30
-        cmd = listHosts.listHostsCmd()
-        cmd.clusterid, cmd.zoneid = clusterId, zoneId
-        hosts = self.apiClient.listHosts(cmd)
-        while retry != 0:
-            for host in hosts:
-                if host.state != 'Up':
-                    break
-            sleep(timeout)
-            retry = retry - 1
-
-    def createPrimaryStorages(self, primaryStorages, zoneId, podId, clusterId):
-        if primaryStorages is None:
-            return
-        for primary in primaryStorages:
-            primarycmd = createStoragePool.createStoragePoolCmd()
-            primarycmd.details = primary.details
-            primarycmd.name = primary.name
-            primarycmd.podid = podId
-            primarycmd.tags = primary.tags
-            primarycmd.url = primary.url
-            primarycmd.zoneid = zoneId
-            primarycmd.clusterid = clusterId
-            self.apiClient.createStoragePool(primarycmd)
-
-    def createpods(self, pods, zoneId, networkId=None):
-        if pods is None:
-            return
-        for pod in pods:
-            createpod = createPod.createPodCmd()
-            createpod.name = pod.name
-            createpod.gateway = pod.gateway
-            createpod.netmask = pod.netmask
-            createpod.startip = pod.startip
-            createpod.endip = pod.endip
-            createpod.zoneid = zoneId
-            createpodResponse = self.apiClient.createPod(createpod)
-            podId = createpodResponse.id
-
-            if pod.guestIpRanges is not None and networkId is not None:
-                self.createVlanIpRanges("Basic", pod.guestIpRanges, zoneId,
-                                        podId, networkId)
-
-            self.createClusters(pod.clusters, zoneId, podId,
-                                vmwareDc=pod.vmwaredc)
-
-    def createVlanIpRanges(self, mode, ipranges, zoneId, podId=None,
-                           networkId=None, forvirtualnetwork=None):
-        if ipranges is None:
-            return
-        for iprange in ipranges:
-            vlanipcmd = createVlanIpRange.createVlanIpRangeCmd()
-            vlanipcmd.account = iprange.account
-            vlanipcmd.domainid = iprange.domainid
-            vlanipcmd.endip = iprange.endip
-            vlanipcmd.gateway = iprange.gateway
-            vlanipcmd.netmask = iprange.netmask
-            vlanipcmd.networkid = networkId
-            vlanipcmd.podid = podId
-            vlanipcmd.startip = iprange.startip
-            vlanipcmd.zoneid = zoneId
-            vlanipcmd.vlan = iprange.vlan
-            if mode == "Basic":
-                if forvirtualnetwork:
-                    vlanipcmd.forvirtualnetwork = "true"
-                else:
-                    vlanipcmd.forvirtualnetwork = "false"
-            else:
-                vlanipcmd.forvirtualnetwork = "true"
-            self.apiClient.createVlanIpRange(vlanipcmd)
-
-    def createSecondaryStorages(self, secondaryStorages, zoneId):
-        if secondaryStorages is None:
-            return
-        for secondary in secondaryStorages:
-            secondarycmd = addImageStore.addImageStoreCmd()
-            secondarycmd.url = secondary.url
-            secondarycmd.provider = secondary.provider
-            secondarycmd.details = []
-
-            if secondarycmd.provider == 'S3' \
-                    or secondarycmd.provider == "Swift":
-                for key, value in vars(secondary.details).iteritems():
-                    secondarycmd.details.append({
-                                                'key': key,
-                                                'value': value
-                                                })
-            if secondarycmd.provider == "NFS":
-                secondarycmd.zoneid = zoneId
-            self.apiClient.addImageStore(secondarycmd)
-
-    def createCacheStorages(self, cacheStorages, zoneId):
-        if cacheStorages is None:
-            return
-        for cache in cacheStorages:
-            cachecmd = createSecondaryStagingStore.\
-                createSecondaryStagingStoreCmd()
-            cachecmd.url = cache.url
-            cachecmd.provider = cache.provider
-            cachecmd.zoneid = zoneId
-            cachecmd.details = []
-
-            if cache.details:
-                for key, value in vars(cache.details).iteritems():
-                    cachecmd.details.append({
-                                            'key': key,
-                                            'value': value
-                                            })
-            self.apiClient.createSecondaryStagingStore(cachecmd)
-
-    def createnetworks(self, networks, zoneId):
-        if networks is None:
-            return
-        for network in networks:
-            networkcmd = createNetwork.createNetworkCmd()
-            networkcmd.displaytext = network.displaytext
-            networkcmd.name = network.name
-            networkcmd.networkofferingid = network.networkofferingid
-            networkcmd.zoneid = zoneId
-
-            ipranges = network.ipranges
-            if ipranges:
-                iprange = ipranges.pop()
-                networkcmd.startip = iprange.startip
-                networkcmd.endip = iprange.endip
-                networkcmd.gateway = iprange.gateway
-                networkcmd.netmask = iprange.netmask
-
-            networkcmdresponse = self.apiClient.createNetwork(networkcmd)
-            networkId = networkcmdresponse.id
-            return networkId
-
-    def createPhysicalNetwork(self, net, zoneid):
-        phynet = createPhysicalNetwork.createPhysicalNetworkCmd()
-        phynet.zoneid = zoneid
-        phynet.name = net.name
-        phynet.isolationmethods = net.isolationmethods
-        phynetwrk = self.apiClient.createPhysicalNetwork(phynet)
-        self.addTrafficTypes(phynetwrk.id, net.traffictypes)
-        return phynetwrk
-
-    def updatePhysicalNetwork(self, networkid, state="Enabled", vlan=None):
-        upnet = updatePhysicalNetwork.updatePhysicalNetworkCmd()
-        upnet.id = networkid
-        upnet.state = state
-        if vlan:
-            upnet.vlan = vlan
-        return self.apiClient.updatePhysicalNetwork(upnet)
-
-    def enableProvider(self, provider_id):
-        upnetprov =\
-            updateNetworkServiceProvider.updateNetworkServiceProviderCmd()
-        upnetprov.id = provider_id
-        upnetprov.state = "Enabled"
-        self.apiClient.updateNetworkServiceProvider(upnetprov)
-
-    def configureProviders(self, phynetwrk, providers):
-        """
-        We will enable the virtualrouter elements for all zones. Other
-        providers like NetScalers, SRX, etc are explicitly added/configured
-        """
-
-        for provider in providers:
-            pnetprov = listNetworkServiceProviders.\
-                listNetworkServiceProvidersCmd()
-            pnetprov.physicalnetworkid = phynetwrk.id
-            pnetprov.state = "Disabled"
-            pnetprov.name = provider.name
-            pnetprovres = self.apiClient.listNetworkServiceProviders(pnetprov)
-
-            if pnetprovres and len(pnetprovres) > 0:
-                if provider.name == 'VirtualRouter'\
-                   or provider.name == 'VpcVirtualRouter':
-                    vrprov = listVirtualRouterElements.\
-                        listVirtualRouterElementsCmd()
-                    vrprov.nspid = pnetprovres[0].id
-                    vrprovresponse = self.apiClient.\
-                        listVirtualRouterElements(vrprov)
-                    vrprovid = vrprovresponse[0].id
-
-                    vrconfig = \
-                        configureVirtualRouterElement.\
-                        configureVirtualRouterElementCmd()
-                    vrconfig.enabled = "true"
-                    vrconfig.id = vrprovid
-                    self.apiClient.configureVirtualRouterElement(vrconfig)
-                    self.enableProvider(pnetprovres[0].id)
-                elif provider.name == 'InternalLbVm':
-                    internallbprov = listInternalLoadBalancerElements.\
-                        listInternalLoadBalancerElementsCmd()
-                    internallbprov.nspid = pnetprovres[0].id
-                    internallbresponse = self.apiClient.\
-                        listInternalLoadBalancerElements(internallbprov)
-                    internallbid = internallbresponse[0].id
-
-                    internallbconfig = \
-                        configureInternalLoadBalancerElement.\
-                        configureInternalLoadBalancerElementCmd()
-                    internallbconfig.enabled = "true"
-                    internallbconfig.id = internallbid
-                    self.apiClient.\
-                        configureInternalLoadBalancerElement(internallbconfig)
-                    self.enableProvider(pnetprovres[0].id)
-                elif provider.name == 'SecurityGroupProvider':
-                    self.enableProvider(pnetprovres[0].id)
-            elif provider.name in ['Netscaler', 'JuniperSRX', 'F5BigIp']:
-                netprov = addNetworkServiceProvider.\
-                    addNetworkServiceProviderCmd()
-                netprov.name = provider.name
-                netprov.physicalnetworkid = phynetwrk.id
-                result = self.apiClient.addNetworkServiceProvider(netprov)
-                for device in provider.devices:
-                    if provider.name == 'Netscaler':
-                        dev = addNetscalerLoadBalancer.\
-                            addNetscalerLoadBalancerCmd()
-                        dev.username = device.username
-                        dev.password = device.password
-                        dev.networkdevicetype = device.networkdevicetype
-                        dev.url = configGenerator.getDeviceUrl(device)
-                        dev.physicalnetworkid = phynetwrk.id
-                        self.apiClient.addNetscalerLoadBalancer(dev)
-                    elif provider.name == 'JuniperSRX':
-                        dev = addSrxFirewall.addSrxFirewallCmd()
-                        dev.username = device.username
-                        dev.password = device.password
-                        dev.networkdevicetype = device.networkdevicetype
-                        dev.url = configGenerator.getDeviceUrl(device)
-                        dev.physicalnetworkid = phynetwrk.id
-                        self.apiClient.addSrxFirewall(dev)
-                    elif provider.name == 'F5BigIp':
-                        dev = addF5LoadBalancer.addF5LoadBalancerCmd()
-                        dev.username = device.username
-                        dev.password = device.password
-                        dev.networkdevicetype = device.networkdevicetype
-                        dev.url = configGenerator.getDeviceUrl(device)
-                        dev.physicalnetworkid = phynetwrk.id
-                        self.apiClient.addF5LoadBalancer(dev)
-                    else:
-                        raise cloudstackException.\
-                            InvalidParameterException("Device %s doesn't match\
- any know provider type" % device)
-                self.enableProvider(result.id)
-
-    def addTrafficTypes(self, physical_network_id, traffictypes):
-        [self.addTrafficType(physical_network_id, traffic_type)
-            for traffic_type in traffictypes]
-
-    def addTrafficType(self, physical_network_id, traffictype):
-        traffic_type = addTrafficType.addTrafficTypeCmd()
-        traffic_type.physicalnetworkid = physical_network_id
-        traffic_type.traffictype = traffictype.typ
-        traffic_type.kvmnetworklabel = traffictype.kvm\
-            if traffictype.kvm is not None else None
-        traffic_type.xennetworklabel = traffictype.xen\
-            if traffictype.xen is not None else None
-        traffic_type.vmwarenetworklabel = traffictype.vmware\
-            if traffictype.vmware is not None else None
-        traffic_type.simulatorlabel = traffictype.simulator\
-            if traffictype.simulator is not None else None
-        return self.apiClient.addTrafficType(traffic_type)
-
-    def enableZone(self, zoneid, allocation_state="Enabled"):
-        zoneCmd = updateZone.updateZoneCmd()
-        zoneCmd.id = zoneid
-        zoneCmd.allocationstate = allocation_state
-        return self.apiClient.updateZone(zoneCmd)
-
-    def updateZoneDetails(self, zoneid, details):
-        zoneCmd = updateZone.updateZoneCmd()
-        zoneCmd.id = zoneid
-        zoneCmd.details = details
-        return self.apiClient.updateZone(zoneCmd)
-
-    def createZones(self, zones):
-        for zone in zones:
-            createzone = createZone.createZoneCmd()
-            createzone.dns1 = zone.dns1
-            createzone.dns2 = zone.dns2
-            createzone.internaldns1 = zone.internaldns1
-            createzone.internaldns2 = zone.internaldns2
-            createzone.name = zone.name
-            createzone.securitygroupenabled = zone.securitygroupenabled
-            createzone.localstorageenabled = zone.localstorageenabled
-            createzone.networktype = zone.networktype
-            if zone.securitygroupenabled != "true":
-                createzone.guestcidraddress = zone.guestcidraddress
-
-            zoneresponse = self.apiClient.createZone(createzone)
-            zoneId = zoneresponse.id
-
-            for pnet in zone.physical_networks:
-                phynetwrk = self.createPhysicalNetwork(pnet, zoneId)
-                self.configureProviders(phynetwrk, pnet.providers)
-                self.updatePhysicalNetwork(phynetwrk.id, "Enabled",
-                                           vlan=pnet.vlan)
-
-            if zone.networktype == "Basic":
-                listnetworkoffering =\
-                    listNetworkOfferings.listNetworkOfferingsCmd()
-                listnetworkoffering.name =\
-                    "DefaultSharedNetscalerEIPandELBNetworkOffering" \
-                    if len(filter(lambda x:
-                                  x.typ == 'Public',
-                                  zone.physical_networks[0].
-                                  traffictypes)) > 0 \
-                    else "DefaultSharedNetworkOfferingWithSGService"
-                if zone.networkofferingname is not None:
-                    listnetworkoffering.name = zone.networkofferingname
-
-                listnetworkofferingresponse = \
-                    self.apiClient.listNetworkOfferings(listnetworkoffering)
-
-                guestntwrk = configGenerator.network()
-                guestntwrk.displaytext = "guestNetworkForBasicZone"
-                guestntwrk.name = "guestNetworkForBasicZone"
-                guestntwrk.zoneid = zoneId
-                guestntwrk.networkofferingid = \
-                    listnetworkofferingresponse[0].id
-
-                networkid = self.createnetworks([guestntwrk], zoneId)
-                self.createpods(zone.pods, zoneId, networkid)
-                if self.isEipElbZone(zone):
-                    self.createVlanIpRanges(zone.networktype, zone.ipranges,
-                                            zoneId, forvirtualnetwork=True)
-
-            isPureAdvancedZone = (zone.networktype == "Advanced"
-                                  and zone.securitygroupenabled != "true")
-            if isPureAdvancedZone:
-                self.createpods(zone.pods, zoneId)
-                self.createVlanIpRanges(zone.networktype, zone.ipranges,
-                                        zoneId)
-            elif (zone.networktype == "Advanced"
-                  and zone.securitygroupenabled == "true"):
-                listnetworkoffering =\
-                    listNetworkOfferings.listNetworkOfferingsCmd()
-                listnetworkoffering.name =\
-                    "DefaultSharedNetworkOfferingWithSGService"
-                if zone.networkofferingname is not None:
-                    listnetworkoffering.name = zone.networkofferingname
-
-                listnetworkofferingresponse = \
-                    self.apiClient.listNetworkOfferings(listnetworkoffering)
-
-                networkcmd = createNetwork.createNetworkCmd()
-                networkcmd.displaytext = "Shared SG enabled network"
-                networkcmd.name = "Shared SG enabled network"
-                networkcmd.networkofferingid =\
-                    listnetworkofferingresponse[0].id
-                networkcmd.zoneid = zoneId
-
-                ipranges = zone.ipranges
-                if ipranges:
-                    iprange = ipranges.pop()
-                    networkcmd.startip = iprange.startip
-                    networkcmd.endip = iprange.endip
-                    networkcmd.gateway = iprange.gateway
-                    networkcmd.netmask = iprange.netmask
-                    networkcmd.vlan = iprange.vlan
-
-                networkcmdresponse = self.apiClient.createNetwork(networkcmd)
-                networkId = networkcmdresponse.id
-                self.createpods(zone.pods, zoneId, networkId)
-
-            '''Note: Swift needs cache storage first'''
-            self.createCacheStorages(zone.cacheStorages, zoneId)
-            self.createSecondaryStorages(zone.secondaryStorages, zoneId)
-
-            enabled = getattr(zone, 'enabled', 'True')
-            if enabled == 'True' or enabled is None:
-                self.enableZone(zoneId, "Enabled")
-            details = getattr(zone, 'details')
-            if details is not None:
-                det = [d.__dict__ for d in details]
-                self.updateZoneDetails(zoneId, det)
-
-        return
-
-    def isEipElbZone(self, zone):
-        if (zone.networktype == "Basic"
-            and len(filter(lambda x: x.typ == 'Public',
-                           zone.physical_networks[0].traffictypes)) > 0):
-            return True
-        return False
-
-    def registerApiKey(self):
-        listuser = listUsers.listUsersCmd()
-        listuser.account = "admin"
-        listuserRes = self.testClient.getApiClient().listUsers(listuser)
-        userId = listuserRes[0].id
-        apiKey = listuserRes[0].apikey
-        securityKey = listuserRes[0].secretkey
-        if apiKey is None:
-            registerUser = registerUserKeys.registerUserKeysCmd()
-            registerUser.id = userId
-            registerUserRes = \
-                self.testClient.getApiClient().registerUserKeys(registerUser)
-
-            apiKey = registerUserRes.apikey
-            securityKey = registerUserRes.secretkey
-
-        self.config.mgtSvr[0].port = 8080
-        self.config.mgtSvr[0].apiKey = apiKey
-        self.config.mgtSvr[0].securityKey = securityKey
-        return apiKey, securityKey
-
-    def getCfg(self):
-        if self.config is not None:
-            return self.config
-        return None
-
-    def loadCfg(self):
-        try:
-            self.config = configGenerator.get_setup_config(self.configFile)
-        except:
-            raise cloudstackException.InvalidParameterException(
-                "Failed to load config %s" % self.configFile)
-
-        mgt = self.config.mgtSvr[0]
-
-        loggers = self.config.logger
-        testClientLogFile = None
-        self.testCaseLogFile = None
-        self.testResultLogFile = None
-        if loggers is not None and len(loggers) > 0:
-            for log in loggers:
-                if log.name == "TestClient":
-                    testClientLogFile = log.file
-                elif log.name == "TestCase":
-                    self.testCaseLogFile = log.file
-                elif log.name == "TestResult":
-                    self.testResultLogFile = log.file
-
-        testClientLogger = None
-        if testClientLogFile is not None:
-            testClientLogger = logging.getLogger("testclient.testengine.run")
-            fh = logging.FileHandler(testClientLogFile)
-            fh.setFormatter(logging.
-                            Formatter("%(asctime)s - %(levelname)s - %(name)s\
- - %(message)s"))
-            testClientLogger.addHandler(fh)
-            testClientLogger.setLevel(logging.INFO)
-        self.testClientLogger = testClientLogger
-
-        self.testClient = \
-            cloudstackTestClient.\
-            cloudstackTestClient(mgt.mgtSvrIp, mgt.port, mgt.user, mgt.passwd,
-                                 mgt.apiKey, mgt.securityKey,
-                                 logging=self.testClientLogger)
-        if mgt.apiKey is None:
-            apiKey, securityKey = self.registerApiKey()
-            self.testClient = cloudstackTestClient.cloudstackTestClient(
-                mgt.mgtSvrIp, 8080,
-                mgt.user, mgt.passwd,
-                apiKey, securityKey,
-                logging=self.testClientLogger)
-
-        """config database"""
-        dbSvr = self.config.dbSvr
-        if dbSvr is not None:
-            self.testClient.dbConfigure(dbSvr.dbSvr, dbSvr.port, dbSvr.user,
-                                        dbSvr.passwd, dbSvr.db)
-
-        self.apiClient = self.testClient.getApiClient()
-        """set hypervisor"""
-        if mgt.hypervisor:
-            self.apiClient.hypervisor = mgt.hypervisor
-        else:
-            self.apiClient.hypervisor = "XenServer"  # Defaults to Xenserver
-
-    def updateConfiguration(self, globalCfg):
-        if globalCfg is None:
-            return None
-
-        for config in globalCfg:
-            updateCfg = updateConfiguration.updateConfigurationCmd()
-            updateCfg.name = config.name
-            updateCfg.value = config.value
-            self.apiClient.updateConfiguration(updateCfg)
-
-    def copyAttributesToCommand(self, source, command):
-
-        map(lambda attr: setattr(command, attr, getattr(source, attr, None)),
-            filter(lambda attr: not attr.startswith("__") and attr not in
-                   ["required", "isAsync"], dir(command)))
-
-    def configureS3(self, s3):
-        if s3 is None:
-            return
-
-        command = addS3.addS3Cmd()
-        self.copyAttributesToCommand(s3, command)
-        self.apiClient.addS3(command)
-
-    def deploy(self):
-        self.loadCfg()
-        self.updateConfiguration(self.config.globalConfig)
-        self.createZones(self.config.zones)
-        self.configureS3(self.config.s3)
-
-if __name__ == "__main__":
-
-    parser = OptionParser()
-
-    parser.add_option("-i", "--input", action="store",
-                      default="./datacenterCfg", dest="input", help="the path \
-                      where the json config file generated, by default is \
-                      ./datacenterCfg")
-
-    (options, args) = parser.parse_args()
-
-    deploy = deployDataCenters(options.input)
-    deploy.deploy()
-
-    """
-    create = createStoragePool.createStoragePoolCmd()
-    create.clusterid = 1
-    create.podid = 2
-    create.name = "fdffdf"
-    create.url = "nfs://jfkdjf/fdkjfkd"
-    create.zoneid = 2
-
-    deploy = deployDataCenters("./datacenterCfg")
-    deploy.loadCfg()
-    deploy.apiClient.createStoragePool(create)
-    """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/integration/__init__.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/integration/__init__.py b/tools/marvin/build/lib/marvin/integration/__init__.py
deleted file mode 100644
index 57823fc..0000000
--- a/tools/marvin/build/lib/marvin/integration/__init__.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/integration/lib/__init__.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/integration/lib/__init__.py b/tools/marvin/build/lib/marvin/integration/lib/__init__.py
deleted file mode 100644
index 978b68a..0000000
--- a/tools/marvin/build/lib/marvin/integration/lib/__init__.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.


[05/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/updateZone.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/updateZone.py b/tools/marvin/build/lib/marvin/cloudstackAPI/updateZone.py
deleted file mode 100644
index b1b4360..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/updateZone.py
+++ /dev/null
@@ -1,154 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Updates a Zone."""
-from baseCmd import *
-from baseResponse import *
-class updateZoneCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "false"
-        """the ID of the Zone"""
-        """Required"""
-        self.id = None
-        """Allocation state of this cluster for allocation of new resources"""
-        self.allocationstate = None
-        """the details for the Zone"""
-        self.details = []
-        """the dhcp Provider for the Zone"""
-        self.dhcpprovider = None
-        """the first DNS for the Zone"""
-        self.dns1 = None
-        """the second DNS for the Zone"""
-        self.dns2 = None
-        """the dns search order list"""
-        self.dnssearchorder = []
-        """Network domain name for the networks in the zone; empty string will update domain with NULL value"""
-        self.domain = None
-        """the guest CIDR address for the Zone"""
-        self.guestcidraddress = None
-        """the first internal DNS for the Zone"""
-        self.internaldns1 = None
-        """the second internal DNS for the Zone"""
-        self.internaldns2 = None
-        """the first DNS for IPv6 network in the Zone"""
-        self.ip6dns1 = None
-        """the second DNS for IPv6 network in the Zone"""
-        self.ip6dns2 = None
-        """updates a private zone to public if set, but not vice-versa"""
-        self.ispublic = None
-        """true if local storage offering enabled, false otherwise"""
-        self.localstorageenabled = None
-        """the name of the Zone"""
-        self.name = None
-        self.required = ["id",]
-
-class updateZoneResponse (baseResponse):
-    def __init__(self):
-        """Zone id"""
-        self.id = None
-        """the allocation state of the cluster"""
-        self.allocationstate = None
-        """Zone description"""
-        self.description = None
-        """the dhcp Provider for the Zone"""
-        self.dhcpprovider = None
-        """the display text of the zone"""
-        self.displaytext = None
-        """the first DNS for the Zone"""
-        self.dns1 = None
-        """the second DNS for the Zone"""
-        self.dns2 = None
-        """Network domain name for the networks in the zone"""
-        self.domain = None
-        """the UUID of the containing domain, null for public zones"""
-        self.domainid = None
-        """the name of the containing domain, null for public zones"""
-        self.domainname = None
-        """the guest CIDR address for the Zone"""
-        self.guestcidraddress = None
-        """the first internal DNS for the Zone"""
-        self.internaldns1 = None
-        """the second internal DNS for the Zone"""
-        self.internaldns2 = None
-        """the first IPv6 DNS for the Zone"""
-        self.ip6dns1 = None
-        """the second IPv6 DNS for the Zone"""
-        self.ip6dns2 = None
-        """true if local storage offering enabled, false otherwise"""
-        self.localstorageenabled = None
-        """Zone name"""
-        self.name = None
-        """the network type of the zone; can be Basic or Advanced"""
-        self.networktype = None
-        """true if security groups support is enabled, false otherwise"""
-        self.securitygroupsenabled = None
-        """the vlan range of the zone"""
-        self.vlan = None
-        """Zone Token"""
-        self.zonetoken = None
-        """the capacity of the Zone"""
-        self.capacity = []
-        """the list of resource tags associated with zone."""
-        self.tags = []
-
-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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/uploadCustomCertificate.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/uploadCustomCertificate.py b/tools/marvin/build/lib/marvin/cloudstackAPI/uploadCustomCertificate.py
deleted file mode 100644
index d84f448..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/uploadCustomCertificate.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Uploads a custom certificate for the console proxy VMs to use for SSL. Can be used to upload a single certificate signed by a known CA. Can also be used, through multiple calls, to upload a chain of certificates from CA to the custom certificate itself."""
-from baseCmd import *
-from baseResponse import *
-class uploadCustomCertificateCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """The certificate to be uploaded."""
-        """Required"""
-        self.certificate = None
-        """DNS domain suffix that the certificate is granted for."""
-        """Required"""
-        self.domainsuffix = None
-        """An integer providing the location in a chain that the certificate will hold. Usually, this can be left empty. When creating a chain, the top level certificate should have an ID of 1, with each step in the chain incrementing by one. Example, CA with id = 1, Intermediate CA with id = 2, Site certificate with ID = 3"""
-        self.id = None
-        """A name / alias for the certificate."""
-        self.name = None
-        """The private key for the attached certificate."""
-        self.privatekey = None
-        self.required = ["certificate","domainsuffix",]
-
-class uploadCustomCertificateResponse (baseResponse):
-    def __init__(self):
-        """message of the certificate upload operation"""
-        self.message = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackAPI/uploadVolume.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/uploadVolume.py b/tools/marvin/build/lib/marvin/cloudstackAPI/uploadVolume.py
deleted file mode 100644
index acd4a0e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/uploadVolume.py
+++ /dev/null
@@ -1,162 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""Uploads a data disk."""
-from baseCmd import *
-from baseResponse import *
-class uploadVolumeCmd (baseCmd):
-    def __init__(self):
-        self.isAsync = "true"
-        """the format for the volume. Possible values include QCOW2, OVA, and VHD."""
-        """Required"""
-        self.format = None
-        """the name of the volume"""
-        """Required"""
-        self.name = None
-        """the URL of where the volume is hosted. Possible URL include http:// and https://"""
-        """Required"""
-        self.url = None
-        """the ID of the zone the volume is to be hosted on"""
-        """Required"""
-        self.zoneid = None
-        """an optional accountName. Must be used with domainId."""
-        self.account = None
-        """the MD5 checksum value of this volume"""
-        self.checksum = None
-        """an optional domainId. If the account parameter is used, domainId must also be used."""
-        self.domainid = None
-        """Image store uuid"""
-        self.imagestoreuuid = None
-        """Upload volume for the project"""
-        self.projectid = None
-        self.required = ["format","name","url","zoneid",]
-
-class uploadVolumeResponse (baseResponse):
-    def __init__(self):
-        """ID of the disk volume"""
-        self.id = None
-        """the account associated with the disk volume"""
-        self.account = None
-        """the date the volume was attached to a VM instance"""
-        self.attached = None
-        """the date the disk volume was created"""
-        self.created = None
-        """the boolean state of whether the volume is destroyed or not"""
-        self.destroyed = None
-        """the ID of the device on user vm the volume is attahed to. This tag is not returned when the volume is detached."""
-        self.deviceid = None
-        """bytes read rate of the disk volume"""
-        self.diskBytesReadRate = None
-        """bytes write rate of the disk volume"""
-        self.diskBytesWriteRate = None
-        """io requests read rate of the disk volume"""
-        self.diskIopsReadRate = None
-        """io requests write rate of the disk volume"""
-        self.diskIopsWriteRate = None
-        """the display text of the disk offering"""
-        self.diskofferingdisplaytext = None
-        """ID of the disk offering"""
-        self.diskofferingid = None
-        """name of the disk offering"""
-        self.diskofferingname = None
-        """an optional field whether to the display the volume to the end user or not."""
-        self.displayvolume = None
-        """the domain associated with the disk volume"""
-        self.domain = None
-        """the ID of the domain associated with the disk volume"""
-        self.domainid = None
-        """Hypervisor the volume belongs to"""
-        self.hypervisor = None
-        """true if the volume is extractable, false otherwise"""
-        self.isextractable = None
-        """max iops of the disk volume"""
-        self.maxiops = None
-        """min iops of the disk volume"""
-        self.miniops = None
-        """name of the disk volume"""
-        self.name = None
-        """The path of the volume"""
-        self.path = None
-        """the project name of the vpn"""
-        self.project = None
-        """the project id of the vpn"""
-        self.projectid = None
-        """the display text of the service offering for root disk"""
-        self.serviceofferingdisplaytext = None
-        """ID of the service offering for root disk"""
-        self.serviceofferingid = None
-        """name of the service offering for root disk"""
-        self.serviceofferingname = None
-        """size of the disk volume"""
-        self.size = None
-        """ID of the snapshot from which this volume was created"""
-        self.snapshotid = None
-        """the state of the disk volume"""
-        self.state = None
-        """the status of the volume"""
-        self.status = None
-        """name of the primary storage hosting the disk volume"""
-        self.storage = None
-        """id of the primary storage hosting the disk volume; returned to admin user only"""
-        self.storageid = None
-        """shared or local storage"""
-        self.storagetype = None
-        """type of the disk volume (ROOT or DATADISK)"""
-        self.type = None
-        """id of the virtual machine"""
-        self.virtualmachineid = None
-        """display name of the virtual machine"""
-        self.vmdisplayname = None
-        """name of the virtual machine"""
-        self.vmname = None
-        """state of the virtual machine"""
-        self.vmstate = None
-        """ID of the availability zone"""
-        self.zoneid = None
-        """name of the availability zone"""
-        self.zonename = None
-        """the list of resource tags associated with volume"""
-        self.tags = []
-        """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
-
-class tags:
-    def __init__(self):
-        """"the account associated with the tag"""
-        self.account = None
-        """"customer associated with the tag"""
-        self.customer = None
-        """"the domain associated with the tag"""
-        self.domain = None
-        """"the ID of the domain associated with the tag"""
-        self.domainid = None
-        """"tag key name"""
-        self.key = None
-        """"the project name where tag belongs to"""
-        self.project = None
-        """"the project id the tag belongs to"""
-        self.projectid = None
-        """"id of the resource"""
-        self.resourceid = None
-        """"resource type"""
-        self.resourcetype = None
-        """"tag value"""
-        self.value = None
-

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackConnection.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackConnection.py b/tools/marvin/build/lib/marvin/cloudstackConnection.py
deleted file mode 100644
index 686c533..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackConnection.py
+++ /dev/null
@@ -1,235 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import requests
-import urllib
-import base64
-import hmac
-import hashlib
-import logging
-import time
-import cloudstackException
-from cloudstackAPI import *
-import jsonHelper
-from requests import ConnectionError
-from requests import HTTPError
-from requests import Timeout
-from requests import RequestException
-
-
-class cloudConnection(object):
-
-    """ Connections to make API calls to the cloudstack management server
-    """
-
-    def __init__(self, mgtSvr, port=8096, user=None, passwd=None,
-                 apiKey=None, securityKey=None,
-                 asyncTimeout=3600, logging=None, scheme='http',
-                 path='client/api'):
-        self.loglevel()  # Turn off requests logs
-        self.apiKey = apiKey
-        self.securityKey = securityKey
-        self.mgtSvr = mgtSvr
-        self.port = port
-        self.user = user
-        self.passwd = passwd
-        self.logging = logging
-        self.path = path
-        self.retries = 5
-        self.asyncTimeout = asyncTimeout
-        self.auth = True
-        if port == 8096 or \
-           (self.apiKey is None and self.securityKey is None):
-            self.auth = False
-        if scheme not in ['http', 'https']:
-                raise RequestException("Protocol must be HTTP")
-        self.protocol = scheme
-        self.baseurl = "%s://%s:%d/%s"\
-                       % (self.protocol, self.mgtSvr, self.port, self.path)
-
-    def __copy__(self):
-        return cloudConnection(self.mgtSvr, self.port, self.user, self.passwd,
-                               self.apiKey, self.securityKey,
-                               self.asyncTimeout, self.logging, self.protocol,
-                               self.path)
-
-    def loglevel(self, lvl=logging.WARNING):
-        """
-        Turns off the INFO/DEBUG logs from `requests`
-        """
-        requests_log = logging.getLogger("requests")
-        requests_log.setLevel(lvl)
-
-    def poll(self, jobid, response):
-        """
-        polls the completion of a given jobid
-        @param jobid:
-        @param response:
-        @return:
-        """
-        cmd = queryAsyncJobResult.queryAsyncJobResultCmd()
-        cmd.jobid = jobid
-        timeout = self.asyncTimeout
-
-        while timeout > 0:
-            asyncResonse = self.marvin_request(cmd, response_type=response)
-
-            if asyncResonse.jobstatus == 2:
-                raise cloudstackException.cloudstackAPIException(
-                    "asyncquery", asyncResonse.jobresult)
-            elif asyncResonse.jobstatus == 1:
-                return asyncResonse
-
-            time.sleep(5)
-            if self.logging is not None:
-                self.logging.debug("job: %s still processing,"
-                                   " will timeout in %ds" % (jobid, timeout))
-            timeout = timeout - 5
-
-        raise cloudstackException.cloudstackAPIException(
-            "asyncquery", "Async job timeout %s" % jobid)
-
-    def sign(self, payload):
-        """
-        signs a given request URL when the apiKey and secretKey are known
-
-        @param payload: dict of GET params to be signed
-        @return: the signature of the payload
-        """
-        params = zip(payload.keys(), payload.values())
-        params.sort(key=lambda k: str.lower(k[0]))
-        hashStr = "&".join(
-            ["=".join(
-                [str.lower(r[0]),
-                 str.lower(
-                     urllib.quote_plus(str(r[1]))
-                 ).replace("+", "%20")]
-            ) for r in params]
-        )
-        signature = base64.encodestring(hmac.new(
-            self.securityKey, hashStr, hashlib.sha1).digest()).strip()
-        self.logging.debug("Computed Signature by Marvin: %s" % signature)
-        return signature
-
-    def request(self, command, auth=True, payload={}, method='GET'):
-        """
-        Makes requests using auth or over integration port
-        @param command: cloudstack API command name
-                    eg: deployVirtualMachineCommand
-        @param auth: Authentication (apikey,secretKey) => True
-                     else False for integration.api.port
-        @param payload: request data composed as a dictionary
-        @param method: GET/POST via HTTP
-        @return:
-        """
-        payload["command"] = command
-        payload["response"] = "json"
-
-        if auth:
-            payload["apiKey"] = self.apiKey
-            signature = self.sign(payload)
-            payload["signature"] = signature
-
-        try:
-            if method == 'POST':
-                response = requests.post(
-                    self.baseurl, params=payload, verify=False)
-            else:
-                response = requests.get(
-                    self.baseurl, params=payload, verify=False)
-        except ConnectionError, c:
-            self.logging.debug("Connection refused. Reason: %s : %s" %
-                               (self.baseurl, c))
-            raise c
-        except HTTPError, h:
-            self.logging.debug("Server returned error code: %s" % h)
-            raise h
-        except Timeout, t:
-            self.logging.debug("Connection timed out with %s" % t)
-            raise t
-        except RequestException, r:
-            self.logging.debug("Error returned by server %s" % r)
-            raise r
-        else:
-            return response
-
-    def sanitize_command(self, cmd):
-        """
-        Removes None values, Validates all required params are present
-        @param cmd: Cmd object eg: createPhysicalNetwork
-        @return:
-        """
-        requests = {}
-        required = []
-        for attribute in dir(cmd):
-            if not attribute.startswith('__'):
-                if attribute == "isAsync":
-                    isAsync = getattr(cmd, attribute)
-                elif attribute == "required":
-                    required = getattr(cmd, attribute)
-                else:
-                    requests[attribute] = getattr(cmd, attribute)
-
-        cmdname = cmd.__class__.__name__.replace("Cmd", "")
-        for requiredPara in required:
-            if requests[requiredPara] is None:
-                raise cloudstackException.cloudstackAPIException(
-                    cmdname, "%s is required" % requiredPara)
-        for param, value in requests.items():
-            if value is None:
-                requests.pop(param)
-            elif isinstance(value, list):
-                if len(value) == 0:
-                    requests.pop(param)
-                else:
-                    if not isinstance(value[0], dict):
-                        requests[param] = ",".join(value)
-                    else:
-                        requests.pop(param)
-                        i = 0
-                        for val in value:
-                            for k, v in val.iteritems():
-                                requests["%s[%d].%s" % (param, i, k)] = v
-                            i = i + 1
-        return cmdname, isAsync, requests
-
-    def marvin_request(self, cmd, response_type=None, method='GET', data=''):
-        """
-        Requester for marvin command objects
-        @param cmd: marvin's command from cloudstackAPI
-        @param response_type: response type of the command in cmd
-        @param method: HTTP GET/POST, defaults to GET
-        @return:
-        """
-        cmdname, isAsync, payload = self.sanitize_command(cmd)
-        self.logging.debug("sending %s request: %s %s" % (method, cmdname,
-                                                          str(payload)))
-        response = self.request(
-            cmdname, self.auth, payload=payload, method=method)
-        self.logging.debug("Request: %s Response: %s" %
-                           (response.url, response.text))
-        try:
-            response = jsonHelper.getResultObj(response.json(), response_type)
-        except TypeError:
-            response = jsonHelper.getResultObj(response.json, response_type)
-
-        if isAsync == "false":
-            return response
-        else:
-            asyncJobId = response.jobid
-            response = self.poll(asyncJobId, response_type)
-            return response.jobresult

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackException.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackException.py b/tools/marvin/build/lib/marvin/cloudstackException.py
deleted file mode 100644
index 6200003..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackException.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-class cloudstackAPIException(Exception):
-    def __init__(self, cmd="", result=""):
-        self.errorMsg = "Execute cmd: %s failed, due to: %s" % (cmd, result)
-
-    def __str__(self):
-        return self.errorMsg
-
-
-class InvalidParameterException(Exception):
-    def __init__(self, msg=''):
-        self.errorMsg = msg
-
-    def __str__(self):
-        return self.errorMsg
-
-
-class dbException(Exception):
-    def __init__(self, msg=''):
-        self.errorMsg = msg
-
-    def __str__(self):
-        return self.errorMsg
-
-
-class internalError(Exception):
-    def __init__(self, msg=''):
-        self.errorMsg = msg
-
-    def __str__(self):
-        return self.errorMsg

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackTestCase.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackTestCase.py b/tools/marvin/build/lib/marvin/cloudstackTestCase.py
deleted file mode 100644
index 85ef542..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackTestCase.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import unittest
-
-
-def user(Name, DomainName, AcctType):
-    def wrapper(cls):
-        orig_init = cls.__init__
-
-        def __init__(self, *args, **kws):
-            cls.UserName = Name
-            cls.DomainName = DomainName
-            cls.AcctType = AcctType
-            orig_init(self, *args, **kws)
-        cls.__init__ = __init__
-        return cls
-    return wrapper
-
-
-class cloudstackTestCase(unittest.case.TestCase):
-    clstestclient = None
-
-    @classmethod
-    def getClsTestClient(cls):
-        return cls.clstestclient

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/cloudstackTestClient.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackTestClient.py b/tools/marvin/build/lib/marvin/cloudstackTestClient.py
deleted file mode 100644
index 36f7f8d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackTestClient.py
+++ /dev/null
@@ -1,201 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import cloudstackConnection
-import asyncJobMgr
-import dbConnection
-from cloudstackAPI import *
-import random
-import string
-import hashlib
-
-
-class cloudstackTestClient(object):
-    def __init__(self, mgtSvr=None, port=8096, user=None, passwd=None,
-                 apiKey=None, securityKey=None, asyncTimeout=3600,
-                 defaultWorkerThreads=10, logging=None):
-        self.connection = \
-            cloudstackConnection.cloudConnection(mgtSvr, port, user, passwd,
-                                                 apiKey, securityKey,
-                                                 asyncTimeout, logging)
-        self.apiClient =\
-            cloudstackAPIClient.CloudStackAPIClient(self.connection)
-        self.dbConnection = None
-        self.asyncJobMgr = None
-        self.ssh = None
-        self.id = None
-        self.defaultWorkerThreads = defaultWorkerThreads
-
-    @property
-    def identifier(self):
-        return self.id
-
-    @identifier.setter
-    def identifier(self, id):
-        self.id = id
-
-    def dbConfigure(self, host="localhost", port=3306, user='cloud',
-                    passwd='cloud', db='cloud'):
-        self.dbConnection = dbConnection.dbConnection(host, port, user, passwd,
-                                                      db)
-
-    def isAdminContext(self):
-        """
-        A user is a regular user if he fails to listDomains;
-        if he is a domain-admin, he can list only domains that are non-ROOT;
-        if he is an admin, he can list the ROOT domain successfully
-        """
-        try:
-            listdom = listDomains.listDomainsCmd()
-            listdom.name = 'ROOT'
-            listdomres = self.apiClient.listDomains(listdom)
-            rootdom = listdomres[0].name
-            if rootdom == 'ROOT':
-                return 1  # admin
-            else:
-                return 2  # domain-admin
-        except:
-            return 0  # user
-
-    def random_gen(self, size=6, chars=string.ascii_uppercase + string.digits):
-        """Generate Random Strings of variable length"""
-        randomstr = ''.join(random.choice(chars) for x in range(size))
-        if self.identifier:
-            return ''.join([self.identifier, '-', randomstr])
-        return randomstr
-
-    def createUserApiClient(self, UserName, DomainName, acctType=0):
-        if not self.isAdminContext():
-            return self.apiClient
-
-        listDomain = listDomains.listDomainsCmd()
-        listDomain.listall = True
-        listDomain.name = DomainName
-        try:
-            domains = self.apiClient.listDomains(listDomain)
-            domId = domains[0].id
-        except:
-            cdomain = createDomain.createDomainCmd()
-            cdomain.name = DomainName
-            domain = self.apiClient.createDomain(cdomain)
-            domId = domain.id
-
-        cmd = listAccounts.listAccountsCmd()
-        cmd.name = UserName
-        cmd.domainid = domId
-        try:
-            accounts = self.apiClient.listAccounts(cmd)
-            acctId = accounts[0].id
-        except:
-            createAcctCmd = createAccount.createAccountCmd()
-            createAcctCmd.accounttype = acctType
-            createAcctCmd.domainid = domId
-            createAcctCmd.email = "test-" + self.random_gen()\
-                + "@cloudstack.org"
-            createAcctCmd.firstname = UserName
-            createAcctCmd.lastname = UserName
-            createAcctCmd.password = 'password'
-            createAcctCmd.username = UserName
-            acct = self.apiClient.createAccount(createAcctCmd)
-            acctId = acct.id
-
-        listuser = listUsers.listUsersCmd()
-        listuser.username = UserName
-
-        listuserRes = self.apiClient.listUsers(listuser)
-        userId = listuserRes[0].id
-        apiKey = listuserRes[0].apikey
-        securityKey = listuserRes[0].secretkey
-
-        if apiKey is None:
-            registerUser = registerUserKeys.registerUserKeysCmd()
-            registerUser.id = userId
-            registerUserRes = self.apiClient.registerUserKeys(registerUser)
-            apiKey = registerUserRes.apikey
-            securityKey = registerUserRes.secretkey
-
-        newUserConnection =\
-            cloudstackConnection.cloudConnection(self.connection.mgtSvr,
-                                                 self.connection.port,
-                                                 self.connection.user,
-                                                 self.connection.passwd,
-                                                 apiKey, securityKey,
-                                                 self.connection.asyncTimeout,
-                                                 self.connection.logging)
-        self.userApiClient =\
-            cloudstackAPIClient.CloudStackAPIClient(newUserConnection)
-        self.userApiClient.connection = newUserConnection
-        self.userApiClient.hypervisor = self.apiClient.hypervisor
-        return self.userApiClient
-
-    def close(self):
-        if self.connection is not None:
-            self.connection.close()
-
-    def getDbConnection(self):
-        return self.dbConnection
-
-    def executeSql(self, sql=None):
-        if sql is None or self.dbConnection is None:
-            return None
-
-        return self.dbConnection.execute()
-
-    def executeSqlFromFile(self, sqlFile=None):
-        if sqlFile is None or self.dbConnection is None:
-            return None
-        return self.dbConnection.executeSqlFromFile(sqlFile)
-
-    def getApiClient(self):
-        self.apiClient.id = self.identifier
-        return self.apiClient
-
-    def getUserApiClient(self, account, domain, type=0):
-        """
-        0 - user
-        1 - admin
-        2 - domain admin
-        """
-        self.createUserApiClient(account, domain, type)
-        if hasattr(self, "userApiClient"):
-            return self.userApiClient
-        return None
-
-    def submitCmdsAndWait(self, cmds, workers=1):
-        '''FixME, httplib has issue if more than one thread submitted'''
-        if self.asyncJobMgr is None:
-            self.asyncJobMgr = asyncJobMgr.asyncJobMgr(self.apiClient,
-                                                       self.dbConnection)
-        return self.asyncJobMgr.submitCmdsAndWait(cmds, workers)
-
-    def submitJob(self, job, ntimes=1, nums_threads=10, interval=1):
-        '''
-        submit one job and execute the same job ntimes, with nums_threads
-        of threads
-        '''
-        if self.asyncJobMgr is None:
-            self.asyncJobMgr = asyncJobMgr.asyncJobMgr(self.apiClient,
-                                                       self.dbConnection)
-        self.asyncJobMgr.submitJobExecuteNtimes(job, ntimes, nums_threads,
-                                                interval)
-
-    def submitJobs(self, jobs, nums_threads=10, interval=1):
-        '''submit n jobs, execute them with nums_threads of threads'''
-        if self.asyncJobMgr is None:
-            self.asyncJobMgr = asyncJobMgr.asyncJobMgr(self.apiClient,
-                                                       self.dbConnection)
-        self.asyncJobMgr.submitJobs(jobs, nums_threads, interval)

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/codegenerator.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/codegenerator.py b/tools/marvin/build/lib/marvin/codegenerator.py
deleted file mode 100644
index 96729f6..0000000
--- a/tools/marvin/build/lib/marvin/codegenerator.py
+++ /dev/null
@@ -1,463 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import xml.dom.minidom
-import json
-from optparse import OptionParser
-from textwrap import dedent
-import os
-import sys
-import urllib2
-
-
-class cmdParameterProperty(object):
-    def __init__(self):
-        self.name = None
-        self.required = False
-        self.desc = ""
-        self.type = "planObject"
-        self.subProperties = []
-
-
-class cloudStackCmd(object):
-    def __init__(self):
-        self.name = ""
-        self.desc = ""
-        self.async = "false"
-        self.request = []
-        self.response = []
-
-
-class codeGenerator(object):
-    """
-    Apache CloudStack- marvin python classes can be generated from the json
-    returned by API discovery or from the xml spec of commands generated by
-    the ApiDocWriter. This class provides helper methods for these uses.
-    """
-    space = '    '
-    newline = '\n'
-    cmdsName = []
-
-    def __init__(self, outputFolder):
-        self.cmd = None
-        self.code = ""
-        self.required = []
-        self.subclass = []
-        self.outputFolder = outputFolder
-        lic = """\
-          # 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.
-
-          """
-        self.license = dedent(lic)
-
-    def addAttribute(self, attr, pro):
-        value = pro.value
-        if pro.required:
-            self.required.append(attr)
-        desc = pro.desc
-        if desc is not None:
-            self.code += self.space
-            self.code += "''' " + pro.desc + " '''"
-            self.code += self.newline
-
-        self.code += self.space
-        self.code += attr + " = " + str(value)
-        self.code += self.newline
-
-    def generateSubClass(self, name, properties):
-        '''generate code for sub list'''
-        subclass = 'class %s:\n' % name
-        subclass += self.space + "def __init__(self):\n"
-        for pro in properties:
-            if pro.desc is not None:
-                subclass += self.space + self.space + '""""%s"""\n' % pro.desc
-            if len(pro.subProperties) > 0:
-                subclass += self.space + self.space
-                subclass += 'self.%s = []\n' % pro.name
-                self.generateSubClass(pro.name, pro.subProperties)
-            else:
-                subclass += self.space + self.space
-                subclass += 'self.%s = None\n' % pro.name
-
-        self.subclass.append(subclass)
-
-    def generate(self, cmd):
-
-        self.cmd = cmd
-        self.cmdsName.append(self.cmd.name)
-        self.code = self.license
-        self.code += self.newline
-        self.code += '"""%s"""\n' % self.cmd.desc
-        self.code += 'from baseCmd import *\n'
-        self.code += 'from baseResponse import *\n'
-        self.code += "class %sCmd (baseCmd):\n" % self.cmd.name
-        self.code += self.space + "def __init__(self):\n"
-
-        self.code += self.space + self.space
-        self.code += 'self.isAsync = "%s"\n' % str(self.cmd.async).lower()
-
-        for req in self.cmd.request:
-            if req.desc is not None:
-                self.code += self.space + self.space + '"""%s"""\n' % req.desc
-            if req.required == "true":
-                self.code += self.space + self.space + '"""Required"""\n'
-
-            value = "None"
-            if req.type == "list" or req.type == "map":
-                value = "[]"
-
-            self.code += self.space + self.space
-            self.code += 'self.%s = %s\n' % (req.name, value)
-            if req.required == "true":
-                self.required.append(req.name)
-
-        self.code += self.space + self.space + "self.required = ["
-        for require in self.required:
-            self.code += '"' + require + '",'
-        self.code += "]\n"
-        self.required = []
-
-        """generate response code"""
-        subItems = {}
-        self.code += self.newline
-        self.code += 'class %sResponse (baseResponse):\n' % self.cmd.name
-        self.code += self.space + "def __init__(self):\n"
-        if len(self.cmd.response) == 0:
-            self.code += self.space + self.space + "pass"
-        else:
-            for res in self.cmd.response:
-                if res.desc is not None:
-                    self.code += self.space + self.space
-                    self.code += '"""%s"""\n' % res.desc
-
-                if len(res.subProperties) > 0:
-                    self.code += self.space + self.space
-                    self.code += 'self.%s = []\n' % res.name
-                    self.generateSubClass(res.name, res.subProperties)
-                else:
-                    self.code += self.space + self.space
-                    self.code += 'self.%s = None\n' % res.name
-        self.code += self.newline
-
-        for subclass in self.subclass:
-            self.code += subclass + "\n"
-
-        fp = open(self.outputFolder + "/cloudstackAPI/%s.py" % self.cmd.name,
-                  "w")
-        fp.write(self.code)
-        fp.close()
-        self.code = ""
-        self.subclass = []
-
-    def finalize(self):
-        '''generate an api call'''
-
-        header = '"""Test Client for CloudStack API"""\n'
-        imports = "import copy\n"
-        initCmdsList = '__all__ = ['
-        body = ''
-        body += "class CloudStackAPIClient(object):\n"
-        body += self.space + 'def __init__(self, connection):\n'
-        body += self.space + self.space + 'self.connection = connection\n'
-        body += self.space + self.space + 'self._id = None\n'
-        body += self.newline
-
-        body += self.space + 'def __copy__(self):\n'
-        body += self.space + self.space
-        body += 'return CloudStackAPIClient(copy.copy(self.connection))\n'
-        body += self.newline
-
-        # The `id` property will be used to link the test with the cloud
-        # resource being created
-        #            @property
-        #            def id(self):
-        #                return self._id
-        #
-        #            @id.setter
-        #            def id(self, identifier):
-        #                self._id = identifier
-
-        body += self.space + '@property' + self.newline
-        body += self.space + 'def id(self):' + self.newline
-        body += self.space*2 + 'return self._id' + self.newline
-        body += self.newline
-
-        body += self.space + '@id.setter' + self.newline
-        body += self.space + 'def id(self, identifier):' + self.newline
-        body += self.space*2 + 'self._id = identifier' + self.newline
-        body += self.newline
-
-        for cmdName in self.cmdsName:
-            body += self.space
-            body += 'def %s(self, command, method="GET"):\n' % cmdName
-            body += self.space + self.space
-            body += 'response = %sResponse()\n' % cmdName
-            body += self.space + self.space
-            body += 'response = self.connection.marvin_request(command,'
-            body += ' response_type=response, method=method)\n'
-            body += self.space + self.space + 'return response\n'
-            body += self.newline
-
-            imports += 'from %s import %sResponse\n' % (cmdName, cmdName)
-            initCmdsList += '"%s",' % cmdName
-
-        fp = open(self.outputFolder + '/cloudstackAPI/cloudstackAPIClient.py',
-                  'w')
-        fp.write(self.license)
-        for item in [header, imports, body]:
-            fp.write(item)
-        fp.close()
-
-        '''generate __init__.py'''
-        initCmdsList = self.license + initCmdsList + '"cloudstackAPIClient"]'
-        fp = open(self.outputFolder + '/cloudstackAPI/__init__.py', 'w')
-        fp.write(initCmdsList)
-        fp.close()
-
-        fp = open(self.outputFolder + '/cloudstackAPI/baseCmd.py', 'w')
-        basecmd = self.license
-        basecmd += '"""Base Command"""\n'
-        basecmd += 'class baseCmd(object):\n'
-        basecmd += self.space + 'pass\n'
-        fp.write(basecmd)
-        fp.close()
-
-        fp = open(self.outputFolder + '/cloudstackAPI/baseResponse.py', 'w')
-        basecmd = self.license
-        basecmd += '"""Base class for response"""\n'
-        basecmd += 'class baseResponse(object):\n'
-        basecmd += self.space + 'pass\n'
-        fp.write(basecmd)
-        fp.close()
-
-    def constructResponseFromXML(self, response):
-        paramProperty = cmdParameterProperty()
-        paramProperty.name = getText(response.getElementsByTagName('name'))
-        paramProperty.desc = getText(response.
-                                     getElementsByTagName('description'))
-        if paramProperty.name.find('(*)') != -1:
-            '''This is a list'''
-            paramProperty.name = paramProperty.name.split('(*)')[0]
-            argList = response.getElementsByTagName('arguments')[0].\
-                getElementsByTagName('arg')
-            for subresponse in argList:
-                subProperty = self.constructResponseFromXML(subresponse)
-                paramProperty.subProperties.append(subProperty)
-        return paramProperty
-
-    def loadCmdFromXML(self, dom):
-        cmds = []
-        for cmd in dom.getElementsByTagName("command"):
-            csCmd = cloudStackCmd()
-            csCmd.name = getText(cmd.getElementsByTagName('name'))
-            assert csCmd.name
-
-            desc = getText(cmd.getElementsByTagName('description'))
-            if desc:
-                csCmd.desc = desc
-
-            async = getText(cmd.getElementsByTagName('isAsync'))
-            if async:
-                csCmd.async = async
-
-            argList = cmd.getElementsByTagName("request")[0].\
-                getElementsByTagName("arg")
-            for param in argList:
-                paramProperty = cmdParameterProperty()
-
-                paramProperty.name =\
-                    getText(param.getElementsByTagName('name'))
-                assert paramProperty.name
-
-                required = param.getElementsByTagName('required')
-                if required:
-                    paramProperty.required = getText(required)
-
-                requestDescription = param.getElementsByTagName('description')
-                if requestDescription:
-                    paramProperty.desc = getText(requestDescription)
-
-                type = param.getElementsByTagName("type")
-                if type:
-                    paramProperty.type = getText(type)
-
-                csCmd.request.append(paramProperty)
-
-            responseEle = cmd.getElementsByTagName("response")[0]
-            for response in responseEle.getElementsByTagName("arg"):
-                if response.parentNode != responseEle:
-                    continue
-
-                paramProperty = self.constructResponseFromXML(response)
-                csCmd.response.append(paramProperty)
-
-            cmds.append(csCmd)
-        return cmds
-
-    def generateCodeFromXML(self, apiSpecFile):
-        dom = xml.dom.minidom.parse(apiSpecFile)
-        cmds = self.loadCmdFromXML(dom)
-        for cmd in cmds:
-            self.generate(cmd)
-        self.finalize()
-
-    def constructResponseFromJSON(self, response):
-        paramProperty = cmdParameterProperty()
-        if 'name' in response:
-            paramProperty.name = response['name']
-        assert paramProperty.name, "%s has no property name" % response
-
-        if 'description' in response:
-            paramProperty.desc = response['description']
-        if 'type' in response:
-            if response['type'] in ['list', 'map', 'set']:
-            #Here list becomes a subproperty
-                if 'response' in response:
-                    for innerResponse in response['response']:
-                        subProperty =\
-                            self.constructResponseFromJSON(innerResponse)
-                        paramProperty.subProperties.append(subProperty)
-            paramProperty.type = response['type']
-        return paramProperty
-
-    def loadCmdFromJSON(self, apiStream):
-        if apiStream is None:
-            raise Exception("No APIs found through discovery")
-
-        jsonOut = apiStream.readlines()
-        assert len(jsonOut) > 0
-        apiDict = json.loads(jsonOut[0])
-        if not 'listapisresponse' in apiDict:
-            raise Exception("API discovery plugin response failed")
-        if not 'count' in apiDict['listapisresponse']:
-            raise Exception("Malformed api response")
-
-        apilist = apiDict['listapisresponse']['api']
-        cmds = []
-        for cmd in apilist:
-            csCmd = cloudStackCmd()
-            if 'name' in cmd:
-                csCmd.name = cmd['name']
-            assert csCmd.name
-
-            if 'description' in cmd:
-                csCmd.desc = cmd['description']
-
-            if 'isasync' in cmd:
-                csCmd.async = cmd['isasync']
-
-            for param in cmd['params']:
-                paramProperty = cmdParameterProperty()
-
-                if 'name' in param:
-                    paramProperty.name = param['name']
-                assert paramProperty.name
-
-                if 'required' in param:
-                    paramProperty.required = param['required']
-
-                if 'description' in param:
-                    paramProperty.desc = param['description']
-
-                if 'type' in param:
-                    paramProperty.type = param['type']
-
-                csCmd.request.append(paramProperty)
-
-            for response in cmd['response']:
-            #FIXME: ExtractImage related APIs return empty dicts in response
-                if len(response) > 0:
-                    paramProperty = self.constructResponseFromJSON(response)
-                    csCmd.response.append(paramProperty)
-
-            cmds.append(csCmd)
-        return cmds
-
-    def generateCodeFromJSON(self, endpointUrl):
-        """
-        Api Discovery plugin returns the supported APIs of a CloudStack
-        endpoint.
-        @return: The classes in cloudstackAPI/ formed from api discovery json
-        """
-        if endpointUrl.find('response=json') >= 0:
-                apiStream = urllib2.urlopen(endpointUrl)
-                cmds = self.loadCmdFromJSON(apiStream)
-                for cmd in cmds:
-                    self.generate(cmd)
-                self.finalize()
-
-
-def getText(elements):
-    return elements[0].childNodes[0].nodeValue.strip()
-
-if __name__ == "__main__":
-    parser = OptionParser()
-    parser.add_option("-o", "--output", dest="output",
-                      help="The path to the generated code entities, default\
- is .")
-    parser.add_option("-s", "--specfile", dest="spec",
-                      help="The path and name of the api spec xml file,\
- default is /etc/cloud/cli/commands.xml")
-    parser.add_option("-e", "--endpoint", dest="endpoint",
-                      help="The endpoint mgmt server (with open 8096) where\
- apis are discovered, default is localhost")
-
-    (options, args) = parser.parse_args()
-
-    folder = "."
-    if options.output is not None:
-        folder = options.output
-    apiModule = folder + "/cloudstackAPI"
-    if not os.path.exists(apiModule):
-        try:
-            os.mkdir(apiModule)
-        except:
-            print "Failed to create folder %s, due to %s" % (apiModule,
-                                                             sys.exc_info())
-            print parser.print_help()
-            exit(2)
-
-    apiSpecFile = "/etc/cloud/cli/commands.xml"
-    if options.spec is not None:
-        apiSpecFile = options.spec
-        if not os.path.exists(apiSpecFile):
-            print "the spec file %s does not exists" % apiSpecFile
-            print parser.print_help()
-            exit(1)
-
-    cg = codeGenerator(folder)
-    if options.spec is not None:
-        cg.generateCodeFromXML(apiSpecFile)
-    elif options.endpoint is not None:
-        endpointUrl = 'http://%s:8096/client/api?command=listApis&\
-response=json' % options.endpoint
-        cg.generateCodeFromJSON(endpointUrl)

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/configGenerator.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/configGenerator.py b/tools/marvin/build/lib/marvin/configGenerator.py
deleted file mode 100644
index a966ae0..0000000
--- a/tools/marvin/build/lib/marvin/configGenerator.py
+++ /dev/null
@@ -1,870 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import json
-import os
-from optparse import OptionParser
-import jsonHelper
-
-
-class managementServer(object):
-    def __init__(self):
-        self.mgtSvrIp = None
-        self.port = 8096
-        self.apiKey = None
-        self.securityKey = None
-
-
-class dbServer(object):
-    def __init__(self):
-        self.dbSvr = None
-        self.port = 3306
-        self.user = "cloud"
-        self.passwd = "cloud"
-        self.db = "cloud"
-
-
-class configuration(object):
-    def __init__(self):
-        self.name = None
-        self.value = None
-
-
-class logger(object):
-    def __init__(self):
-        '''TestCase/TestClient'''
-        self.name = None
-        self.file = None
-
-
-class cloudstackConfiguration(object):
-    def __init__(self):
-        self.zones = []
-        self.mgtSvr = []
-        self.dbSvr = None
-        self.globalConfig = []
-        self.logger = []
-
-
-class zone(object):
-    def __init__(self):
-        self.dns1 = None
-        self.internaldns1 = None
-        self.name = None
-        '''Basic or Advanced'''
-        self.networktype = None
-        self.dns2 = None
-        self.internaldns2 = None
-        self.securitygroupenabled = None
-        self.localstorageenabled = None
-        '''default public network, in advanced mode'''
-        self.ipranges = []
-        self.physical_networks = []
-        self.pods = []
-        self.secondaryStorages = []
-        self.cacheStorages = []
-
-
-class traffictype(object):
-    def __init__(self, typ, labeldict=None):
-        self.typ = typ  # Guest/Management/Public
-        if labeldict:
-            self.xen = labeldict['xen'] if 'xen' in labeldict.keys() else None
-            self.kvm = labeldict['kvm'] if 'kvm' in labeldict.keys() else None
-            self.vmware = labeldict['vmware']\
-                if 'vmware' in labeldict.keys() else None
-            self.simulator = labeldict['simulator']\
-                if 'simulator' in labeldict.keys() else None
-        #{
-        #    'xen' : 'cloud-xen',
-        #    'kvm' : 'cloud-kvm',
-        #    'vmware' : 'cloud-vmware'
-        #}
-
-
-class pod(object):
-    def __init__(self):
-        self.gateway = None
-        self.name = None
-        self.netmask = None
-        self.startip = None
-        self.endip = None
-        self.zoneid = None
-        self.clusters = []
-        self.vmwaredc = []
-        '''Used in basic network mode'''
-        self.guestIpRanges = []
-
-
-class VmwareDc(object):
-    def __init__(self):
-        self.zoneid = None
-        self.name = None
-        self.vcenter = None
-        self.username = None
-        self.password = None
-
-
-class cluster(object):
-    def __init__(self):
-        self.clustername = None
-        self.clustertype = None
-        self.hypervisor = None
-        self.zoneid = None
-        self.podid = None
-        self.password = None
-        self.url = None
-        self.username = None
-        self.hosts = []
-        self.primaryStorages = []
-
-
-class host(object):
-    def __init__(self):
-        self.hypervisor = None
-        self.password = None
-        self.url = None
-        self.username = None
-        self.zoneid = None
-        self.podid = None
-        self.clusterid = None
-        self.clustername = None
-        self.cpunumber = None
-        self.cpuspeed = None
-        self.hostmac = None
-        self.hosttags = None
-        self.memory = None
-
-
-class physical_network(object):
-    def __init__(self):
-        self.name = None
-        self.tags = []
-        self.traffictypes = []
-        self.broadcastdomainrange = 'Zone'
-        self.vlan = None
-        self.isolationmethods = []
-        '''enable default virtual router provider'''
-        vrouter = provider()
-        vrouter.name = 'VirtualRouter'
-        self.providers = [vrouter]
-
-
-class provider(object):
-    def __init__(self, name=None):
-        self.name = name
-        self.state = None
-        self.broadcastdomainrange = 'ZONE'
-        self.zoneid = None
-        self.servicelist = []
-        self.devices = []
-
-
-class network(object):
-    def __init__(self):
-        self.displaytext = None
-        self.name = None
-        self.zoneid = None
-        self.acltype = None
-        self.domainid = None
-        self.networkdomain = None
-        self.networkofferingid = None
-        self.ipranges = []
-
-
-class iprange(object):
-    def __init__(self):
-        '''tagged/untagged'''
-        self.gateway = None
-        self.netmask = None
-        self.startip = None
-        self.endip = None
-        self.vlan = None
-        '''for account specific '''
-        self.account = None
-        self.domain = None
-
-
-class primaryStorage(object):
-    def __init__(self):
-        self.name = None
-        self.url = None
-
-
-class secondaryStorage(object):
-    def __init__(self):
-        self.url = None
-        self.provider = None
-        self.details = None
-
-
-class cacheStorage(object):
-    def __init__(self):
-        self.url = None
-        self.provider = None
-        self.details = None
-
-
-class s3(object):
-    def __init__(self):
-        self.accesskey = None
-        self.secretkey = None
-        self.bucket = None
-        self.endpoint = None
-        self.sockettimeout = None
-        self.connectiontimeout = None
-        self.maxerrorrety = None
-        self.usehttps = None
-
-
-class netscaler(object):
-    def __init__(self, hostname=None, username='nsroot', password='nsroot'):
-        self.hostname = hostname
-        self.username = username
-        self.password = password
-        self.networkdevicetype = 'NetscalerVPXLoadBalancer'
-        self.publicinterface = '1/1'
-        self.privateinterface = '1/1'
-        self.numretries = '2'
-        self.lbdevicecapacity = '50'
-        self.lbdevicededicated = 'false'
-
-    def getUrl(self):
-        return repr(self)
-
-    def __repr__(self):
-        req = zip(self.__dict__.keys(), self.__dict__.values())
-        return self.hostname+"?" + "&".join(["=".join([r[0], r[1]])
-                                             for r in req])
-
-
-class srx(object):
-    def __init__(self, hostname=None, username='root', password='admin'):
-        self.hostname = hostname
-        self.username = username
-        self.password = password
-        self.networkdevicetype = 'JuniperSRXFirewall'
-        self.publicinterface = '1/1'
-        self.privateinterface = '1/1'
-        self.numretries = '2'
-        self.fwdevicededicated = 'false'
-        self.timeout = '300'
-        self.publicnetwork = 'untrusted'
-        self.privatenetwork = 'trusted'
-
-    def getUrl(self):
-        return repr(self)
-
-    def __repr__(self):
-        req = zip(self.__dict__.keys(), self.__dict__.values())
-        return self.hostname+"?" + "&".join(["=".join([r[0], r[1]])
-                                             for r in req])
-
-
-class bigip(object):
-    def __init__(self, hostname=None, username='root', password='default'):
-        self.hostname = hostname
-        self.username = username
-        self.password = password
-        self.networkdevicetype = 'F5BigIpLoadBalancer'
-        self.publicinterface = '1/1'
-        self.privateinterface = '1/1'
-        self.numretries = '2'
-        self.lbdevicededicated = 'false'
-        self.lbdevicecapacity = '50'
-
-    def getUrl(self):
-        return repr(self)
-
-    def __repr__(self):
-        req = zip(self.__dict__.keys(), self.__dict__.values())
-        return self.hostname+"?" + "&".join(["=".join([r[0], r[1]])
-                                             for r in req])
-
-
-def getDeviceUrl(obj):
-    req = zip(obj.__dict__.keys(), obj.__dict__.values())
-    if obj.hostname:
-        return "http://" + obj.hostname+"?" + "&".join(["=".join([r[0],
-                                                                  r[1]])
-                                                        for r in req])
-    else:
-        return None
-
-
-def describe_setup_in_basic_mode():
-    '''sample code to generate setup configuration file'''
-    zs = cloudstackConfiguration()
-
-    for l in range(1):
-        z = zone()
-        z.dns1 = "8.8.8.8"
-        z.dns2 = "8.8.4.4"
-        z.internaldns1 = "192.168.110.254"
-        z.internaldns2 = "192.168.110.253"
-        z.name = "test"+str(l)
-        z.networktype = 'Basic'
-        z.securitygroupenabled = 'True'
-
-        #If security groups are reqd
-        sgprovider = provider()
-        sgprovider.broadcastdomainrange = 'Pod'
-        sgprovider.name = 'SecurityGroupProvider'
-
-        pn = physical_network()
-        pn.name = "test-network"
-        pn.traffictypes = [traffictype("Guest"), traffictype("Management")]
-        pn.providers.append(sgprovider)
-
-        z.physical_networks.append(pn)
-
-        '''create 10 pods'''
-        for i in range(2):
-            p = pod()
-            p.name = "test" + str(l) + str(i)
-            p.gateway = "192.168.%d.1" % i
-            p.netmask = "255.255.255.0"
-            p.startip = "192.168.%d.150" % i
-            p.endip = "192.168.%d.220" % i
-
-            '''add two pod guest ip ranges'''
-            for j in range(2):
-                ip = iprange()
-                ip.gateway = p.gateway
-                ip.netmask = p.netmask
-                ip.startip = "192.168.%d.%d" % (i, j*20)
-                ip.endip = "192.168.%d.%d" % (i, j*20+10)
-
-                p.guestIpRanges.append(ip)
-
-            '''add 10 clusters'''
-            for j in range(2):
-                c = cluster()
-                c.clustername = "test"+str(l)+str(i) + str(j)
-                c.clustertype = "CloudManaged"
-                c.hypervisor = "Simulator"
-
-                '''add 10 hosts'''
-                for k in range(2):
-                    h = host()
-                    h.username = "root"
-                    h.password = "password"
-                    memory = 8*1024*1024*1024
-                    localstorage = 1*1024*1024*1024*1024
-                    h.url = "http://sim/%d%d%d%d" % (l, i, j, k)
-                    c.hosts.append(h)
-
-                '''add 2 primary storages'''
-                for m in range(2):
-                    primary = primaryStorage()
-                    primary.name = "primary"+str(l) + str(i) + str(j) + str(m)
-                    primary.url = "nfs://localhost/path%s" % (str(l) + str(i) +
-                                                              str(j) + str(m))
-                    c.primaryStorages.append(primary)
-
-                p.clusters.append(c)
-
-            z.pods.append(p)
-
-        '''add two secondary'''
-        for i in range(5):
-            secondary = secondaryStorage()
-            secondary.url = "nfs://localhost/path"+str(l) + str(i)
-            z.secondaryStorages.append(secondary)
-
-        zs.zones.append(z)
-
-    '''Add one mgt server'''
-    mgt = managementServer()
-    mgt.mgtSvrIp = "localhost"
-    zs.mgtSvr.append(mgt)
-
-    '''Add a database'''
-    db = dbServer()
-    db.dbSvr = "localhost"
-
-    zs.dbSvr = db
-
-    '''add global configuration'''
-    global_settings = {'expunge.delay': '60',
-                       'expunge.interval': '60',
-                       'expunge.workers': '3',
-                       }
-    for k, v in global_settings.iteritems():
-        cfg = configuration()
-        cfg.name = k
-        cfg.value = v
-        zs.globalConfig.append(cfg)
-
-    ''''add loggers'''
-    testClientLogger = logger()
-    testClientLogger.name = "TestClient"
-    testClientLogger.file = "/tmp/testclient.log"
-
-    testCaseLogger = logger()
-    testCaseLogger.name = "TestCase"
-    testCaseLogger.file = "/tmp/testcase.log"
-
-    zs.logger.append(testClientLogger)
-    zs.logger.append(testCaseLogger)
-
-    return zs
-
-
-def describe_setup_in_eip_mode():
-    """
-    Setting up an EIP/ELB enabled zone with netscaler provider
-    """
-    zs = cloudstackConfiguration()
-
-    for l in range(1):
-        z = zone()
-        z.dns1 = "8.8.8.8"
-        z.dns2 = "8.8.4.4"
-        z.internaldns1 = "192.168.110.254"
-        z.internaldns2 = "192.168.110.253"
-        z.name = "test"+str(l)
-        z.networktype = 'Basic'
-
-        ips = iprange()
-        ips.vlan = "49"
-        ips.startip = "10.147.49.200"
-        ips.endip = "10.147.49.250"
-        ips.gateway = "10.147.49.1"
-        ips.netmask = "255.255.255.0"
-        z.ipranges.append(ips)
-
-        #If security groups are reqd
-        sgprovider = provider()
-        sgprovider.broadcastdomainrange = 'Pod'
-        sgprovider.name = 'SecurityGroupProvider'
-
-        nsprovider = provider()
-        nsprovider.name = 'Netscaler'
-        ns = netscaler()
-        ns.hostname = '10.147.40.100'
-        nsprovider.devices.append(ns)
-
-        pn = physical_network()
-        pn.name = "test-network"
-        pn.traffictypes = [traffictype("Guest",
-                                       {"xen": "cloud-guest"}),
-                           traffictype("Management"),
-                           traffictype("Public", {"xen": "cloud-public"})]
-        pn.providers.extend([sgprovider, nsprovider])
-        z.physical_networks.append(pn)
-
-        '''create 10 pods'''
-        for i in range(2):
-            p = pod()
-            p.name = "test" + str(l) + str(i)
-            p.gateway = "192.168.%d.1" % i
-            p.netmask = "255.255.255.0"
-            p.startip = "192.168.%d.150" % i
-            p.endip = "192.168.%d.220" % i
-
-            '''add two pod guest ip ranges'''
-            for j in range(2):
-                ip = iprange()
-                ip.gateway = p.gateway
-                ip.netmask = p.netmask
-                ip.startip = "192.168.%d.%d" % (i, j*20)
-                ip.endip = "192.168.%d.%d" % (i, j*20+10)
-
-                p.guestIpRanges.append(ip)
-
-            '''add 10 clusters'''
-            for j in range(2):
-                c = cluster()
-                c.clustername = "test"+str(l)+str(i) + str(j)
-                c.clustertype = "CloudManaged"
-                c.hypervisor = "Simulator"
-
-                '''add 10 hosts'''
-                for k in range(2):
-                    h = host()
-                    h.username = "root"
-                    h.password = "password"
-                    h.url = "http://Sim/%d%d%d%d" % (l, i, j, k)
-                    c.hosts.append(h)
-
-                '''add 2 primary storages'''
-                for m in range(2):
-                    primary = primaryStorage()
-                    primary.name = "primary"+str(l) + str(i) + str(j) + str(m)
-                    primary.url = "nfs://localhost/path%s" % (str(l) + str(i)
-                                                              + str(j)
-                                                              + str(m))
-                    c.primaryStorages.append(primary)
-
-                p.clusters.append(c)
-
-            z.pods.append(p)
-
-        '''add two secondary'''
-        for i in range(5):
-            secondary = secondaryStorage()
-            secondary.url = "nfs://localhost/path"+str(l) + str(i)
-            z.secondaryStorages.append(secondary)
-
-        zs.zones.append(z)
-
-    '''Add one mgt server'''
-    mgt = managementServer()
-    mgt.mgtSvrIp = "localhost"
-    zs.mgtSvr.append(mgt)
-
-    '''Add a database'''
-    db = dbServer()
-    db.dbSvr = "localhost"
-
-    zs.dbSvr = db
-
-    '''add global configuration'''
-    global_settings = {'expunge.delay': '60',
-                       'expunge.interval': '60',
-                       'expunge.workers': '3',
-                       }
-    for k, v in global_settings.iteritems():
-        cfg = configuration()
-        cfg.name = k
-        cfg.value = v
-        zs.globalConfig.append(cfg)
-
-    ''''add loggers'''
-    testClientLogger = logger()
-    testClientLogger.name = "TestClient"
-    testClientLogger.file = "/tmp/testclient.log"
-
-    testCaseLogger = logger()
-    testCaseLogger.name = "TestCase"
-    testCaseLogger.file = "/tmp/testcase.log"
-
-    zs.logger.append(testClientLogger)
-    zs.logger.append(testCaseLogger)
-
-    return zs
-
-
-def describe_setup_in_advanced_mode():
-    '''sample code to generate setup configuration file'''
-    zs = cloudstackConfiguration()
-
-    for l in range(1):
-        z = zone()
-        z.dns1 = "8.8.8.8"
-        z.dns2 = "8.8.4.4"
-        z.internaldns1 = "192.168.110.254"
-        z.internaldns2 = "192.168.110.253"
-        z.name = "test"+str(l)
-        z.networktype = 'Advanced'
-        z.guestcidraddress = "10.1.1.0/24"
-        z.vlan = "100-2000"
-
-        pn = physical_network()
-        pn.name = "test-network"
-        pn.traffictypes = [traffictype("Guest"), traffictype("Management"),
-                           traffictype("Public")]
-
-        vpcprovider = provider('VpcVirtualRouter')
-
-        nsprovider = provider('Netscaler')
-        nsprovider.devices.append(netscaler(hostname='10.147.40.100'))
-
-        srxprovider = provider('JuniperSRX')
-        srxprovider.devices.append(srx(hostname='10.147.40.3'))
-
-        f5provider = provider('F5BigIp')
-        f5provider.devices.append(bigip(hostname='10.147.40.3'))
-
-        pn.providers.extend([vpcprovider, nsprovider, srxprovider, f5provider])
-        z.physical_networks.append(pn)
-
-        '''create 10 pods'''
-        for i in range(2):
-            p = pod()
-            p.name = "test" + str(l) + str(i)
-            p.gateway = "192.168.%d.1" % i
-            p.netmask = "255.255.255.0"
-            p.startip = "192.168.%d.200" % i
-            p.endip = "192.168.%d.220" % i
-
-            '''add 10 clusters'''
-            for j in range(2):
-                c = cluster()
-                c.clustername = "test"+str(l)+str(i) + str(j)
-                c.clustertype = "CloudManaged"
-                c.hypervisor = "Simulator"
-
-                '''add 10 hosts'''
-                for k in range(2):
-                    h = host()
-                    h.username = "root"
-                    h.password = "password"
-                    memory = 8 * 1024 * 1024 * 1024
-                    localstorage = 1 * 1024 * 1024 * 1024 * 1024
-                    #h.url = "http://sim/%d%d%d%d/cpucore=1&cpuspeed=8000&\
-                    #    memory=%d&localstorage=%d"%(l, i, j, k, memory,
-                    #                                localstorage)
-                    h.url = "http://sim/%d%d%d%d" % (l, i, j, k)
-                    c.hosts.append(h)
-
-                '''add 2 primary storages'''
-                for m in range(2):
-                    primary = primaryStorage()
-                    primary.name = "primary"+str(l) + str(i) + str(j) + str(m)
-                    #primary.url = "nfs://localhost/path%s/size=%d" %
-                    #    (str(l) + str(i) + str(j) + str(m), size)
-                    primary.url = "nfs://localhost/path%s" % (str(l) + str(i)
-                                                              + str(j)
-                                                              + str(m))
-                    c.primaryStorages.append(primary)
-
-                p.clusters.append(c)
-
-            z.pods.append(p)
-
-        '''add two secondary'''
-        for i in range(5):
-            secondary = secondaryStorage()
-            secondary.url = "nfs://localhost/path"+str(l) + str(i)
-            z.secondaryStorages.append(secondary)
-
-        '''add default public network'''
-        ips = iprange()
-        ips.vlan = "26"
-        ips.startip = "172.16.26.2"
-        ips.endip = "172.16.26.100"
-        ips.gateway = "172.16.26.1"
-        ips.netmask = "255.255.255.0"
-        z.ipranges.append(ips)
-
-        zs.zones.append(z)
-
-    '''Add one mgt server'''
-    mgt = managementServer()
-    mgt.mgtSvrIp = "localhost"
-    zs.mgtSvr.append(mgt)
-
-    '''Add a database'''
-    db = dbServer()
-    db.dbSvr = "localhost"
-
-    zs.dbSvr = db
-
-    '''add global configuration'''
-    global_settings = {'expunge.delay': '60',
-                       'expunge.interval': '60',
-                       'expunge.workers': '3',
-                       }
-    for k, v in global_settings.iteritems():
-        cfg = configuration()
-        cfg.name = k
-        cfg.value = v
-        zs.globalConfig.append(cfg)
-
-    ''''add loggers'''
-    testClientLogger = logger()
-    testClientLogger.name = "TestClient"
-    testClientLogger.file = "/tmp/testclient.log"
-
-    testCaseLogger = logger()
-    testCaseLogger.name = "TestCase"
-    testCaseLogger.file = "/tmp/testcase.log"
-
-    zs.logger.append(testClientLogger)
-    zs.logger.append(testCaseLogger)
-
-    return zs
-
-'''sample code to generate setup configuration file'''
-
-
-def describe_setup_in_advancedsg_mode():
-    zs = cloudstackConfiguration()
-
-    for l in range(1):
-        z = zone()
-        z.dns1 = "8.8.8.8"
-        z.dns2 = "8.8.4.4"
-        z.internaldns1 = "192.168.110.254"
-        z.internaldns2 = "192.168.110.253"
-        z.name = "test"+str(l)
-        z.networktype = 'Advanced'
-        z.vlan = "100-2000"
-        z.securitygroupenabled = "true"
-
-        pn = physical_network()
-        pn.name = "test-network"
-        pn.traffictypes = [traffictype("Guest"), traffictype("Management")]
-
-        #If security groups are reqd
-        sgprovider = provider()
-        sgprovider.broadcastdomainrange = 'ZONE'
-        sgprovider.name = 'SecurityGroupProvider'
-
-        pn.providers.append(sgprovider)
-        z.physical_networks.append(pn)
-
-        '''create 10 pods'''
-        for i in range(2):
-            p = pod()
-            p.name = "test" + str(l) + str(i)
-            p.gateway = "192.168.%d.1" % i
-            p.netmask = "255.255.255.0"
-            p.startip = "192.168.%d.200" % i
-            p.endip = "192.168.%d.220" % i
-
-            '''add 10 clusters'''
-            for j in range(2):
-                c = cluster()
-                c.clustername = "test"+str(l)+str(i) + str(j)
-                c.clustertype = "CloudManaged"
-                c.hypervisor = "Simulator"
-
-                '''add 10 hosts'''
-                for k in range(2):
-                    h = host()
-                    h.username = "root"
-                    h.password = "password"
-                    memory = 8 * 1024 * 1024 * 1024
-                    localstorage = 1 * 1024 * 1024 * 1024 * 1024
-                    #h.url = "http://sim/%d%d%d%d/cpucore=1&cpuspeed=8000&\
-                        #memory=%d&localstorage=%d" % (l, i, j, k, memory,
-                        #localstorage)
-                    h.url = "http://sim/%d%d%d%d" % (l, i, j, k)
-                    c.hosts.append(h)
-
-                '''add 2 primary storages'''
-                for m in range(2):
-                    primary = primaryStorage()
-                    primary.name = "primary"+str(l) + str(i) + str(j) + str(m)
-                    #primary.url = "nfs://localhost/path%s/size=%d" % \
-                        #(str(l) + str(i) + str(j) + str(m), size)
-                    primary.url = "nfs://localhost/path%s" % \
-                        (str(l) + str(i) + str(j) + str(m))
-                    c.primaryStorages.append(primary)
-
-                p.clusters.append(c)
-
-            z.pods.append(p)
-
-        '''add two secondary'''
-        for i in range(5):
-            secondary = secondaryStorage()
-            secondary.url = "nfs://localhost/path"+str(l) + str(i)
-            z.secondaryStorages.append(secondary)
-
-        '''add default guest network'''
-        ips = iprange()
-        ips.vlan = "26"
-        ips.startip = "172.16.26.2"
-        ips.endip = "172.16.26.100"
-        ips.gateway = "172.16.26.1"
-        ips.netmask = "255.255.255.0"
-        z.ipranges.append(ips)
-
-        zs.zones.append(z)
-
-    '''Add one mgt server'''
-    mgt = managementServer()
-    mgt.mgtSvrIp = "localhost"
-    zs.mgtSvr.append(mgt)
-
-    '''Add a database'''
-    db = dbServer()
-    db.dbSvr = "localhost"
-
-    zs.dbSvr = db
-
-    '''add global configuration'''
-    global_settings = {'expunge.delay': '60',
-                       'expunge.interval': '60',
-                       'expunge.workers': '3',
-                       }
-    for k, v in global_settings.iteritems():
-        cfg = configuration()
-        cfg.name = k
-        cfg.value = v
-        zs.globalConfig.append(cfg)
-
-    ''''add loggers'''
-    testClientLogger = logger()
-    testClientLogger.name = "TestClient"
-    testClientLogger.file = "/tmp/testclient.log"
-
-    testCaseLogger = logger()
-    testCaseLogger.name = "TestCase"
-    testCaseLogger.file = "/tmp/testcase.log"
-
-    zs.logger.append(testClientLogger)
-    zs.logger.append(testCaseLogger)
-
-    return zs
-
-
-def generate_setup_config(config, file=None):
-    describe = config
-    if file is None:
-        return json.dumps(jsonHelper.jsonDump.dump(describe))
-    else:
-        fp = open(file, 'w')
-        json.dump(jsonHelper.jsonDump.dump(describe), fp, indent=4)
-        fp.close()
-
-
-def get_setup_config(file):
-    if not os.path.exists(file):
-        raise IOError("config file %s not found. \
-please specify a valid config file" % file)
-    config = cloudstackConfiguration()
-    configLines = []
-    with open(file, 'r') as fp:
-        for line in fp:
-            ws = line.strip()
-            if not ws.startswith("#"):
-                configLines.append(ws)
-    config = json.loads("\n".join(configLines))
-    return jsonHelper.jsonLoader(config)
-
-if __name__ == "__main__":
-    parser = OptionParser()
-
-    parser.add_option("-i", "--input", action="store", default=None,
-                      dest="inputfile", help="input file")
-    parser.add_option("-a", "--advanced", action="store_true", default=False,
-                      dest="advanced", help="use advanced networking")
-    parser.add_option("-s", "--advancedsg", action="store_true", default=False,
-                      dest="advancedsg", help="use advanced networking \
-with security groups")
-    parser.add_option("-o", "--output", action="store",
-                      default="./datacenterCfg", dest="output",
-                      help="the path where the json config file generated, \
-by default is ./datacenterCfg")
-
-    (options, args) = parser.parse_args()
-
-    if options.inputfile:
-        config = get_setup_config(options.inputfile)
-    if options.advanced:
-        config = describe_setup_in_advanced_mode()
-    elif options.advancedsg:
-        config = describe_setup_in_advancedsg_mode()
-    else:
-        config = describe_setup_in_basic_mode()
-
-    generate_setup_config(config, options.output)

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/tools/marvin/build/lib/marvin/dbConnection.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/dbConnection.py b/tools/marvin/build/lib/marvin/dbConnection.py
deleted file mode 100644
index 99014ab..0000000
--- a/tools/marvin/build/lib/marvin/dbConnection.py
+++ /dev/null
@@ -1,86 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import mysql
-import contextlib
-from mysql import connector
-from mysql.connector import errors
-from contextlib import closing
-import cloudstackException
-import sys
-import os
-
-
-class dbConnection(object):
-    def __init__(self, host="localhost", port=3306, user='cloud',
-                 passwd='cloud', db='cloud'):
-        self.host = host
-        self.port = port
-        self.user = str(user)  # Workaround: http://bugs.mysql.com/?id=67306
-        self.passwd = passwd
-        self.database = db
-
-    def execute(self, sql=None, params=None):
-        if sql is None:
-            return None
-
-        resultRow = []
-        with contextlib.\
-            closing(mysql.connector.connect(host=str(self.host),
-                                            port=int(self.port),
-                                            user=str(self.user),
-                                            password=str(self.passwd),
-                                            db=str(self.database))) as conn:
-            conn.autocommit = True
-            with contextlib.closing(conn.cursor(buffered=True)) as cursor:
-                cursor.execute(sql, params)
-                try:
-                    resultRow = cursor.fetchall()
-                except errors.InterfaceError:
-                    #Raised on empty result - DML
-                    resultRow = []
-        return resultRow
-
-    def executeSqlFromFile(self, fileName=None):
-        if fileName is None:
-            raise cloudstackException.\
-                InvalidParameterException("file can't not none")
-
-        if not os.path.exists(fileName):
-            raise cloudstackException.\
-                InvalidParameterException("%s not exists" % fileName)
-
-        sqls = open(fileName, "r").read()
-        return self.execute(sqls)
-
-if __name__ == "__main__":
-    db = dbConnection()
-    '''
-    try:
-
-        result = db.executeSqlFromFile("/tmp/server-setup.sql")
-        if result is not None:
-            for r in result:
-                print r[0], r[1]
-    except cloudstackException.dbException, e:
-        print e
-    '''
-    print db.execute("update vm_template set name='fjkd' where id=200")
-    for i in range(10):
-        result = db.execute("select job_status, created, \
-last_updated from async_job where id=%d" % i)
-        print result


[18/29] Revert "CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention"

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/65b12f45/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
deleted file mode 100644
index cd6d34c..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/findHostsForMigration.py
+++ /dev/null
@@ -1,126 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 71fda44..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/findStoragePoolsForMigration.py
+++ /dev/null
@@ -1,84 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 26dbdbc..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/generateUsageRecords.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 7b500fa..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/getApiLimit.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 42823a5..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/getCloudIdentifier.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 88a5c33..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/getUser.py
+++ /dev/null
@@ -1,66 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index e4c519b..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/getVMPassword.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index d7c1286..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/ldapCreateAccount.py
+++ /dev/null
@@ -1,190 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 85a75a6..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listAccounts.py
+++ /dev/null
@@ -1,192 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 091d391..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listAffinityGroupTypes.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index b74791e..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listAffinityGroups.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index bcbd1cf..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listAlerts.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 9926969..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listApis.py
+++ /dev/null
@@ -1,75 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 7670845..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listAsyncJobs.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index a579b5c..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listAutoScalePolicies.py
+++ /dev/null
@@ -1,71 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 04e79e4..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listAutoScaleVmGroups.py
+++ /dev/null
@@ -1,83 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 6e3244d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listAutoScaleVmProfiles.py
+++ /dev/null
@@ -1,75 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 073706d..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listBaremetalDhcp.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 5b9bb22..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listBaremetalPxeServers.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 6f7bc81..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listBigSwitchVnsDevices.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 317ff24..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listCapabilities.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index adf6452..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listCapacity.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index c0cc067..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listClusters.py
+++ /dev/null
@@ -1,102 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index f19c205..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listConditions.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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/65b12f45/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
deleted file mode 100644
index 5382323..0000000
--- a/tools/marvin/build/lib/marvin/cloudstackAPI/listConfigurations.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-"""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
-