http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 be0e9fe..0821f8b 100644
--- a/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py
+++ b/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py
@@ -17,11 +17,11 @@
 from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import changeServiceForSystemVm
 
-class ServiceForSystemVm(CloudStackEntity):
+class ServiceForSystemVm(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def change(self, apiclient, id, serviceofferingid, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 b74134d..9c75a5e 100644
--- a/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py
+++ b/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py
@@ -17,11 +17,11 @@
 from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import changeServiceForVirtualMachine
 
-class ServiceForVirtualMachine(CloudStackEntity):
+class ServiceForVirtualMachine(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def change(self, apiclient, id, serviceofferingid, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 8e8174c..cdc6737 100644
--- a/tools/marvin/marvin/integration/lib/base/ServiceOffering.py
+++ b/tools/marvin/marvin/integration/lib/base/ServiceOffering.py
@@ -20,11 +20,11 @@ from marvin.cloudstackAPI import listServiceOfferings
 from marvin.cloudstackAPI import updateServiceOffering
 from marvin.cloudstackAPI import deleteServiceOffering
 
-class ServiceOffering(CloudStackEntity):
+class ServiceOffering(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/Simulator.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Simulator.py 
b/tools/marvin/marvin/integration/lib/base/Simulator.py
index 04ac77f..d59adc4 100644
--- a/tools/marvin/marvin/integration/lib/base/Simulator.py
+++ b/tools/marvin/marvin/integration/lib/base/Simulator.py
@@ -17,11 +17,11 @@
 from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import configureSimulator
 
-class Simulator(CloudStackEntity):
+class Simulator(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def configure(self, apiclient, name, value, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 989e7fb..8282a9b 100644
--- a/tools/marvin/marvin/integration/lib/base/Snapshot.py
+++ b/tools/marvin/marvin/integration/lib/base/Snapshot.py
@@ -19,11 +19,11 @@ from marvin.cloudstackAPI import createSnapshot
 from marvin.cloudstackAPI import listSnapshots
 from marvin.cloudstackAPI import deleteSnapshot
 
-class Snapshot(CloudStackEntity):
+class Snapshot(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 1a9c906..09284d5 100644
--- a/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py
+++ b/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py
@@ -18,11 +18,11 @@ from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import listSnapshotPolicies
 from marvin.cloudstackAPI import deleteSnapshotPolicies
 
-class SnapshotPolicies(CloudStackEntity):
+class SnapshotPolicies(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 18394b1..bf6f210 100644
--- a/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py
+++ b/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py
@@ -17,11 +17,11 @@
 from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import createSnapshotPolicy
 
-class SnapshotPolicy(CloudStackEntity):
+class SnapshotPolicy(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 103fb51..3284666 100644
--- a/tools/marvin/marvin/integration/lib/base/StaticNat.py
+++ b/tools/marvin/marvin/integration/lib/base/StaticNat.py
@@ -18,11 +18,11 @@ from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import enableStaticNat
 from marvin.cloudstackAPI import disableStaticNat
 
-class StaticNat(CloudStackEntity):
+class StaticNat(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def enable(self, apiclient, ipaddressid, virtualmachineid, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 f96a4dc..da3d297 100644
--- a/tools/marvin/marvin/integration/lib/base/StaticRoute.py
+++ b/tools/marvin/marvin/integration/lib/base/StaticRoute.py
@@ -19,11 +19,11 @@ from marvin.cloudstackAPI import createStaticRoute
 from marvin.cloudstackAPI import listStaticRoutes
 from marvin.cloudstackAPI import deleteStaticRoute
 
-class StaticRoute(CloudStackEntity):
+class StaticRoute(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 10a8be7..eb3591d 100644
--- a/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py
+++ b/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py
@@ -18,11 +18,11 @@ from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import cancelStorageMaintenance
 from marvin.cloudstackAPI import enableStorageMaintenance
 
-class StorageMaintenance(CloudStackEntity):
+class StorageMaintenance(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def cancel(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 2bc6b5b..ad119d0 100644
--- a/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py
+++ b/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py
@@ -20,11 +20,11 @@ from marvin.cloudstackAPI import listStorageNetworkIpRange
 from marvin.cloudstackAPI import updateStorageNetworkIpRange
 from marvin.cloudstackAPI import deleteStorageNetworkIpRange
 
-class StorageNetworkIpRange(CloudStackEntity):
+class StorageNetworkIpRange(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 d15de83..ecef9b7 100644
--- a/tools/marvin/marvin/integration/lib/base/StoragePool.py
+++ b/tools/marvin/marvin/integration/lib/base/StoragePool.py
@@ -20,11 +20,11 @@ from marvin.cloudstackAPI import listStoragePools
 from marvin.cloudstackAPI import updateStoragePool
 from marvin.cloudstackAPI import deleteStoragePool
 
-class StoragePool(CloudStackEntity):
+class StoragePool(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 93784b5..c04976a 100644
--- a/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py
+++ b/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py
@@ -17,11 +17,11 @@
 from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import listSupportedNetworkServices
 
-class SupportedNetworkServices(CloudStackEntity):
+class SupportedNetworkServices(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 6f74460..0630862 100644
--- a/tools/marvin/marvin/integration/lib/base/Swift.py
+++ b/tools/marvin/marvin/integration/lib/base/Swift.py
@@ -18,11 +18,11 @@ from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import addSwift
 from marvin.cloudstackAPI import listSwifts
 
-class Swift(CloudStackEntity):
+class Swift(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def add(self, apiclient, url, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 6fabe6f..7639416 100644
--- a/tools/marvin/marvin/integration/lib/base/SystemVm.py
+++ b/tools/marvin/marvin/integration/lib/base/SystemVm.py
@@ -22,11 +22,11 @@ from marvin.cloudstackAPI import rebootSystemVm
 from marvin.cloudstackAPI import startSystemVm
 from marvin.cloudstackAPI import destroySystemVm
 
-class SystemVm(CloudStackEntity):
+class SystemVm(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def migrate(self, apiclient, hostid, virtualmachineid, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 e46742b..e51043b 100644
--- a/tools/marvin/marvin/integration/lib/base/Tags.py
+++ b/tools/marvin/marvin/integration/lib/base/Tags.py
@@ -19,11 +19,11 @@ from marvin.cloudstackAPI import createTags
 from marvin.cloudstackAPI import listTags
 from marvin.cloudstackAPI import deleteTags
 
-class Tags(CloudStackEntity):
+class Tags(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 1f62158..85ef6a7 100644
--- a/tools/marvin/marvin/integration/lib/base/Template.py
+++ b/tools/marvin/marvin/integration/lib/base/Template.py
@@ -24,11 +24,11 @@ from marvin.cloudstackAPI import copyTemplate
 from marvin.cloudstackAPI import extractTemplate
 from marvin.cloudstackAPI import deleteTemplate
 
-class Template(CloudStackEntity):
+class Template(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def prepare(self, apiclient, zoneid, templateid, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 e7b8edf..a6a240a 100644
--- a/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py
+++ b/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py
@@ -18,11 +18,11 @@ from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import listTemplatePermissions
 from marvin.cloudstackAPI import updateTemplatePermissions
 
-class TemplatePermissions(CloudStackEntity):
+class TemplatePermissions(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 f440466..52bb579 100644
--- a/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py
+++ b/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py
@@ -17,11 +17,11 @@
 from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import assignToLoadBalancerRule
 
-class ToLoadBalancerRule(CloudStackEntity):
+class ToLoadBalancerRule(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def assign(self, apiclient, id, virtualmachineids, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/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 d1f771a..164fec4 100644
--- a/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py
+++ b/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py
@@ -19,11 +19,11 @@ from marvin.cloudstackAPI import addTrafficMonitor
 from marvin.cloudstackAPI import listTrafficMonitors
 from marvin.cloudstackAPI import deleteTrafficMonitor
 
-class TrafficMonitor(CloudStackEntity):
+class TrafficMonitor(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def add(self, apiclient, url, zoneid, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/TrafficType.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/TrafficType.py 
b/tools/marvin/marvin/integration/lib/base/TrafficType.py
index 16aa0ba..7fe101a 100644
--- a/tools/marvin/marvin/integration/lib/base/TrafficType.py
+++ b/tools/marvin/marvin/integration/lib/base/TrafficType.py
@@ -20,11 +20,11 @@ from marvin.cloudstackAPI import listTrafficTypes
 from marvin.cloudstackAPI import updateTrafficType
 from marvin.cloudstackAPI import deleteTrafficType
 
-class TrafficType(CloudStackEntity):
+class TrafficType(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def add(self, apiclient, traffictype, physicalnetworkid, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/TrafficTypeImplementors.py
----------------------------------------------------------------------
diff --git 
a/tools/marvin/marvin/integration/lib/base/TrafficTypeImplementors.py 
b/tools/marvin/marvin/integration/lib/base/TrafficTypeImplementors.py
index 3aa9c76..d5e23ad 100644
--- a/tools/marvin/marvin/integration/lib/base/TrafficTypeImplementors.py
+++ b/tools/marvin/marvin/integration/lib/base/TrafficTypeImplementors.py
@@ -17,11 +17,11 @@
 from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import listTrafficTypeImplementors
 
-class TrafficTypeImplementors(CloudStackEntity):
+class TrafficTypeImplementors(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/UsageRecords.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/UsageRecords.py 
b/tools/marvin/marvin/integration/lib/base/UsageRecords.py
index 1fd1e1c..1bd1765 100644
--- a/tools/marvin/marvin/integration/lib/base/UsageRecords.py
+++ b/tools/marvin/marvin/integration/lib/base/UsageRecords.py
@@ -18,11 +18,11 @@ from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import listUsageRecords
 from marvin.cloudstackAPI import generateUsageRecords
 
-class UsageRecords(CloudStackEntity):
+class UsageRecords(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/UsageTypes.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/UsageTypes.py 
b/tools/marvin/marvin/integration/lib/base/UsageTypes.py
index e0118b7..0c73f3b 100644
--- a/tools/marvin/marvin/integration/lib/base/UsageTypes.py
+++ b/tools/marvin/marvin/integration/lib/base/UsageTypes.py
@@ -17,11 +17,11 @@
 from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import listUsageTypes
 
-class UsageTypes(CloudStackEntity):
+class UsageTypes(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/User.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/User.py 
b/tools/marvin/marvin/integration/lib/base/User.py
index 37097bf..25ac70d 100644
--- a/tools/marvin/marvin/integration/lib/base/User.py
+++ b/tools/marvin/marvin/integration/lib/base/User.py
@@ -24,11 +24,11 @@ from marvin.cloudstackAPI import updateUser
 from marvin.cloudstackAPI import disableUser
 from marvin.cloudstackAPI import deleteUser
 
-class User(CloudStackEntity):
+class User(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def enable(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/UserKeys.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/UserKeys.py 
b/tools/marvin/marvin/integration/lib/base/UserKeys.py
index 254aec8..09116e8 100644
--- a/tools/marvin/marvin/integration/lib/base/UserKeys.py
+++ b/tools/marvin/marvin/integration/lib/base/UserKeys.py
@@ -17,11 +17,11 @@
 from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import registerUserKeys
 
-class UserKeys(CloudStackEntity):
+class UserKeys(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def register(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/VMPassword.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VMPassword.py 
b/tools/marvin/marvin/integration/lib/base/VMPassword.py
index da83d4c..5a6f797 100644
--- a/tools/marvin/marvin/integration/lib/base/VMPassword.py
+++ b/tools/marvin/marvin/integration/lib/base/VMPassword.py
@@ -17,11 +17,11 @@
 from marvin.integration.lib.base import CloudStackEntity
 from marvin.cloudstackAPI import getVMPassword
 
-class VMPassword(CloudStackEntity):
+class VMPassword(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def get(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/VMSnapshot.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VMSnapshot.py 
b/tools/marvin/marvin/integration/lib/base/VMSnapshot.py
index c223b57..f04a9ac 100644
--- a/tools/marvin/marvin/integration/lib/base/VMSnapshot.py
+++ b/tools/marvin/marvin/integration/lib/base/VMSnapshot.py
@@ -19,11 +19,11 @@ from marvin.cloudstackAPI import createVMSnapshot
 from marvin.cloudstackAPI import listVMSnapshot
 from marvin.cloudstackAPI import deleteVMSnapshot
 
-class VMSnapshot(CloudStackEntity):
+class VMSnapshot(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/VPC.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VPC.py 
b/tools/marvin/marvin/integration/lib/base/VPC.py
index 6e48ce3..4e31fbe 100644
--- a/tools/marvin/marvin/integration/lib/base/VPC.py
+++ b/tools/marvin/marvin/integration/lib/base/VPC.py
@@ -21,11 +21,11 @@ from marvin.cloudstackAPI import updateVPC
 from marvin.cloudstackAPI import restartVPC
 from marvin.cloudstackAPI import deleteVPC
 
-class VPC(CloudStackEntity):
+class VPC(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/VPCOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VPCOffering.py 
b/tools/marvin/marvin/integration/lib/base/VPCOffering.py
index c6d2bab..3afa7fd 100644
--- a/tools/marvin/marvin/integration/lib/base/VPCOffering.py
+++ b/tools/marvin/marvin/integration/lib/base/VPCOffering.py
@@ -20,11 +20,11 @@ from marvin.cloudstackAPI import listVPCOfferings
 from marvin.cloudstackAPI import updateVPCOffering
 from marvin.cloudstackAPI import deleteVPCOffering
 
-class VPCOffering(CloudStackEntity):
+class VPCOffering(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/VirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VirtualMachine.py 
b/tools/marvin/marvin/integration/lib/base/VirtualMachine.py
index c788f0c..c4bf052 100644
--- a/tools/marvin/marvin/integration/lib/base/VirtualMachine.py
+++ b/tools/marvin/marvin/integration/lib/base/VirtualMachine.py
@@ -26,11 +26,11 @@ from marvin.cloudstackAPI import startVirtualMachine
 from marvin.cloudstackAPI import destroyVirtualMachine
 from marvin.cloudstackAPI import assignVirtualMachine
 
-class VirtualMachine(CloudStackEntity):
+class VirtualMachine(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def restore(self, apiclient, virtualmachineid, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/VirtualRouterElement.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VirtualRouterElement.py 
b/tools/marvin/marvin/integration/lib/base/VirtualRouterElement.py
index 246162c..b811e7d 100644
--- a/tools/marvin/marvin/integration/lib/base/VirtualRouterElement.py
+++ b/tools/marvin/marvin/integration/lib/base/VirtualRouterElement.py
@@ -19,11 +19,11 @@ from marvin.cloudstackAPI import createVirtualRouterElement
 from marvin.cloudstackAPI import listVirtualRouterElements
 from marvin.cloudstackAPI import configureVirtualRouterElement
 
-class VirtualRouterElement(CloudStackEntity):
+class VirtualRouterElement(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/VlanIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VlanIpRange.py 
b/tools/marvin/marvin/integration/lib/base/VlanIpRange.py
index db1e4f0..ed79f5d 100644
--- a/tools/marvin/marvin/integration/lib/base/VlanIpRange.py
+++ b/tools/marvin/marvin/integration/lib/base/VlanIpRange.py
@@ -19,11 +19,11 @@ from marvin.cloudstackAPI import createVlanIpRange
 from marvin.cloudstackAPI import listVlanIpRanges
 from marvin.cloudstackAPI import deleteVlanIpRange
 
-class VlanIpRange(CloudStackEntity):
+class VlanIpRange(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/Volume.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Volume.py 
b/tools/marvin/marvin/integration/lib/base/Volume.py
index 8c421c9..0bd3b3d 100644
--- a/tools/marvin/marvin/integration/lib/base/Volume.py
+++ b/tools/marvin/marvin/integration/lib/base/Volume.py
@@ -24,11 +24,11 @@ from marvin.cloudstackAPI import detachVolume
 from marvin.cloudstackAPI import extractVolume
 from marvin.cloudstackAPI import deleteVolume
 
-class Volume(CloudStackEntity):
+class Volume(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def migrate(self, apiclient, storageid, volumeid, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/VpnConnection.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VpnConnection.py 
b/tools/marvin/marvin/integration/lib/base/VpnConnection.py
index d76e5de..fbb96f3 100644
--- a/tools/marvin/marvin/integration/lib/base/VpnConnection.py
+++ b/tools/marvin/marvin/integration/lib/base/VpnConnection.py
@@ -20,11 +20,11 @@ from marvin.cloudstackAPI import createVpnConnection
 from marvin.cloudstackAPI import listVpnConnections
 from marvin.cloudstackAPI import deleteVpnConnection
 
-class VpnConnection(CloudStackEntity):
+class VpnConnection(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def reset(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/VpnCustomerGateway.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VpnCustomerGateway.py 
b/tools/marvin/marvin/integration/lib/base/VpnCustomerGateway.py
index c57054b..61c6749 100644
--- a/tools/marvin/marvin/integration/lib/base/VpnCustomerGateway.py
+++ b/tools/marvin/marvin/integration/lib/base/VpnCustomerGateway.py
@@ -20,11 +20,11 @@ from marvin.cloudstackAPI import listVpnCustomerGateways
 from marvin.cloudstackAPI import updateVpnCustomerGateway
 from marvin.cloudstackAPI import deleteVpnCustomerGateway
 
-class VpnCustomerGateway(CloudStackEntity):
+class VpnCustomerGateway(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/VpnGateway.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VpnGateway.py 
b/tools/marvin/marvin/integration/lib/base/VpnGateway.py
index f39e7a7..ef9a8e7 100644
--- a/tools/marvin/marvin/integration/lib/base/VpnGateway.py
+++ b/tools/marvin/marvin/integration/lib/base/VpnGateway.py
@@ -19,11 +19,11 @@ from marvin.cloudstackAPI import createVpnGateway
 from marvin.cloudstackAPI import listVpnGateways
 from marvin.cloudstackAPI import deleteVpnGateway
 
-class VpnGateway(CloudStackEntity):
+class VpnGateway(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/VpnUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VpnUser.py 
b/tools/marvin/marvin/integration/lib/base/VpnUser.py
index 915396c..387352f 100644
--- a/tools/marvin/marvin/integration/lib/base/VpnUser.py
+++ b/tools/marvin/marvin/integration/lib/base/VpnUser.py
@@ -19,11 +19,11 @@ from marvin.cloudstackAPI import addVpnUser
 from marvin.cloudstackAPI import listVpnUsers
 from marvin.cloudstackAPI import removeVpnUser
 
-class VpnUser(CloudStackEntity):
+class VpnUser(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     def add(self, apiclient, username, password, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/base/Zone.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Zone.py 
b/tools/marvin/marvin/integration/lib/base/Zone.py
index feac7c6..d895e64 100644
--- a/tools/marvin/marvin/integration/lib/base/Zone.py
+++ b/tools/marvin/marvin/integration/lib/base/Zone.py
@@ -20,11 +20,11 @@ from marvin.cloudstackAPI import listZones
 from marvin.cloudstackAPI import updateZone
 from marvin.cloudstackAPI import deleteZone
 
-class Zone(CloudStackEntity):
+class Zone(CloudStackEntity.CloudStackEntity):
 
 
-    def __init__(self, items):
-        self.__dict__.update(items)
+    def __init__(self, **kwargs):
+        self.__dict__.update(**kwargs)
 
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/factory/test/testFactories.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/factory/test/testFactories.py 
b/tools/marvin/marvin/integration/lib/factory/test/testFactories.py
index 1d657e7..b541e8e 100644
--- a/tools/marvin/marvin/integration/lib/factory/test/testFactories.py
+++ b/tools/marvin/marvin/integration/lib/factory/test/testFactories.py
@@ -25,7 +25,17 @@ class AccountFactoryTest(unittest.TestCase):
         self.apiClient = cloudstackTestClient(mgtSvr='localhost')
 
     def test_userAccountFactory(self):
-        af = AccountFactory.AdminAccountFactory()
+        af = AccountFactory.AccountFactory()
+        accnt = Account.Account.create(apiclient=self.apiClient, 
AccountFactory=af)
+        self.assertTrue(accnt is not None, msg="no account created by factory")
+
+    def test_adminAccountFactory(self):
+        af = AccountFactory.AccountFactory()
+        accnt = Account.Account.create(apiclient=self.apiClient, 
AccountFactory=af)
+        self.assertTrue(accnt is not None, msg="no account created by factory")
+
+    def test_userAccountFactoryCustomArgs(self):
+        af = AccountFactory.AccountFactory(firstname='test', lastname='test')
         accnt = Account.Account.create(apiclient=self.apiClient, 
AccountFactory=af)
         self.assertTrue(accnt is not None, msg="no account created by factory")
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/70e1ff40/tools/marvin/marvin/integration/lib/generateBase.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/generateBase.py 
b/tools/marvin/marvin/integration/lib/generateBase.py
index 75466bc..c34a52a 100644
--- a/tools/marvin/marvin/integration/lib/generateBase.py
+++ b/tools/marvin/marvin/integration/lib/generateBase.py
@@ -114,10 +114,10 @@ def write_entity_classes(entities):
         body = []
         imports = []
         imports.append('from marvin.integration.lib.base import 
CloudStackEntity')
-        body.append('class %s(CloudStackEntity):'%entity)
+        body.append('class %s(CloudStackEntity.CloudStackEntity):'%entity)
         body.append('\n')
-        body.append(tabspace + 'def __init__(self, items):')
-        body.append(tabspace*2 + 'self.__dict__.update(items)')
+        body.append(tabspace + 'def __init__(self, **kwargs):')
+        body.append(tabspace*2 + 'self.__dict__.update(**kwargs)')
         body.append('\n')
         for action, details in actions.iteritems():
             imports.append('from marvin.cloudstackAPI import 
%s'%details['apimodule'])

Reply via email to