You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ts...@apache.org on 2013/01/28 14:48:49 UTC

[10/12] marvin-refactor: add body to all the entities in base

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/NetworkDevice.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/NetworkDevice.py b/tools/marvin/marvin/integration/lib/base/NetworkDevice.py
index a86665d..073a328 100644
--- a/tools/marvin/marvin/integration/lib/base/NetworkDevice.py
+++ b/tools/marvin/marvin/integration/lib/base/NetworkDevice.py
@@ -14,20 +14,35 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import addNetworkDevice
+from marvin.cloudstackAPI import listNetworkDevice
+from marvin.cloudstackAPI import deleteNetworkDevice
+
 class NetworkDevice(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def add(self, apiclient, **kwargs):
-        pass
+        cmd = addNetworkDevice.addNetworkDeviceCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        networkdevice = apiclient.addNetworkDevice(cmd)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listNetworkDevice.listNetworkDeviceCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        networkdevice = apiclient.listNetworkDevice(cmd)
+        return map(lambda e: NetworkDevice(e.__dict__), networkdevice)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deleteNetworkDevice.deleteNetworkDeviceCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        networkdevice = apiclient.deleteNetworkDevice(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/NetworkOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/NetworkOffering.py b/tools/marvin/marvin/integration/lib/base/NetworkOffering.py
index c78fa9a..0f27383 100644
--- a/tools/marvin/marvin/integration/lib/base/NetworkOffering.py
+++ b/tools/marvin/marvin/integration/lib/base/NetworkOffering.py
@@ -14,24 +14,45 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createNetworkOffering
+from marvin.cloudstackAPI import listNetworkOfferings
+from marvin.cloudstackAPI import updateNetworkOffering
+from marvin.cloudstackAPI import deleteNetworkOffering
+
 class NetworkOffering(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
     def create(cls, apiclient, NetworkOfferingFactory, **kwargs):
-        pass
+        cmd = createNetworkOffering.createNetworkOfferingCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in NetworkOfferingFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        networkoffering = apiclient.createNetworkOffering(cmd)
+        return NetworkOffering(networkoffering.__dict__)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listNetworkOfferings.listNetworkOfferingsCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        networkoffering = apiclient.listNetworkOfferings(cmd)
+        return map(lambda e: NetworkOffering(e.__dict__), networkoffering)
+
 
     def update(self, apiclient, **kwargs):
-        pass
+        cmd = updateNetworkOffering.updateNetworkOfferingCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        networkoffering = apiclient.updateNetworkOffering(cmd)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deleteNetworkOffering.deleteNetworkOfferingCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        networkoffering = apiclient.deleteNetworkOffering(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/NetworkServiceProvider.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/NetworkServiceProvider.py b/tools/marvin/marvin/integration/lib/base/NetworkServiceProvider.py
index 8b7b38f..e2b3ac8 100644
--- a/tools/marvin/marvin/integration/lib/base/NetworkServiceProvider.py
+++ b/tools/marvin/marvin/integration/lib/base/NetworkServiceProvider.py
@@ -14,23 +14,45 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import addNetworkServiceProvider
+from marvin.cloudstackAPI import listNetworkServiceProviders
+from marvin.cloudstackAPI import updateNetworkServiceProvider
+from marvin.cloudstackAPI import deleteNetworkServiceProvider
+
 class NetworkServiceProvider(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def add(self, apiclient, physicalnetworkid, name, **kwargs):
-        pass
+        cmd = addNetworkServiceProvider.addNetworkServiceProviderCmd()
+        cmd.name = name
+        cmd.physicalnetworkid = physicalnetworkid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        networkserviceprovider = apiclient.addNetworkServiceProvider(cmd)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listNetworkServiceProviders.listNetworkServiceProvidersCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        networkserviceprovider = apiclient.listNetworkServiceProviders(cmd)
+        return map(lambda e: NetworkServiceProvider(e.__dict__), networkserviceprovider)
+
 
     def update(self, apiclient, id, **kwargs):
-        pass
+        cmd = updateNetworkServiceProvider.updateNetworkServiceProviderCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        networkserviceprovider = apiclient.updateNetworkServiceProvider(cmd)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deleteNetworkServiceProvider.deleteNetworkServiceProviderCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        networkserviceprovider = apiclient.deleteNetworkServiceProvider(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/NiciraNvpDevice.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/NiciraNvpDevice.py b/tools/marvin/marvin/integration/lib/base/NiciraNvpDevice.py
index 84d2e33..706f944 100644
--- a/tools/marvin/marvin/integration/lib/base/NiciraNvpDevice.py
+++ b/tools/marvin/marvin/integration/lib/base/NiciraNvpDevice.py
@@ -14,20 +14,40 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import addNiciraNvpDevice
+from marvin.cloudstackAPI import listNiciraNvpDevices
+from marvin.cloudstackAPI import deleteNiciraNvpDevice
+
 class NiciraNvpDevice(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def add(self, apiclient, username, physicalnetworkid, password, hostname, transportzoneuuid, **kwargs):
-        pass
+        cmd = addNiciraNvpDevice.addNiciraNvpDeviceCmd()
+        cmd.hostname = hostname
+        cmd.password = password
+        cmd.physicalnetworkid = physicalnetworkid
+        cmd.transportzoneuuid = transportzoneuuid
+        cmd.username = username
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        niciranvpdevice = apiclient.addNiciraNvpDevice(cmd)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listNiciraNvpDevices.listNiciraNvpDevicesCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        niciranvpdevice = apiclient.listNiciraNvpDevices(cmd)
+        return map(lambda e: NiciraNvpDevice(e.__dict__), niciranvpdevice)
+
 
     def delete(self, apiclient, nvpdeviceid, **kwargs):
-        pass
+        cmd = deleteNiciraNvpDevice.deleteNiciraNvpDeviceCmd()
+        cmd.nvpdeviceid = nvpdeviceid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        niciranvpdevice = apiclient.deleteNiciraNvpDevice(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py b/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py
index e1b8855..070eb00 100644
--- a/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py
+++ b/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py
@@ -14,14 +14,21 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listNiciraNvpDeviceNetworks
+
 class NiciraNvpDeviceNetworks(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, nvpdeviceid, **kwargs):
+        cmd = listNiciraNvpDeviceNetworks.listNiciraNvpDeviceNetworksCmd()
+        cmd.nvpdeviceid = nvpdeviceid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        niciranvpdevicenetworks = apiclient.listNiciraNvpDeviceNetworks(cmd)
+        return map(lambda e: NiciraNvpDeviceNetworks(e.__dict__), niciranvpdevicenetworks)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/OsCategories.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/OsCategories.py b/tools/marvin/marvin/integration/lib/base/OsCategories.py
index baef62f..f773211 100644
--- a/tools/marvin/marvin/integration/lib/base/OsCategories.py
+++ b/tools/marvin/marvin/integration/lib/base/OsCategories.py
@@ -14,14 +14,20 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listOsCategories
+
 class OsCategories(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listOsCategories.listOsCategoriesCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        oscategories = apiclient.listOsCategories(cmd)
+        return map(lambda e: OsCategories(e.__dict__), oscategories)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/OsTypes.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/OsTypes.py b/tools/marvin/marvin/integration/lib/base/OsTypes.py
index 22e1b67..5f3a3fd 100644
--- a/tools/marvin/marvin/integration/lib/base/OsTypes.py
+++ b/tools/marvin/marvin/integration/lib/base/OsTypes.py
@@ -14,14 +14,20 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listOsTypes
+
 class OsTypes(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listOsTypes.listOsTypesCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        ostypes = apiclient.listOsTypes(cmd)
+        return map(lambda e: OsTypes(e.__dict__), ostypes)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py b/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py
index 561bacb..020959b 100644
--- a/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py
+++ b/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py
@@ -14,13 +14,19 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import resetPasswordForVirtualMachine
+
 class PasswordForVirtualMachine(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def reset(self, apiclient, id, **kwargs):
-        pass
+        cmd = resetPasswordForVirtualMachine.resetPasswordForVirtualMachineCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        passwordforvirtualmachine = apiclient.resetPasswordForVirtualMachine(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/PhysicalNetwork.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/PhysicalNetwork.py b/tools/marvin/marvin/integration/lib/base/PhysicalNetwork.py
index 1c20ebb..08faa33 100644
--- a/tools/marvin/marvin/integration/lib/base/PhysicalNetwork.py
+++ b/tools/marvin/marvin/integration/lib/base/PhysicalNetwork.py
@@ -14,24 +14,46 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createPhysicalNetwork
+from marvin.cloudstackAPI import listPhysicalNetworks
+from marvin.cloudstackAPI import updatePhysicalNetwork
+from marvin.cloudstackAPI import deletePhysicalNetwork
+
 class PhysicalNetwork(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
     def create(cls, apiclient, PhysicalNetworkFactory, **kwargs):
-        pass
+        cmd = createPhysicalNetwork.createPhysicalNetworkCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in PhysicalNetworkFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        physicalnetwork = apiclient.createPhysicalNetwork(cmd)
+        return PhysicalNetwork(physicalnetwork.__dict__)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listPhysicalNetworks.listPhysicalNetworksCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        physicalnetwork = apiclient.listPhysicalNetworks(cmd)
+        return map(lambda e: PhysicalNetwork(e.__dict__), physicalnetwork)
+
 
     def update(self, apiclient, id, **kwargs):
-        pass
+        cmd = updatePhysicalNetwork.updatePhysicalNetworkCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        physicalnetwork = apiclient.updatePhysicalNetwork(cmd)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deletePhysicalNetwork.deletePhysicalNetworkCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        physicalnetwork = apiclient.deletePhysicalNetwork(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Pod.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Pod.py b/tools/marvin/marvin/integration/lib/base/Pod.py
index 190ac28..3c57d09 100644
--- a/tools/marvin/marvin/integration/lib/base/Pod.py
+++ b/tools/marvin/marvin/integration/lib/base/Pod.py
@@ -14,24 +14,46 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createPod
+from marvin.cloudstackAPI import listPods
+from marvin.cloudstackAPI import updatePod
+from marvin.cloudstackAPI import deletePod
+
 class Pod(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
     def create(cls, apiclient, PodFactory, **kwargs):
-        pass
+        cmd = createPod.createPodCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in PodFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        pod = apiclient.createPod(cmd)
+        return Pod(pod.__dict__)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listPods.listPodsCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        pod = apiclient.listPods(cmd)
+        return map(lambda e: Pod(e.__dict__), pod)
+
 
     def update(self, apiclient, id, **kwargs):
-        pass
+        cmd = updatePod.updatePodCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        pod = apiclient.updatePod(cmd)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deletePod.deletePodCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        pod = apiclient.deletePod(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/PortForwardingRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/PortForwardingRule.py b/tools/marvin/marvin/integration/lib/base/PortForwardingRule.py
index c39c698..ad32244 100644
--- a/tools/marvin/marvin/integration/lib/base/PortForwardingRule.py
+++ b/tools/marvin/marvin/integration/lib/base/PortForwardingRule.py
@@ -14,24 +14,49 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createPortForwardingRule
+from marvin.cloudstackAPI import listPortForwardingRules
+from marvin.cloudstackAPI import updatePortForwardingRule
+from marvin.cloudstackAPI import deletePortForwardingRule
+
 class PortForwardingRule(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
     def create(cls, apiclient, PortForwardingRuleFactory, **kwargs):
-        pass
+        cmd = createPortForwardingRule.createPortForwardingRuleCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in PortForwardingRuleFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        portforwardingrule = apiclient.createPortForwardingRule(cmd)
+        return PortForwardingRule(portforwardingrule.__dict__)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listPortForwardingRules.listPortForwardingRulesCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        portforwardingrule = apiclient.listPortForwardingRules(cmd)
+        return map(lambda e: PortForwardingRule(e.__dict__), portforwardingrule)
+
 
     def update(self, apiclient, publicport, protocol, ipaddressid, privateport, **kwargs):
-        pass
+        cmd = updatePortForwardingRule.updatePortForwardingRuleCmd()
+        cmd.ipaddressid = ipaddressid
+        cmd.privateport = privateport
+        cmd.protocol = protocol
+        cmd.publicport = publicport
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        portforwardingrule = apiclient.updatePortForwardingRule(cmd)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deletePortForwardingRule.deletePortForwardingRuleCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        portforwardingrule = apiclient.deletePortForwardingRule(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/PrivateGateway.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/PrivateGateway.py b/tools/marvin/marvin/integration/lib/base/PrivateGateway.py
index f494968..543dc73 100644
--- a/tools/marvin/marvin/integration/lib/base/PrivateGateway.py
+++ b/tools/marvin/marvin/integration/lib/base/PrivateGateway.py
@@ -14,21 +14,38 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createPrivateGateway
+from marvin.cloudstackAPI import listPrivateGateways
+from marvin.cloudstackAPI import deletePrivateGateway
+
 class PrivateGateway(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
     def create(cls, apiclient, PrivateGatewayFactory, **kwargs):
-        pass
+        cmd = createPrivateGateway.createPrivateGatewayCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in PrivateGatewayFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        privategateway = apiclient.createPrivateGateway(cmd)
+        return PrivateGateway(privategateway.__dict__)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listPrivateGateways.listPrivateGatewaysCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        privategateway = apiclient.listPrivateGateways(cmd)
+        return map(lambda e: PrivateGateway(e.__dict__), privategateway)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deletePrivateGateway.deletePrivateGatewayCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        privategateway = apiclient.deletePrivateGateway(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Project.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Project.py b/tools/marvin/marvin/integration/lib/base/Project.py
index 02c8134..ce3ca29 100644
--- a/tools/marvin/marvin/integration/lib/base/Project.py
+++ b/tools/marvin/marvin/integration/lib/base/Project.py
@@ -14,30 +14,62 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import suspendProject
+from marvin.cloudstackAPI import createProject
+from marvin.cloudstackAPI import listProjects
+from marvin.cloudstackAPI import updateProject
+from marvin.cloudstackAPI import activateProject
+from marvin.cloudstackAPI import deleteProject
+
 class Project(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def suspend(self, apiclient, id, **kwargs):
-        pass
+        cmd = suspendProject.suspendProjectCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        project = apiclient.suspendProject(cmd)
+
 
     @classmethod
     def create(cls, apiclient, ProjectFactory, **kwargs):
-        pass
+        cmd = createProject.createProjectCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in ProjectFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        project = apiclient.createProject(cmd)
+        return Project(project.__dict__)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listProjects.listProjectsCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        project = apiclient.listProjects(cmd)
+        return map(lambda e: Project(e.__dict__), project)
+
 
     def update(self, apiclient, id, **kwargs):
-        pass
+        cmd = updateProject.updateProjectCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        project = apiclient.updateProject(cmd)
+
 
     def activate(self, apiclient, id, **kwargs):
-        pass
+        cmd = activateProject.activateProjectCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        project = apiclient.activateProject(cmd)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deleteProject.deleteProjectCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        project = apiclient.deleteProject(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py b/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py
index 207f884..5eb1394 100644
--- a/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py
+++ b/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py
@@ -14,14 +14,21 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listProjectAccounts
+
 class ProjectAccounts(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, projectid, **kwargs):
+        cmd = listProjectAccounts.listProjectAccountsCmd()
+        cmd.projectid = projectid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        projectaccounts = apiclient.listProjectAccounts(cmd)
+        return map(lambda e: ProjectAccounts(e.__dict__), projectaccounts)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ProjectInvitation.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ProjectInvitation.py b/tools/marvin/marvin/integration/lib/base/ProjectInvitation.py
index 5f45742..e93fc66 100644
--- a/tools/marvin/marvin/integration/lib/base/ProjectInvitation.py
+++ b/tools/marvin/marvin/integration/lib/base/ProjectInvitation.py
@@ -14,20 +14,36 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listProjectInvitations
+from marvin.cloudstackAPI import updateProjectInvitation
+from marvin.cloudstackAPI import deleteProjectInvitation
+
 class ProjectInvitation(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listProjectInvitations.listProjectInvitationsCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        projectinvitation = apiclient.listProjectInvitations(cmd)
+        return map(lambda e: ProjectInvitation(e.__dict__), projectinvitation)
+
 
     def update(self, apiclient, projectid, **kwargs):
-        pass
+        cmd = updateProjectInvitation.updateProjectInvitationCmd()
+        cmd.projectid = projectid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        projectinvitation = apiclient.updateProjectInvitation(cmd)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deleteProjectInvitation.deleteProjectInvitationCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        projectinvitation = apiclient.deleteProjectInvitation(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py b/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py
index 5f3b29d..092ceba 100644
--- a/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py
+++ b/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py
@@ -14,14 +14,20 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listPublicIpAddresses
+
 class PublicIpAddresses(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listPublicIpAddresses.listPublicIpAddressesCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        publicipaddresses = apiclient.listPublicIpAddresses(cmd)
+        return map(lambda e: PublicIpAddresses(e.__dict__), publicipaddresses)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/RemoteAccessVpn.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/RemoteAccessVpn.py b/tools/marvin/marvin/integration/lib/base/RemoteAccessVpn.py
index e989d91..7eb1871 100644
--- a/tools/marvin/marvin/integration/lib/base/RemoteAccessVpn.py
+++ b/tools/marvin/marvin/integration/lib/base/RemoteAccessVpn.py
@@ -14,21 +14,39 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createRemoteAccessVpn
+from marvin.cloudstackAPI import listRemoteAccessVpns
+from marvin.cloudstackAPI import deleteRemoteAccessVpn
+
 class RemoteAccessVpn(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
     def create(cls, apiclient, RemoteAccessVpnFactory, **kwargs):
-        pass
+        cmd = createRemoteAccessVpn.createRemoteAccessVpnCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in RemoteAccessVpnFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        remoteaccessvpn = apiclient.createRemoteAccessVpn(cmd)
+        return RemoteAccessVpn(remoteaccessvpn.__dict__)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, publicipid, **kwargs):
+        cmd = listRemoteAccessVpns.listRemoteAccessVpnsCmd()
+        cmd.publicipid = publicipid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        remoteaccessvpn = apiclient.listRemoteAccessVpns(cmd)
+        return map(lambda e: RemoteAccessVpn(e.__dict__), remoteaccessvpn)
+
 
     def delete(self, apiclient, publicipid, **kwargs):
-        pass
+        cmd = deleteRemoteAccessVpn.deleteRemoteAccessVpnCmd()
+        cmd.publicipid = publicipid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        remoteaccessvpn = apiclient.deleteRemoteAccessVpn(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Remove.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Remove.py b/tools/marvin/marvin/integration/lib/base/Remove.py
index 342eeaa..39e26b0 100644
--- a/tools/marvin/marvin/integration/lib/base/Remove.py
+++ b/tools/marvin/marvin/integration/lib/base/Remove.py
@@ -14,13 +14,18 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import ldapRemove
+
 class Remove(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
-    def ldap(self, apiclient):
-        pass
+    def ldap(self, apiclient, **kwargs):
+        cmd = ldapRemove.ldapRemoveCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        remove = apiclient.ldapRemove(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ResourceCount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ResourceCount.py b/tools/marvin/marvin/integration/lib/base/ResourceCount.py
index 0a39066..b6aaf7c 100644
--- a/tools/marvin/marvin/integration/lib/base/ResourceCount.py
+++ b/tools/marvin/marvin/integration/lib/base/ResourceCount.py
@@ -14,13 +14,19 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import updateResourceCount
+
 class ResourceCount(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def update(self, apiclient, domainid, **kwargs):
-        pass
+        cmd = updateResourceCount.updateResourceCountCmd()
+        cmd.domainid = domainid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        resourcecount = apiclient.updateResourceCount(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ResourceLimit.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ResourceLimit.py b/tools/marvin/marvin/integration/lib/base/ResourceLimit.py
index d51ed9e..7d1f3d8 100644
--- a/tools/marvin/marvin/integration/lib/base/ResourceLimit.py
+++ b/tools/marvin/marvin/integration/lib/base/ResourceLimit.py
@@ -14,17 +14,28 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listResourceLimits
+from marvin.cloudstackAPI import updateResourceLimit
+
 class ResourceLimit(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listResourceLimits.listResourceLimitsCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        resourcelimit = apiclient.listResourceLimits(cmd)
+        return map(lambda e: ResourceLimit(e.__dict__), resourcelimit)
+
 
     def update(self, apiclient, resourcetype, **kwargs):
-        pass
+        cmd = updateResourceLimit.updateResourceLimitCmd()
+        cmd.resourcetype = resourcetype
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        resourcelimit = apiclient.updateResourceLimit(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Router.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Router.py b/tools/marvin/marvin/integration/lib/base/Router.py
index 772a4ac..7499593 100644
--- a/tools/marvin/marvin/integration/lib/base/Router.py
+++ b/tools/marvin/marvin/integration/lib/base/Router.py
@@ -14,26 +14,52 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import destroyRouter
+from marvin.cloudstackAPI import listRouters
+from marvin.cloudstackAPI import stopRouter
+from marvin.cloudstackAPI import rebootRouter
+from marvin.cloudstackAPI import startRouter
+
 class Router(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def destroy(self, apiclient, id, **kwargs):
-        pass
+        cmd = destroyRouter.destroyRouterCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        router = apiclient.destroyRouter(cmd)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listRouters.listRoutersCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        router = apiclient.listRouters(cmd)
+        return map(lambda e: Router(e.__dict__), router)
+
 
     def stop(self, apiclient, id, **kwargs):
-        pass
+        cmd = stopRouter.stopRouterCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        router = apiclient.stopRouter(cmd)
+
 
     def reboot(self, apiclient, id, **kwargs):
-        pass
+        cmd = rebootRouter.rebootRouterCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        router = apiclient.rebootRouter(cmd)
+
 
     def start(self, apiclient, id, **kwargs):
-        pass
+        cmd = startRouter.startRouterCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        router = apiclient.startRouter(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/S3.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/S3.py b/tools/marvin/marvin/integration/lib/base/S3.py
index dfe3883..3d6f820 100644
--- a/tools/marvin/marvin/integration/lib/base/S3.py
+++ b/tools/marvin/marvin/integration/lib/base/S3.py
@@ -14,17 +14,30 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import addS3
+from marvin.cloudstackAPI import listS3s
+
 class S3(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def add(self, apiclient, secretkey, accesskey, bucket, **kwargs):
-        pass
+        cmd = addS3.addS3Cmd()
+        cmd.accesskey = accesskey
+        cmd.bucket = bucket
+        cmd.secretkey = secretkey
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        s3 = apiclient.addS3(cmd)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listS3s.listS3sCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        s3 = apiclient.listS3s(cmd)
+        return map(lambda e: S3(e.__dict__), s3)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SSHKeyPair.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SSHKeyPair.py b/tools/marvin/marvin/integration/lib/base/SSHKeyPair.py
index 1d0652a..ed1dd4a 100644
--- a/tools/marvin/marvin/integration/lib/base/SSHKeyPair.py
+++ b/tools/marvin/marvin/integration/lib/base/SSHKeyPair.py
@@ -14,24 +14,47 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createSSHKeyPair
+from marvin.cloudstackAPI import registerSSHKeyPair
+from marvin.cloudstackAPI import listSSHKeyPairs
+from marvin.cloudstackAPI import deleteSSHKeyPair
+
 class SSHKeyPair(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
     def create(cls, apiclient, SSHKeyPairFactory, **kwargs):
-        pass
+        cmd = createSSHKeyPair.createSSHKeyPairCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in SSHKeyPairFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        sshkeypair = apiclient.createSSHKeyPair(cmd)
+        return SSHKeyPair(sshkeypair.__dict__)
+
 
     def register(self, apiclient, publickey, name, **kwargs):
-        pass
+        cmd = registerSSHKeyPair.registerSSHKeyPairCmd()
+        cmd.name = name
+        cmd.publickey = publickey
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        sshkeypair = apiclient.registerSSHKeyPair(cmd)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listSSHKeyPairs.listSSHKeyPairsCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        sshkeypair = apiclient.listSSHKeyPairs(cmd)
+        return map(lambda e: SSHKeyPair(e.__dict__), sshkeypair)
+
 
     def delete(self, apiclient, name, **kwargs):
-        pass
+        cmd = deleteSSHKeyPair.deleteSSHKeyPairCmd()
+        cmd.name = name
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        sshkeypair = apiclient.deleteSSHKeyPair(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py b/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py
index 68a71f7..785506a 100644
--- a/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py
+++ b/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py
@@ -14,13 +14,19 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import addSecondaryStorage
+
 class SecondaryStorage(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def add(self, apiclient, url, **kwargs):
-        pass
+        cmd = addSecondaryStorage.addSecondaryStorageCmd()
+        cmd.url = url
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        secondarystorage = apiclient.addSecondaryStorage(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SecurityGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SecurityGroup.py b/tools/marvin/marvin/integration/lib/base/SecurityGroup.py
index b4edb84..204f778 100644
--- a/tools/marvin/marvin/integration/lib/base/SecurityGroup.py
+++ b/tools/marvin/marvin/integration/lib/base/SecurityGroup.py
@@ -14,21 +14,37 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createSecurityGroup
+from marvin.cloudstackAPI import listSecurityGroups
+from marvin.cloudstackAPI import deleteSecurityGroup
+
 class SecurityGroup(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
     def create(cls, apiclient, SecurityGroupFactory, **kwargs):
-        pass
+        cmd = createSecurityGroup.createSecurityGroupCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in SecurityGroupFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        securitygroup = apiclient.createSecurityGroup(cmd)
+        return SecurityGroup(securitygroup.__dict__)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listSecurityGroups.listSecurityGroupsCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        securitygroup = apiclient.listSecurityGroups(cmd)
+        return map(lambda e: SecurityGroup(e.__dict__), securitygroup)
+
 
     def delete(self, apiclient, **kwargs):
-        pass
+        cmd = deleteSecurityGroup.deleteSecurityGroupCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        securitygroup = apiclient.deleteSecurityGroup(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SecurityGroupEgress.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SecurityGroupEgress.py b/tools/marvin/marvin/integration/lib/base/SecurityGroupEgress.py
index 90ae706..dc37e7c 100644
--- a/tools/marvin/marvin/integration/lib/base/SecurityGroupEgress.py
+++ b/tools/marvin/marvin/integration/lib/base/SecurityGroupEgress.py
@@ -14,16 +14,26 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import authorizeSecurityGroupEgress
+from marvin.cloudstackAPI import revokeSecurityGroupEgress
+
 class SecurityGroupEgress(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def authorize(self, apiclient, **kwargs):
-        pass
+        cmd = authorizeSecurityGroupEgress.authorizeSecurityGroupEgressCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        securitygroupegress = apiclient.authorizeSecurityGroupEgress(cmd)
+
 
     def revoke(self, apiclient, id, **kwargs):
-        pass
+        cmd = revokeSecurityGroupEgress.revokeSecurityGroupEgressCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        securitygroupegress = apiclient.revokeSecurityGroupEgress(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SecurityGroupIngress.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SecurityGroupIngress.py b/tools/marvin/marvin/integration/lib/base/SecurityGroupIngress.py
index 81613d1..4548f0d 100644
--- a/tools/marvin/marvin/integration/lib/base/SecurityGroupIngress.py
+++ b/tools/marvin/marvin/integration/lib/base/SecurityGroupIngress.py
@@ -14,16 +14,26 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import authorizeSecurityGroupIngress
+from marvin.cloudstackAPI import revokeSecurityGroupIngress
+
 class SecurityGroupIngress(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def authorize(self, apiclient, **kwargs):
-        pass
+        cmd = authorizeSecurityGroupIngress.authorizeSecurityGroupIngressCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        securitygroupingress = apiclient.authorizeSecurityGroupIngress(cmd)
+
 
     def revoke(self, apiclient, id, **kwargs):
-        pass
+        cmd = revokeSecurityGroupIngress.revokeSecurityGroupIngressCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        securitygroupingress = apiclient.revokeSecurityGroupIngress(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py b/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py
index 58c556c..be20600 100644
--- a/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py
+++ b/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py
@@ -14,13 +14,20 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import changeServiceForRouter
+
 class ServiceForRouter(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def change(self, apiclient, id, serviceofferingid, **kwargs):
-        pass
+        cmd = changeServiceForRouter.changeServiceForRouterCmd()
+        cmd.id = id
+        cmd.serviceofferingid = serviceofferingid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        serviceforrouter = apiclient.changeServiceForRouter(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py b/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py
index e865087..be0e9fe 100644
--- a/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py
+++ b/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py
@@ -14,13 +14,20 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import changeServiceForSystemVm
+
 class ServiceForSystemVm(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def change(self, apiclient, id, serviceofferingid, **kwargs):
-        pass
+        cmd = changeServiceForSystemVm.changeServiceForSystemVmCmd()
+        cmd.id = id
+        cmd.serviceofferingid = serviceofferingid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        serviceforsystemvm = apiclient.changeServiceForSystemVm(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py b/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py
index 07d0e37..b74134d 100644
--- a/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py
+++ b/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py
@@ -14,13 +14,20 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import changeServiceForVirtualMachine
+
 class ServiceForVirtualMachine(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def change(self, apiclient, id, serviceofferingid, **kwargs):
-        pass
+        cmd = changeServiceForVirtualMachine.changeServiceForVirtualMachineCmd()
+        cmd.id = id
+        cmd.serviceofferingid = serviceofferingid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        serviceforvirtualmachine = apiclient.changeServiceForVirtualMachine(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ServiceOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ServiceOffering.py b/tools/marvin/marvin/integration/lib/base/ServiceOffering.py
index f1c3959..088b27a 100644
--- a/tools/marvin/marvin/integration/lib/base/ServiceOffering.py
+++ b/tools/marvin/marvin/integration/lib/base/ServiceOffering.py
@@ -14,24 +14,46 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createServiceOffering
+from marvin.cloudstackAPI import listServiceOfferings
+from marvin.cloudstackAPI import updateServiceOffering
+from marvin.cloudstackAPI import deleteServiceOffering
+
 class ServiceOffering(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
     def create(cls, apiclient, ServiceOfferingFactory, **kwargs):
-        pass
+        cmd = createServiceOffering.createServiceOfferingCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in ServiceOfferingFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        serviceoffering = apiclient.createServiceOffering(cmd)
+        return ServiceOffering(serviceoffering.__dict__)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listServiceOfferings.listServiceOfferingsCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        serviceoffering = apiclient.listServiceOfferings(cmd)
+        return map(lambda e: ServiceOffering(e.__dict__), serviceoffering)
+
 
     def update(self, apiclient, id, **kwargs):
-        pass
+        cmd = updateServiceOffering.updateServiceOfferingCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        serviceoffering = apiclient.updateServiceOffering(cmd)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deleteServiceOffering.deleteServiceOfferingCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        serviceoffering = apiclient.deleteServiceOffering(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Snapshot.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Snapshot.py b/tools/marvin/marvin/integration/lib/base/Snapshot.py
index be84474..ab4eebd 100644
--- a/tools/marvin/marvin/integration/lib/base/Snapshot.py
+++ b/tools/marvin/marvin/integration/lib/base/Snapshot.py
@@ -14,21 +14,38 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createSnapshot
+from marvin.cloudstackAPI import listSnapshots
+from marvin.cloudstackAPI import deleteSnapshot
+
 class Snapshot(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
     def create(cls, apiclient, SnapshotFactory, **kwargs):
-        pass
+        cmd = createSnapshot.createSnapshotCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in SnapshotFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        snapshot = apiclient.createSnapshot(cmd)
+        return Snapshot(snapshot.__dict__)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listSnapshots.listSnapshotsCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        snapshot = apiclient.listSnapshots(cmd)
+        return map(lambda e: Snapshot(e.__dict__), snapshot)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deleteSnapshot.deleteSnapshotCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        snapshot = apiclient.deleteSnapshot(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py b/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py
index 3e45c01..1a9c906 100644
--- a/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py
+++ b/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py
@@ -14,17 +14,28 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listSnapshotPolicies
+from marvin.cloudstackAPI import deleteSnapshotPolicies
+
 class SnapshotPolicies(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, volumeid, **kwargs):
+        cmd = listSnapshotPolicies.listSnapshotPoliciesCmd()
+        cmd.volumeid = volumeid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        snapshotpolicies = apiclient.listSnapshotPolicies(cmd)
+        return map(lambda e: SnapshotPolicies(e.__dict__), snapshotpolicies)
+
 
     def delete(self, apiclient, **kwargs):
-        pass
+        cmd = deleteSnapshotPolicies.deleteSnapshotPoliciesCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        snapshotpolicies = apiclient.deleteSnapshotPolicies(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py b/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py
index 1821fc0..2ce10e4 100644
--- a/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py
+++ b/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py
@@ -14,14 +14,21 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createSnapshotPolicy
+
 class SnapshotPolicy(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
     def create(cls, apiclient, SnapshotPolicyFactory, **kwargs):
-        pass
+        cmd = createSnapshotPolicy.createSnapshotPolicyCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in SnapshotPolicyFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        snapshotpolicy = apiclient.createSnapshotPolicy(cmd)
+        return SnapshotPolicy(snapshotpolicy.__dict__)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/StaticNat.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/StaticNat.py b/tools/marvin/marvin/integration/lib/base/StaticNat.py
index fe7ee70..103fb51 100644
--- a/tools/marvin/marvin/integration/lib/base/StaticNat.py
+++ b/tools/marvin/marvin/integration/lib/base/StaticNat.py
@@ -14,16 +14,28 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import enableStaticNat
+from marvin.cloudstackAPI import disableStaticNat
+
 class StaticNat(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def enable(self, apiclient, ipaddressid, virtualmachineid, **kwargs):
-        pass
+        cmd = enableStaticNat.enableStaticNatCmd()
+        cmd.ipaddressid = ipaddressid
+        cmd.virtualmachineid = virtualmachineid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        staticnat = apiclient.enableStaticNat(cmd)
+
 
     def disable(self, apiclient, ipaddressid, **kwargs):
-        pass
+        cmd = disableStaticNat.disableStaticNatCmd()
+        cmd.ipaddressid = ipaddressid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        staticnat = apiclient.disableStaticNat(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/StaticRoute.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/StaticRoute.py b/tools/marvin/marvin/integration/lib/base/StaticRoute.py
index 283d854..10830bd 100644
--- a/tools/marvin/marvin/integration/lib/base/StaticRoute.py
+++ b/tools/marvin/marvin/integration/lib/base/StaticRoute.py
@@ -14,21 +14,38 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createStaticRoute
+from marvin.cloudstackAPI import listStaticRoutes
+from marvin.cloudstackAPI import deleteStaticRoute
+
 class StaticRoute(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
     def create(cls, apiclient, StaticRouteFactory, **kwargs):
-        pass
+        cmd = createStaticRoute.createStaticRouteCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in StaticRouteFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        staticroute = apiclient.createStaticRoute(cmd)
+        return StaticRoute(staticroute.__dict__)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listStaticRoutes.listStaticRoutesCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        staticroute = apiclient.listStaticRoutes(cmd)
+        return map(lambda e: StaticRoute(e.__dict__), staticroute)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deleteStaticRoute.deleteStaticRouteCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        staticroute = apiclient.deleteStaticRoute(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py b/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py
index f577726..10a8be7 100644
--- a/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py
+++ b/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py
@@ -14,16 +14,27 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import cancelStorageMaintenance
+from marvin.cloudstackAPI import enableStorageMaintenance
+
 class StorageMaintenance(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def cancel(self, apiclient, id, **kwargs):
-        pass
+        cmd = cancelStorageMaintenance.cancelStorageMaintenanceCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        storagemaintenance = apiclient.cancelStorageMaintenance(cmd)
+
 
     def enable(self, apiclient, id, **kwargs):
-        pass
+        cmd = enableStorageMaintenance.enableStorageMaintenanceCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        storagemaintenance = apiclient.enableStorageMaintenance(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py b/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py
index 80716fb..220f8c6 100644
--- a/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py
+++ b/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py
@@ -14,24 +14,46 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createStorageNetworkIpRange
+from marvin.cloudstackAPI import listStorageNetworkIpRange
+from marvin.cloudstackAPI import updateStorageNetworkIpRange
+from marvin.cloudstackAPI import deleteStorageNetworkIpRange
+
 class StorageNetworkIpRange(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
     def create(cls, apiclient, StorageNetworkIpRangeFactory, **kwargs):
-        pass
+        cmd = createStorageNetworkIpRange.createStorageNetworkIpRangeCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in StorageNetworkIpRangeFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        storagenetworkiprange = apiclient.createStorageNetworkIpRange(cmd)
+        return StorageNetworkIpRange(storagenetworkiprange.__dict__)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listStorageNetworkIpRange.listStorageNetworkIpRangeCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        storagenetworkiprange = apiclient.listStorageNetworkIpRange(cmd)
+        return map(lambda e: StorageNetworkIpRange(e.__dict__), storagenetworkiprange)
+
 
     def update(self, apiclient, id, **kwargs):
-        pass
+        cmd = updateStorageNetworkIpRange.updateStorageNetworkIpRangeCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        storagenetworkiprange = apiclient.updateStorageNetworkIpRange(cmd)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deleteStorageNetworkIpRange.deleteStorageNetworkIpRangeCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        storagenetworkiprange = apiclient.deleteStorageNetworkIpRange(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/StoragePool.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/StoragePool.py b/tools/marvin/marvin/integration/lib/base/StoragePool.py
index 910d7ac..3dc8bcb 100644
--- a/tools/marvin/marvin/integration/lib/base/StoragePool.py
+++ b/tools/marvin/marvin/integration/lib/base/StoragePool.py
@@ -14,24 +14,46 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createStoragePool
+from marvin.cloudstackAPI import listStoragePools
+from marvin.cloudstackAPI import updateStoragePool
+from marvin.cloudstackAPI import deleteStoragePool
+
 class StoragePool(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
     def create(cls, apiclient, StoragePoolFactory, **kwargs):
-        pass
+        cmd = createStoragePool.createStoragePoolCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in StoragePoolFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        storagepool = apiclient.createStoragePool(cmd)
+        return StoragePool(storagepool.__dict__)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listStoragePools.listStoragePoolsCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        storagepool = apiclient.listStoragePools(cmd)
+        return map(lambda e: StoragePool(e.__dict__), storagepool)
+
 
     def update(self, apiclient, id, **kwargs):
-        pass
+        cmd = updateStoragePool.updateStoragePoolCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        storagepool = apiclient.updateStoragePool(cmd)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deleteStoragePool.deleteStoragePoolCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        storagepool = apiclient.deleteStoragePool(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py b/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py
index 4913b47..93784b5 100644
--- a/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py
+++ b/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py
@@ -14,14 +14,20 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listSupportedNetworkServices
+
 class SupportedNetworkServices(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listSupportedNetworkServices.listSupportedNetworkServicesCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        supportednetworkservices = apiclient.listSupportedNetworkServices(cmd)
+        return map(lambda e: SupportedNetworkServices(e.__dict__), supportednetworkservices)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Swift.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Swift.py b/tools/marvin/marvin/integration/lib/base/Swift.py
index 3ce4a2c..6f74460 100644
--- a/tools/marvin/marvin/integration/lib/base/Swift.py
+++ b/tools/marvin/marvin/integration/lib/base/Swift.py
@@ -14,17 +14,28 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import addSwift
+from marvin.cloudstackAPI import listSwifts
+
 class Swift(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def add(self, apiclient, url, **kwargs):
-        pass
+        cmd = addSwift.addSwiftCmd()
+        cmd.url = url
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        swift = apiclient.addSwift(cmd)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listSwifts.listSwiftsCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        swift = apiclient.listSwifts(cmd)
+        return map(lambda e: Swift(e.__dict__), swift)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SystemVm.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SystemVm.py b/tools/marvin/marvin/integration/lib/base/SystemVm.py
index a11e04a..6fabe6f 100644
--- a/tools/marvin/marvin/integration/lib/base/SystemVm.py
+++ b/tools/marvin/marvin/integration/lib/base/SystemVm.py
@@ -14,29 +14,61 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import migrateSystemVm
+from marvin.cloudstackAPI import stopSystemVm
+from marvin.cloudstackAPI import listSystemVms
+from marvin.cloudstackAPI import rebootSystemVm
+from marvin.cloudstackAPI import startSystemVm
+from marvin.cloudstackAPI import destroySystemVm
+
 class SystemVm(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def migrate(self, apiclient, hostid, virtualmachineid, **kwargs):
-        pass
+        cmd = migrateSystemVm.migrateSystemVmCmd()
+        cmd.hostid = hostid
+        cmd.virtualmachineid = virtualmachineid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        systemvm = apiclient.migrateSystemVm(cmd)
+
 
     def stop(self, apiclient, id, **kwargs):
-        pass
+        cmd = stopSystemVm.stopSystemVmCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        systemvm = apiclient.stopSystemVm(cmd)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listSystemVms.listSystemVmsCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        systemvm = apiclient.listSystemVms(cmd)
+        return map(lambda e: SystemVm(e.__dict__), systemvm)
+
 
     def reboot(self, apiclient, id, **kwargs):
-        pass
+        cmd = rebootSystemVm.rebootSystemVmCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        systemvm = apiclient.rebootSystemVm(cmd)
+
 
     def start(self, apiclient, id, **kwargs):
-        pass
+        cmd = startSystemVm.startSystemVmCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        systemvm = apiclient.startSystemVm(cmd)
+
 
     def destroy(self, apiclient, id, **kwargs):
-        pass
+        cmd = destroySystemVm.destroySystemVmCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        systemvm = apiclient.destroySystemVm(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Tags.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Tags.py b/tools/marvin/marvin/integration/lib/base/Tags.py
index 30b9c9f..9bf22fb 100644
--- a/tools/marvin/marvin/integration/lib/base/Tags.py
+++ b/tools/marvin/marvin/integration/lib/base/Tags.py
@@ -14,21 +14,39 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createTags
+from marvin.cloudstackAPI import listTags
+from marvin.cloudstackAPI import deleteTags
+
 class Tags(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
     def create(cls, apiclient, TagsFactory, **kwargs):
-        pass
+        cmd = createTags.createTagsCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in TagsFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        tags = apiclient.createTags(cmd)
+        return Tags(tags.__dict__)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, **kwargs):
+        cmd = listTags.listTagsCmd()
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        tags = apiclient.listTags(cmd)
+        return map(lambda e: Tags(e.__dict__), tags)
+
 
     def delete(self, apiclient, resourcetype, resourceids, **kwargs):
-        pass
+        cmd = deleteTags.deleteTagsCmd()
+        cmd.resourceids = resourceids
+        cmd.resourcetype = resourcetype
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        tags = apiclient.deleteTags(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Template.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Template.py b/tools/marvin/marvin/integration/lib/base/Template.py
index 8c6862d..559e1f2 100644
--- a/tools/marvin/marvin/integration/lib/base/Template.py
+++ b/tools/marvin/marvin/integration/lib/base/Template.py
@@ -14,36 +14,89 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import prepareTemplate
+from marvin.cloudstackAPI import createTemplate
+from marvin.cloudstackAPI import registerTemplate
+from marvin.cloudstackAPI import listTemplates
+from marvin.cloudstackAPI import updateTemplate
+from marvin.cloudstackAPI import copyTemplate
+from marvin.cloudstackAPI import extractTemplate
+from marvin.cloudstackAPI import deleteTemplate
+
 class Template(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def prepare(self, apiclient, zoneid, templateid, **kwargs):
-        pass
+        cmd = prepareTemplate.prepareTemplateCmd()
+        cmd.templateid = templateid
+        cmd.zoneid = zoneid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        template = apiclient.prepareTemplate(cmd)
+
 
     @classmethod
     def create(cls, apiclient, TemplateFactory, **kwargs):
-        pass
+        cmd = createTemplate.createTemplateCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in TemplateFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        template = apiclient.createTemplate(cmd)
+        return Template(template.__dict__)
+
 
     def register(self, apiclient, name, format, url, hypervisor, zoneid, displaytext, ostypeid, **kwargs):
-        pass
+        cmd = registerTemplate.registerTemplateCmd()
+        cmd.displaytext = displaytext
+        cmd.format = format
+        cmd.hypervisor = hypervisor
+        cmd.name = name
+        cmd.ostypeid = ostypeid
+        cmd.url = url
+        cmd.zoneid = zoneid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        template = apiclient.registerTemplate(cmd)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, templatefilter, **kwargs):
+        cmd = listTemplates.listTemplatesCmd()
+        cmd.templatefilter = templatefilter
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        template = apiclient.listTemplates(cmd)
+        return map(lambda e: Template(e.__dict__), template)
+
 
     def update(self, apiclient, id, **kwargs):
-        pass
+        cmd = updateTemplate.updateTemplateCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        template = apiclient.updateTemplate(cmd)
+
 
     def copy(self, apiclient, sourcezoneid, id, destzoneid, **kwargs):
-        pass
+        cmd = copyTemplate.copyTemplateCmd()
+        cmd.id = id
+        cmd.destzoneid = destzoneid
+        cmd.sourcezoneid = sourcezoneid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        template = apiclient.copyTemplate(cmd)
+
 
     def extract(self, apiclient, id, mode, **kwargs):
-        pass
+        cmd = extractTemplate.extractTemplateCmd()
+        cmd.id = id
+        cmd.mode = mode
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        template = apiclient.extractTemplate(cmd)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deleteTemplate.deleteTemplateCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        template = apiclient.deleteTemplate(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py b/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py
index 6e21436..e7b8edf 100644
--- a/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py
+++ b/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py
@@ -14,17 +14,29 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listTemplatePermissions
+from marvin.cloudstackAPI import updateTemplatePermissions
+
 class TemplatePermissions(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, id, **kwargs):
+        cmd = listTemplatePermissions.listTemplatePermissionsCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        templatepermissions = apiclient.listTemplatePermissions(cmd)
+        return map(lambda e: TemplatePermissions(e.__dict__), templatepermissions)
+
 
     def update(self, apiclient, id, **kwargs):
-        pass
+        cmd = updateTemplatePermissions.updateTemplatePermissionsCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        templatepermissions = apiclient.updateTemplatePermissions(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py b/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py
index b5cd4f5..f440466 100644
--- a/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py
+++ b/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py
@@ -14,13 +14,20 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import assignToLoadBalancerRule
+
 class ToLoadBalancerRule(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def assign(self, apiclient, id, virtualmachineids, **kwargs):
-        pass
+        cmd = assignToLoadBalancerRule.assignToLoadBalancerRuleCmd()
+        cmd.id = id
+        cmd.virtualmachineids = virtualmachineids
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        toloadbalancerrule = apiclient.assignToLoadBalancerRule(cmd)
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py b/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py
index 6c4a8a3..d1f771a 100644
--- a/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py
+++ b/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py
@@ -14,20 +14,38 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import addTrafficMonitor
+from marvin.cloudstackAPI import listTrafficMonitors
+from marvin.cloudstackAPI import deleteTrafficMonitor
+
 class TrafficMonitor(CloudStackEntity):
 
+
     def __init__(self, items):
         self.__dict__.update(items)
 
 
     def add(self, apiclient, url, zoneid, **kwargs):
-        pass
+        cmd = addTrafficMonitor.addTrafficMonitorCmd()
+        cmd.url = url
+        cmd.zoneid = zoneid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        trafficmonitor = apiclient.addTrafficMonitor(cmd)
+
 
     @classmethod
-    def list(cls, apiclient, **kwargs):
-        pass
+    def list(self, apiclient, zoneid, **kwargs):
+        cmd = listTrafficMonitors.listTrafficMonitorsCmd()
+        cmd.zoneid = zoneid
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        trafficmonitor = apiclient.listTrafficMonitors(cmd)
+        return map(lambda e: TrafficMonitor(e.__dict__), trafficmonitor)
+
 
     def delete(self, apiclient, id, **kwargs):
-        pass
+        cmd = deleteTrafficMonitor.deleteTrafficMonitorCmd()
+        cmd.id = id
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        trafficmonitor = apiclient.deleteTrafficMonitor(cmd)