incubator-cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From t..@apache.org
Subject [49/50] [abbrv] git commit: marvin-refactor: create takes factories not reqd args
Date Sat, 26 Jan 2013 16:21:38 GMT
marvin-refactor: create takes factories not reqd args

- Let all entities inherit from CloudStackEntity
- create and list are classmethods since they work without need for an
  entity to exist
- create takes only factories by default. no need for long param list.
    Entitiy.create(apiclient) will give entity out of default factory
- Use entityFactory.attributes() to init entities

Signed-off-by: Prasanna Santhanam <tsp@apache.org>


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

Branch: refs/heads/marvin-refactor-phase1
Commit: 7d4124c53a9d45f5691863e3bb36e991bce1e665
Parents: 13d94c1
Author: Prasanna Santhanam <tsp@apache.org>
Authored: Sat Jan 26 21:43:17 2013 +0530
Committer: Prasanna Santhanam <tsp@apache.org>
Committed: Sat Jan 26 21:43:17 2013 +0530

----------------------------------------------------------------------
 .../marvin/marvin/integration/lib/base/Account.py  |   16 +++++++--
 .../integration/lib/base/AccountFromProject.py     |    4 ++
 .../integration/lib/base/AccountToProject.py       |    4 ++
 tools/marvin/marvin/integration/lib/base/Alerts.py |    7 +++-
 .../marvin/marvin/integration/lib/base/ApiLimit.py |    4 ++
 tools/marvin/marvin/integration/lib/base/Apis.py   |    7 +++-
 .../marvin/integration/lib/base/AsyncJobResult.py  |    4 ++
 .../marvin/integration/lib/base/AsyncJobs.py       |    7 +++-
 .../integration/lib/base/AutoScalePolicies.py      |    7 +++-
 .../marvin/integration/lib/base/AutoScalePolicy.py |    7 +++-
 .../integration/lib/base/AutoScaleVmGroup.py       |   10 ++++-
 .../integration/lib/base/AutoScaleVmProfile.py     |   10 ++++-
 .../marvin/integration/lib/base/Capabilities.py    |    7 +++-
 .../marvin/marvin/integration/lib/base/Capacity.py |    7 +++-
 .../marvin/integration/lib/base/CloudIdentifier.py |    4 ++
 .../marvin/marvin/integration/lib/base/Cluster.py  |    7 +++-
 .../marvin/integration/lib/base/Condition.py       |   10 ++++-
 tools/marvin/marvin/integration/lib/base/Config.py |    4 ++
 .../marvin/integration/lib/base/Configuration.py   |    7 +++-
 .../marvin/marvin/integration/lib/base/Counter.py  |   10 ++++-
 .../integration/lib/base/CustomCertificate.py      |    4 ++
 .../integration/lib/base/DefaultZoneForAccount.py  |    4 ++
 .../marvin/integration/lib/base/DiskOffering.py    |   10 ++++-
 tools/marvin/marvin/integration/lib/base/Domain.py |   10 ++++-
 .../marvin/integration/lib/base/DomainChildren.py  |    7 +++-
 .../marvin/integration/lib/base/EventTypes.py      |    7 +++-
 tools/marvin/marvin/integration/lib/base/Events.py |    7 +++-
 .../marvin/integration/lib/base/FirewallRule.py    |   10 ++++-
 .../integration/lib/base/FromLoadBalancerRule.py   |    4 ++
 tools/marvin/marvin/integration/lib/base/Host.py   |    7 +++-
 .../integration/lib/base/HostForMaintenance.py     |    4 ++
 .../marvin/integration/lib/base/HostMaintenance.py |    4 ++
 .../marvin/integration/lib/base/HostPassword.py    |    4 ++
 .../integration/lib/base/HypervisorCapabilities.py |    7 +++-
 .../marvin/integration/lib/base/Hypervisors.py     |    7 +++-
 .../marvin/integration/lib/base/InstanceGroup.py   |   10 ++++-
 .../marvin/integration/lib/base/IpAddress.py       |    4 ++
 .../integration/lib/base/IpForwardingRule.py       |   10 ++++-
 tools/marvin/marvin/integration/lib/base/Iso.py    |    7 +++-
 .../marvin/integration/lib/base/IsoPermissions.py  |    7 +++-
 .../integration/lib/base/LBStickinessPolicies.py   |    7 +++-
 .../integration/lib/base/LBStickinessPolicy.py     |    7 +++-
 .../integration/lib/base/LoadBalancerRule.py       |   10 ++++-
 .../lib/base/LoadBalancerRuleInstances.py          |    7 +++-
 .../marvin/marvin/integration/lib/base/Network.py  |   10 ++++-
 .../marvin/integration/lib/base/NetworkACL.py      |   10 ++++-
 .../marvin/integration/lib/base/NetworkDevice.py   |    7 +++-
 .../marvin/integration/lib/base/NetworkOffering.py |   10 ++++-
 .../integration/lib/base/NetworkServiceProvider.py |    7 +++-
 .../marvin/integration/lib/base/NiciraNvpDevice.py |    7 +++-
 .../lib/base/NiciraNvpDeviceNetworks.py            |    7 +++-
 .../marvin/integration/lib/base/OsCategories.py    |    7 +++-
 .../marvin/marvin/integration/lib/base/OsTypes.py  |    7 +++-
 .../lib/base/PasswordForVirtualMachine.py          |    4 ++
 .../marvin/integration/lib/base/PhysicalNetwork.py |   10 ++++-
 tools/marvin/marvin/integration/lib/base/Pod.py    |   10 ++++-
 .../integration/lib/base/PortForwardingRule.py     |   10 ++++-
 .../marvin/integration/lib/base/PrivateGateway.py  |   10 ++++-
 .../marvin/marvin/integration/lib/base/Project.py  |   10 ++++-
 .../marvin/integration/lib/base/ProjectAccounts.py |    7 +++-
 .../integration/lib/base/ProjectInvitation.py      |    7 +++-
 .../integration/lib/base/PublicIpAddresses.py      |    7 +++-
 .../marvin/integration/lib/base/RemoteAccessVpn.py |   10 ++++-
 tools/marvin/marvin/integration/lib/base/Remove.py |    4 ++
 .../marvin/integration/lib/base/ResourceCount.py   |    4 ++
 .../marvin/integration/lib/base/ResourceLimit.py   |    7 +++-
 tools/marvin/marvin/integration/lib/base/Router.py |    7 +++-
 tools/marvin/marvin/integration/lib/base/S3.py     |    7 +++-
 .../marvin/integration/lib/base/SSHKeyPair.py      |   10 ++++-
 .../integration/lib/base/SecondaryStorage.py       |    4 ++
 .../marvin/integration/lib/base/SecurityGroup.py   |   10 ++++-
 .../integration/lib/base/SecurityGroupEgress.py    |    4 ++
 .../integration/lib/base/SecurityGroupIngress.py   |    4 ++
 .../integration/lib/base/ServiceForRouter.py       |    4 ++
 .../integration/lib/base/ServiceForSystemVm.py     |    4 ++
 .../lib/base/ServiceForVirtualMachine.py           |    4 ++
 .../marvin/integration/lib/base/ServiceOffering.py |   10 ++++-
 .../marvin/marvin/integration/lib/base/Snapshot.py |   10 ++++-
 .../integration/lib/base/SnapshotPolicies.py       |    7 +++-
 .../marvin/integration/lib/base/SnapshotPolicy.py  |    7 +++-
 .../marvin/integration/lib/base/StaticNat.py       |    4 ++
 .../marvin/integration/lib/base/StaticRoute.py     |   10 ++++-
 .../integration/lib/base/StorageMaintenance.py     |    4 ++
 .../integration/lib/base/StorageNetworkIpRange.py  |   10 ++++-
 .../marvin/integration/lib/base/StoragePool.py     |   10 ++++-
 .../lib/base/SupportedNetworkServices.py           |    7 +++-
 tools/marvin/marvin/integration/lib/base/Swift.py  |    7 +++-
 .../marvin/marvin/integration/lib/base/SystemVm.py |    7 +++-
 tools/marvin/marvin/integration/lib/base/Tags.py   |   10 ++++-
 .../marvin/marvin/integration/lib/base/Template.py |   10 ++++-
 .../integration/lib/base/TemplatePermissions.py    |    7 +++-
 .../integration/lib/base/ToLoadBalancerRule.py     |    4 ++
 .../marvin/integration/lib/base/TrafficMonitor.py  |    7 +++-
 .../marvin/integration/lib/base/TrafficType.py     |    7 +++-
 .../lib/base/TrafficTypeImplementors.py            |    7 +++-
 .../marvin/integration/lib/base/UsageRecords.py    |    7 +++-
 .../marvin/integration/lib/base/UsageTypes.py      |    7 +++-
 tools/marvin/marvin/integration/lib/base/User.py   |   10 ++++-
 .../marvin/marvin/integration/lib/base/UserKeys.py |    4 ++
 .../marvin/integration/lib/base/VMPassword.py      |    4 ++
 tools/marvin/marvin/integration/lib/base/VPC.py    |   10 ++++-
 .../marvin/integration/lib/base/VPCOffering.py     |   10 ++++-
 .../marvin/integration/lib/base/VirtualMachine.py  |   10 ++++-
 .../integration/lib/base/VirtualRouterElement.py   |   10 ++++-
 .../marvin/integration/lib/base/VlanIpRange.py     |   10 ++++-
 tools/marvin/marvin/integration/lib/base/Volume.py |   10 ++++-
 .../marvin/integration/lib/base/VpnConnection.py   |   10 ++++-
 .../integration/lib/base/VpnCustomerGateway.py     |   10 ++++-
 .../marvin/integration/lib/base/VpnGateway.py      |   10 ++++-
 .../marvin/marvin/integration/lib/base/VpnUser.py  |    7 +++-
 tools/marvin/marvin/integration/lib/base/Zone.py   |   10 ++++-
 .../integration/lib/factory/AccountFactory.py      |   27 ++++++++++++---
 .../marvin/marvin/integration/lib/generateBase.py  |   15 ++++++--
 113 files changed, 730 insertions(+), 134 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Account.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Account.py b/tools/marvin/marvin/integration/lib/base/Account.py
index fcdd092..77ff284 100644
--- a/tools/marvin/marvin/integration/lib/base/Account.py
+++ b/tools/marvin/marvin/integration/lib/base/Account.py
@@ -15,18 +15,28 @@
 # specific language governing permissions and limitations
 # under the License.
 from . import CloudStackEntity
+
 class Account(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def enable(self, apiclient, **kwargs):
         pass
 
     def lock(self, apiclient, account, domainid, **kwargs):
         pass
 
-    def create(self, apiclient, AccountFactory, username, firstname, lastname, accounttype, password, email, **kwargs):
-        pass
+    @classmethod
+    def create(cls, apiclient, AccountFactory, **kwargs):
+        cmd = createAccount.createAccountCmd()
+        [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in AccountFactory.attributes()]
+        [setattr(cmd, key, value) for key,value in kwargs.items]
+        return Account(apiclient.createAccount(cmd).__dict__)
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, newname, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/AccountFromProject.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/AccountFromProject.py b/tools/marvin/marvin/integration/lib/base/AccountFromProject.py
index a17eab2..0d069f1 100644
--- a/tools/marvin/marvin/integration/lib/base/AccountFromProject.py
+++ b/tools/marvin/marvin/integration/lib/base/AccountFromProject.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class AccountFromProject(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def delete(self, apiclient, projectid, account, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/AccountToProject.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/AccountToProject.py b/tools/marvin/marvin/integration/lib/base/AccountToProject.py
index 8ef70a8..7bb8978 100644
--- a/tools/marvin/marvin/integration/lib/base/AccountToProject.py
+++ b/tools/marvin/marvin/integration/lib/base/AccountToProject.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class AccountToProject(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def add(self, apiclient, projectid, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Alerts.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Alerts.py b/tools/marvin/marvin/integration/lib/base/Alerts.py
index 3440daf..01d500f 100644
--- a/tools/marvin/marvin/integration/lib/base/Alerts.py
+++ b/tools/marvin/marvin/integration/lib/base/Alerts.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class Alerts(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/ApiLimit.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ApiLimit.py b/tools/marvin/marvin/integration/lib/base/ApiLimit.py
index c8ea5c6..ff9ccc2 100644
--- a/tools/marvin/marvin/integration/lib/base/ApiLimit.py
+++ b/tools/marvin/marvin/integration/lib/base/ApiLimit.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class ApiLimit(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def reset(self, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Apis.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Apis.py b/tools/marvin/marvin/integration/lib/base/Apis.py
index 37828aa..ff0e3da 100644
--- a/tools/marvin/marvin/integration/lib/base/Apis.py
+++ b/tools/marvin/marvin/integration/lib/base/Apis.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class Apis(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/AsyncJobResult.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/AsyncJobResult.py b/tools/marvin/marvin/integration/lib/base/AsyncJobResult.py
index 4762e29..31d60ed 100644
--- a/tools/marvin/marvin/integration/lib/base/AsyncJobResult.py
+++ b/tools/marvin/marvin/integration/lib/base/AsyncJobResult.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class AsyncJobResult(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def query(self, apiclient, jobid, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/AsyncJobs.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/AsyncJobs.py b/tools/marvin/marvin/integration/lib/base/AsyncJobs.py
index 78194c9..1aa10e2 100644
--- a/tools/marvin/marvin/integration/lib/base/AsyncJobs.py
+++ b/tools/marvin/marvin/integration/lib/base/AsyncJobs.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class AsyncJobs(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/AutoScalePolicies.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/AutoScalePolicies.py b/tools/marvin/marvin/integration/lib/base/AutoScalePolicies.py
index 4a86771..a1c6392 100644
--- a/tools/marvin/marvin/integration/lib/base/AutoScalePolicies.py
+++ b/tools/marvin/marvin/integration/lib/base/AutoScalePolicies.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class AutoScalePolicies(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/AutoScalePolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/AutoScalePolicy.py b/tools/marvin/marvin/integration/lib/base/AutoScalePolicy.py
index d4f12a7..34bfea9 100644
--- a/tools/marvin/marvin/integration/lib/base/AutoScalePolicy.py
+++ b/tools/marvin/marvin/integration/lib/base/AutoScalePolicy.py
@@ -17,7 +17,12 @@
 from . import CloudStackEntity
 class AutoScalePolicy(CloudStackEntity):
 
-    def create(self, apiclient, AutoScalePolicyFactory, action, duration, conditionids, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, AutoScalePolicyFactory, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/AutoScaleVmGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/AutoScaleVmGroup.py b/tools/marvin/marvin/integration/lib/base/AutoScaleVmGroup.py
index 2cb9fa5..59d4c3a 100644
--- a/tools/marvin/marvin/integration/lib/base/AutoScaleVmGroup.py
+++ b/tools/marvin/marvin/integration/lib/base/AutoScaleVmGroup.py
@@ -17,13 +17,19 @@
 from . import CloudStackEntity
 class AutoScaleVmGroup(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def enable(self, apiclient, id, **kwargs):
         pass
 
-    def create(self, apiclient, AutoScaleVmGroupFactory, scaledownpolicyids, maxmembers, scaleuppolicyids, vmprofileid, minmembers, lbruleid, **kwargs):
+    @classmethod
+    def create(cls, apiclient, AutoScaleVmGroupFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/AutoScaleVmProfile.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/AutoScaleVmProfile.py b/tools/marvin/marvin/integration/lib/base/AutoScaleVmProfile.py
index 0035f61..f23fec6 100644
--- a/tools/marvin/marvin/integration/lib/base/AutoScaleVmProfile.py
+++ b/tools/marvin/marvin/integration/lib/base/AutoScaleVmProfile.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class AutoScaleVmProfile(CloudStackEntity):
 
-    def create(self, apiclient, AutoScaleVmProfileFactory, zoneid, serviceofferingid, templateid, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, AutoScaleVmProfileFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Capabilities.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Capabilities.py b/tools/marvin/marvin/integration/lib/base/Capabilities.py
index 9e2b6e6..e4a53d9 100644
--- a/tools/marvin/marvin/integration/lib/base/Capabilities.py
+++ b/tools/marvin/marvin/integration/lib/base/Capabilities.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class Capabilities(CloudStackEntity):
 
-    def list(self, apiclient):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Capacity.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Capacity.py b/tools/marvin/marvin/integration/lib/base/Capacity.py
index b4e4ce5..992b0ea 100644
--- a/tools/marvin/marvin/integration/lib/base/Capacity.py
+++ b/tools/marvin/marvin/integration/lib/base/Capacity.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class Capacity(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/CloudIdentifier.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/CloudIdentifier.py b/tools/marvin/marvin/integration/lib/base/CloudIdentifier.py
index 6ed84c8..a407883 100644
--- a/tools/marvin/marvin/integration/lib/base/CloudIdentifier.py
+++ b/tools/marvin/marvin/integration/lib/base/CloudIdentifier.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class CloudIdentifier(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def get(self, apiclient, userid, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Cluster.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Cluster.py b/tools/marvin/marvin/integration/lib/base/Cluster.py
index 62d8df0..06798de 100644
--- a/tools/marvin/marvin/integration/lib/base/Cluster.py
+++ b/tools/marvin/marvin/integration/lib/base/Cluster.py
@@ -17,10 +17,15 @@
 from . import CloudStackEntity
 class Cluster(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def add(self, apiclient, clustername, hypervisor, zoneid, clustertype, podid, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Condition.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Condition.py b/tools/marvin/marvin/integration/lib/base/Condition.py
index 48f81ab..065ff49 100644
--- a/tools/marvin/marvin/integration/lib/base/Condition.py
+++ b/tools/marvin/marvin/integration/lib/base/Condition.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class Condition(CloudStackEntity):
 
-    def create(self, apiclient, ConditionFactory, threshold, relationaloperator, counterid, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, ConditionFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def delete(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Config.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Config.py b/tools/marvin/marvin/integration/lib/base/Config.py
index b035a5b..bb6cc46 100644
--- a/tools/marvin/marvin/integration/lib/base/Config.py
+++ b/tools/marvin/marvin/integration/lib/base/Config.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class Config(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def ldap(self, apiclient, queryfilter, hostname, searchbase, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Configuration.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Configuration.py b/tools/marvin/marvin/integration/lib/base/Configuration.py
index 328561c..9d569b1 100644
--- a/tools/marvin/marvin/integration/lib/base/Configuration.py
+++ b/tools/marvin/marvin/integration/lib/base/Configuration.py
@@ -17,7 +17,12 @@
 from . import CloudStackEntity
 class Configuration(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, name, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Counter.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Counter.py b/tools/marvin/marvin/integration/lib/base/Counter.py
index ba59d69..d7f6b39 100644
--- a/tools/marvin/marvin/integration/lib/base/Counter.py
+++ b/tools/marvin/marvin/integration/lib/base/Counter.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class Counter(CloudStackEntity):
 
-    def create(self, apiclient, CounterFactory, source, name, value, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, CounterFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def delete(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/CustomCertificate.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/CustomCertificate.py b/tools/marvin/marvin/integration/lib/base/CustomCertificate.py
index 05e9cbd..575cb32 100644
--- a/tools/marvin/marvin/integration/lib/base/CustomCertificate.py
+++ b/tools/marvin/marvin/integration/lib/base/CustomCertificate.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class CustomCertificate(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def upload(self, apiclient, domainsuffix, certificate, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/DefaultZoneForAccount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/DefaultZoneForAccount.py b/tools/marvin/marvin/integration/lib/base/DefaultZoneForAccount.py
index f94a27f..cb5df25 100644
--- a/tools/marvin/marvin/integration/lib/base/DefaultZoneForAccount.py
+++ b/tools/marvin/marvin/integration/lib/base/DefaultZoneForAccount.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class DefaultZoneForAccount(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def mark(self, apiclient, account, domainid, zoneid, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/DiskOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/DiskOffering.py b/tools/marvin/marvin/integration/lib/base/DiskOffering.py
index b6b6f40..6787a2e 100644
--- a/tools/marvin/marvin/integration/lib/base/DiskOffering.py
+++ b/tools/marvin/marvin/integration/lib/base/DiskOffering.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class DiskOffering(CloudStackEntity):
 
-    def create(self, apiclient, DiskOfferingFactory, displaytext, name, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, DiskOfferingFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Domain.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Domain.py b/tools/marvin/marvin/integration/lib/base/Domain.py
index 2c54fc4..6ef330e 100644
--- a/tools/marvin/marvin/integration/lib/base/Domain.py
+++ b/tools/marvin/marvin/integration/lib/base/Domain.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class Domain(CloudStackEntity):
 
-    def create(self, apiclient, DomainFactory, name, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, DomainFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/DomainChildren.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/DomainChildren.py b/tools/marvin/marvin/integration/lib/base/DomainChildren.py
index cfb546b..5632056 100644
--- a/tools/marvin/marvin/integration/lib/base/DomainChildren.py
+++ b/tools/marvin/marvin/integration/lib/base/DomainChildren.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class DomainChildren(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/EventTypes.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/EventTypes.py b/tools/marvin/marvin/integration/lib/base/EventTypes.py
index 029b3ea..9d046ac 100644
--- a/tools/marvin/marvin/integration/lib/base/EventTypes.py
+++ b/tools/marvin/marvin/integration/lib/base/EventTypes.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class EventTypes(CloudStackEntity):
 
-    def list(self, apiclient):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Events.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Events.py b/tools/marvin/marvin/integration/lib/base/Events.py
index 8958f65..14895cc 100644
--- a/tools/marvin/marvin/integration/lib/base/Events.py
+++ b/tools/marvin/marvin/integration/lib/base/Events.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class Events(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/FirewallRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/FirewallRule.py b/tools/marvin/marvin/integration/lib/base/FirewallRule.py
index f54f7a0..564a633 100644
--- a/tools/marvin/marvin/integration/lib/base/FirewallRule.py
+++ b/tools/marvin/marvin/integration/lib/base/FirewallRule.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class FirewallRule(CloudStackEntity):
 
-    def create(self, apiclient, FirewallRuleFactory, protocol, ipaddressid, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, FirewallRuleFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def delete(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/FromLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/FromLoadBalancerRule.py b/tools/marvin/marvin/integration/lib/base/FromLoadBalancerRule.py
index 6e9744c..caa2fcb 100644
--- a/tools/marvin/marvin/integration/lib/base/FromLoadBalancerRule.py
+++ b/tools/marvin/marvin/integration/lib/base/FromLoadBalancerRule.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class FromLoadBalancerRule(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def remove(self, apiclient, id, virtualmachineids, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Host.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Host.py b/tools/marvin/marvin/integration/lib/base/Host.py
index 42fcd17..e9bcb52 100644
--- a/tools/marvin/marvin/integration/lib/base/Host.py
+++ b/tools/marvin/marvin/integration/lib/base/Host.py
@@ -17,10 +17,15 @@
 from . import CloudStackEntity
 class Host(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def add(self, apiclient, username, podid, url, hypervisor, zoneid, password, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/HostForMaintenance.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/HostForMaintenance.py b/tools/marvin/marvin/integration/lib/base/HostForMaintenance.py
index 722cf6f..8e18c26 100644
--- a/tools/marvin/marvin/integration/lib/base/HostForMaintenance.py
+++ b/tools/marvin/marvin/integration/lib/base/HostForMaintenance.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class HostForMaintenance(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def prepare(self, apiclient, id, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/HostMaintenance.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/HostMaintenance.py b/tools/marvin/marvin/integration/lib/base/HostMaintenance.py
index ea30621..f6d4a26 100644
--- a/tools/marvin/marvin/integration/lib/base/HostMaintenance.py
+++ b/tools/marvin/marvin/integration/lib/base/HostMaintenance.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class HostMaintenance(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def cancel(self, apiclient, id, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/HostPassword.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/HostPassword.py b/tools/marvin/marvin/integration/lib/base/HostPassword.py
index f4f8d3d..f331378 100644
--- a/tools/marvin/marvin/integration/lib/base/HostPassword.py
+++ b/tools/marvin/marvin/integration/lib/base/HostPassword.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class HostPassword(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def update(self, apiclient, username, password, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/HypervisorCapabilities.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/HypervisorCapabilities.py b/tools/marvin/marvin/integration/lib/base/HypervisorCapabilities.py
index c033552..430bc68 100644
--- a/tools/marvin/marvin/integration/lib/base/HypervisorCapabilities.py
+++ b/tools/marvin/marvin/integration/lib/base/HypervisorCapabilities.py
@@ -17,7 +17,12 @@
 from . import CloudStackEntity
 class HypervisorCapabilities(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Hypervisors.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Hypervisors.py b/tools/marvin/marvin/integration/lib/base/Hypervisors.py
index b7fa3b2..aae29c1 100644
--- a/tools/marvin/marvin/integration/lib/base/Hypervisors.py
+++ b/tools/marvin/marvin/integration/lib/base/Hypervisors.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class Hypervisors(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/InstanceGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/InstanceGroup.py b/tools/marvin/marvin/integration/lib/base/InstanceGroup.py
index 64ff49a..8960995 100644
--- a/tools/marvin/marvin/integration/lib/base/InstanceGroup.py
+++ b/tools/marvin/marvin/integration/lib/base/InstanceGroup.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class InstanceGroup(CloudStackEntity):
 
-    def create(self, apiclient, InstanceGroupFactory, name, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, InstanceGroupFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/IpAddress.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/IpAddress.py b/tools/marvin/marvin/integration/lib/base/IpAddress.py
index 386f413..dea092b 100644
--- a/tools/marvin/marvin/integration/lib/base/IpAddress.py
+++ b/tools/marvin/marvin/integration/lib/base/IpAddress.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class IpAddress(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def disassociate(self, apiclient, id, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/IpForwardingRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/IpForwardingRule.py b/tools/marvin/marvin/integration/lib/base/IpForwardingRule.py
index 1985354..930ac04 100644
--- a/tools/marvin/marvin/integration/lib/base/IpForwardingRule.py
+++ b/tools/marvin/marvin/integration/lib/base/IpForwardingRule.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class IpForwardingRule(CloudStackEntity):
 
-    def create(self, apiclient, IpForwardingRuleFactory, startport, protocol, ipaddressid, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, IpForwardingRuleFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def delete(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Iso.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Iso.py b/tools/marvin/marvin/integration/lib/base/Iso.py
index 951da8b..3f3ef06 100644
--- a/tools/marvin/marvin/integration/lib/base/Iso.py
+++ b/tools/marvin/marvin/integration/lib/base/Iso.py
@@ -17,13 +17,18 @@
 from . import CloudStackEntity
 class Iso(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def copy(self, apiclient, sourcezoneid, id, destzoneid, **kwargs):
         pass
 
     def register(self, apiclient, url, displaytext, name, zoneid, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/IsoPermissions.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/IsoPermissions.py b/tools/marvin/marvin/integration/lib/base/IsoPermissions.py
index d328036..019ffbd 100644
--- a/tools/marvin/marvin/integration/lib/base/IsoPermissions.py
+++ b/tools/marvin/marvin/integration/lib/base/IsoPermissions.py
@@ -17,7 +17,12 @@
 from . import CloudStackEntity
 class IsoPermissions(CloudStackEntity):
 
-    def list(self, apiclient, id, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/LBStickinessPolicies.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/LBStickinessPolicies.py b/tools/marvin/marvin/integration/lib/base/LBStickinessPolicies.py
index 0c85593..a34fdf4 100644
--- a/tools/marvin/marvin/integration/lib/base/LBStickinessPolicies.py
+++ b/tools/marvin/marvin/integration/lib/base/LBStickinessPolicies.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class LBStickinessPolicies(CloudStackEntity):
 
-    def list(self, apiclient, lbruleid, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/LBStickinessPolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/LBStickinessPolicy.py b/tools/marvin/marvin/integration/lib/base/LBStickinessPolicy.py
index eba2bfb..0fc5e23 100644
--- a/tools/marvin/marvin/integration/lib/base/LBStickinessPolicy.py
+++ b/tools/marvin/marvin/integration/lib/base/LBStickinessPolicy.py
@@ -17,7 +17,12 @@
 from . import CloudStackEntity
 class LBStickinessPolicy(CloudStackEntity):
 
-    def create(self, apiclient, LBStickinessPolicyFactory, lbruleid, methodname, name, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, LBStickinessPolicyFactory, **kwargs):
         pass
 
     def delete(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/LoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/LoadBalancerRule.py b/tools/marvin/marvin/integration/lib/base/LoadBalancerRule.py
index 814a1f5..67f33bd 100644
--- a/tools/marvin/marvin/integration/lib/base/LoadBalancerRule.py
+++ b/tools/marvin/marvin/integration/lib/base/LoadBalancerRule.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class LoadBalancerRule(CloudStackEntity):
 
-    def create(self, apiclient, LoadBalancerRuleFactory, publicport, name, algorithm, privateport, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, LoadBalancerRuleFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/LoadBalancerRuleInstances.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/LoadBalancerRuleInstances.py b/tools/marvin/marvin/integration/lib/base/LoadBalancerRuleInstances.py
index 112f843..d301ef4 100644
--- a/tools/marvin/marvin/integration/lib/base/LoadBalancerRuleInstances.py
+++ b/tools/marvin/marvin/integration/lib/base/LoadBalancerRuleInstances.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class LoadBalancerRuleInstances(CloudStackEntity):
 
-    def list(self, apiclient, id, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Network.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Network.py b/tools/marvin/marvin/integration/lib/base/Network.py
index 4bd6cfd..2b51bc9 100644
--- a/tools/marvin/marvin/integration/lib/base/Network.py
+++ b/tools/marvin/marvin/integration/lib/base/Network.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class Network(CloudStackEntity):
 
-    def create(self, apiclient, NetworkFactory, displaytext, name, networkofferingid, zoneid, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, NetworkFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/NetworkACL.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/NetworkACL.py b/tools/marvin/marvin/integration/lib/base/NetworkACL.py
index cb45e44..084b59b 100644
--- a/tools/marvin/marvin/integration/lib/base/NetworkACL.py
+++ b/tools/marvin/marvin/integration/lib/base/NetworkACL.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class NetworkACL(CloudStackEntity):
 
-    def create(self, apiclient, NetworkACLFactory, networkid, protocol, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, NetworkACLFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def delete(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 e45a98e..a86665d 100644
--- a/tools/marvin/marvin/integration/lib/base/NetworkDevice.py
+++ b/tools/marvin/marvin/integration/lib/base/NetworkDevice.py
@@ -17,10 +17,15 @@
 from . import CloudStackEntity
 class NetworkDevice(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def add(self, apiclient, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def delete(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 a588da5..c78fa9a 100644
--- a/tools/marvin/marvin/integration/lib/base/NetworkOffering.py
+++ b/tools/marvin/marvin/integration/lib/base/NetworkOffering.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class NetworkOffering(CloudStackEntity):
 
-    def create(self, apiclient, NetworkOfferingFactory, guestiptype, traffictype, displaytext, name, supportedservices, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, NetworkOfferingFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 1b8a422..8b7b38f 100644
--- a/tools/marvin/marvin/integration/lib/base/NetworkServiceProvider.py
+++ b/tools/marvin/marvin/integration/lib/base/NetworkServiceProvider.py
@@ -17,10 +17,15 @@
 from . import CloudStackEntity
 class NetworkServiceProvider(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def add(self, apiclient, physicalnetworkid, name, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 c9ac9fc..84d2e33 100644
--- a/tools/marvin/marvin/integration/lib/base/NiciraNvpDevice.py
+++ b/tools/marvin/marvin/integration/lib/base/NiciraNvpDevice.py
@@ -17,10 +17,15 @@
 from . import CloudStackEntity
 class NiciraNvpDevice(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def add(self, apiclient, username, physicalnetworkid, password, hostname, transportzoneuuid, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def delete(self, apiclient, nvpdeviceid, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 f3ad2c3..e1b8855 100644
--- a/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py
+++ b/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class NiciraNvpDeviceNetworks(CloudStackEntity):
 
-    def list(self, apiclient, nvpdeviceid, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 edcd4c4..baef62f 100644
--- a/tools/marvin/marvin/integration/lib/base/OsCategories.py
+++ b/tools/marvin/marvin/integration/lib/base/OsCategories.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class OsCategories(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 ff7f1fd..22e1b67 100644
--- a/tools/marvin/marvin/integration/lib/base/OsTypes.py
+++ b/tools/marvin/marvin/integration/lib/base/OsTypes.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class OsTypes(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 e7120de..561bacb 100644
--- a/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py
+++ b/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class PasswordForVirtualMachine(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def reset(self, apiclient, id, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 6d1b595..1c20ebb 100644
--- a/tools/marvin/marvin/integration/lib/base/PhysicalNetwork.py
+++ b/tools/marvin/marvin/integration/lib/base/PhysicalNetwork.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class PhysicalNetwork(CloudStackEntity):
 
-    def create(self, apiclient, PhysicalNetworkFactory, name, zoneid, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, PhysicalNetworkFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 0f6f448..190ac28 100644
--- a/tools/marvin/marvin/integration/lib/base/Pod.py
+++ b/tools/marvin/marvin/integration/lib/base/Pod.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class Pod(CloudStackEntity):
 
-    def create(self, apiclient, PodFactory, startip, netmask, zoneid, gateway, name, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, PodFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 9222f2a..c39c698 100644
--- a/tools/marvin/marvin/integration/lib/base/PortForwardingRule.py
+++ b/tools/marvin/marvin/integration/lib/base/PortForwardingRule.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class PortForwardingRule(CloudStackEntity):
 
-    def create(self, apiclient, PortForwardingRuleFactory, publicport, virtualmachineid, protocol, ipaddressid, privateport, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, PortForwardingRuleFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, publicport, protocol, ipaddressid, privateport, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 cdfd417..f494968 100644
--- a/tools/marvin/marvin/integration/lib/base/PrivateGateway.py
+++ b/tools/marvin/marvin/integration/lib/base/PrivateGateway.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class PrivateGateway(CloudStackEntity):
 
-    def create(self, apiclient, PrivateGatewayFactory, netmask, vlan, ipaddress, gateway, vpcid, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, PrivateGatewayFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def delete(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 f4611da..02c8134 100644
--- a/tools/marvin/marvin/integration/lib/base/Project.py
+++ b/tools/marvin/marvin/integration/lib/base/Project.py
@@ -17,13 +17,19 @@
 from . import CloudStackEntity
 class Project(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def suspend(self, apiclient, id, **kwargs):
         pass
 
-    def create(self, apiclient, ProjectFactory, displaytext, name, **kwargs):
+    @classmethod
+    def create(cls, apiclient, ProjectFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 1053218..207f884 100644
--- a/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py
+++ b/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class ProjectAccounts(CloudStackEntity):
 
-    def list(self, apiclient, projectid, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 64bea4e..5f45742 100644
--- a/tools/marvin/marvin/integration/lib/base/ProjectInvitation.py
+++ b/tools/marvin/marvin/integration/lib/base/ProjectInvitation.py
@@ -17,7 +17,12 @@
 from . import CloudStackEntity
 class ProjectInvitation(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, projectid, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 3affa57..5f3b29d 100644
--- a/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py
+++ b/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class PublicIpAddresses(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 eb52cc9..e989d91 100644
--- a/tools/marvin/marvin/integration/lib/base/RemoteAccessVpn.py
+++ b/tools/marvin/marvin/integration/lib/base/RemoteAccessVpn.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class RemoteAccessVpn(CloudStackEntity):
 
-    def create(self, apiclient, RemoteAccessVpnFactory, publicipid, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, RemoteAccessVpnFactory, **kwargs):
         pass
 
-    def list(self, apiclient, publicipid, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def delete(self, apiclient, publicipid, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 d63c08a..342eeaa 100644
--- a/tools/marvin/marvin/integration/lib/base/Remove.py
+++ b/tools/marvin/marvin/integration/lib/base/Remove.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class Remove(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def ldap(self, apiclient):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 118adfe..0a39066 100644
--- a/tools/marvin/marvin/integration/lib/base/ResourceCount.py
+++ b/tools/marvin/marvin/integration/lib/base/ResourceCount.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class ResourceCount(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def update(self, apiclient, domainid, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 e20ef11..d51ed9e 100644
--- a/tools/marvin/marvin/integration/lib/base/ResourceLimit.py
+++ b/tools/marvin/marvin/integration/lib/base/ResourceLimit.py
@@ -17,7 +17,12 @@
 from . import CloudStackEntity
 class ResourceLimit(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, resourcetype, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 8b01859..772a4ac 100644
--- a/tools/marvin/marvin/integration/lib/base/Router.py
+++ b/tools/marvin/marvin/integration/lib/base/Router.py
@@ -17,10 +17,15 @@
 from . import CloudStackEntity
 class Router(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def destroy(self, apiclient, id, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def stop(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 9eda83f..dfe3883 100644
--- a/tools/marvin/marvin/integration/lib/base/S3.py
+++ b/tools/marvin/marvin/integration/lib/base/S3.py
@@ -17,9 +17,14 @@
 from . import CloudStackEntity
 class S3(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def add(self, apiclient, secretkey, accesskey, bucket, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 23234ae..1d0652a 100644
--- a/tools/marvin/marvin/integration/lib/base/SSHKeyPair.py
+++ b/tools/marvin/marvin/integration/lib/base/SSHKeyPair.py
@@ -17,13 +17,19 @@
 from . import CloudStackEntity
 class SSHKeyPair(CloudStackEntity):
 
-    def create(self, apiclient, SSHKeyPairFactory, name, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, SSHKeyPairFactory, **kwargs):
         pass
 
     def register(self, apiclient, publickey, name, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def delete(self, apiclient, name, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 34ba7d2..68a71f7 100644
--- a/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py
+++ b/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class SecondaryStorage(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def add(self, apiclient, url, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 dae8de7..b4edb84 100644
--- a/tools/marvin/marvin/integration/lib/base/SecurityGroup.py
+++ b/tools/marvin/marvin/integration/lib/base/SecurityGroup.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class SecurityGroup(CloudStackEntity):
 
-    def create(self, apiclient, SecurityGroupFactory, name, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, SecurityGroupFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def delete(self, apiclient, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 400df85..90ae706 100644
--- a/tools/marvin/marvin/integration/lib/base/SecurityGroupEgress.py
+++ b/tools/marvin/marvin/integration/lib/base/SecurityGroupEgress.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class SecurityGroupEgress(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def authorize(self, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 b6ce744..81613d1 100644
--- a/tools/marvin/marvin/integration/lib/base/SecurityGroupIngress.py
+++ b/tools/marvin/marvin/integration/lib/base/SecurityGroupIngress.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class SecurityGroupIngress(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def authorize(self, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 7040d2d..58c556c 100644
--- a/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py
+++ b/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class ServiceForRouter(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def change(self, apiclient, id, serviceofferingid, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 e3292c2..e865087 100644
--- a/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py
+++ b/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class ServiceForSystemVm(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def change(self, apiclient, id, serviceofferingid, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 fc45f98..07d0e37 100644
--- a/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py
+++ b/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class ServiceForVirtualMachine(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def change(self, apiclient, id, serviceofferingid, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 ef4d274..f1c3959 100644
--- a/tools/marvin/marvin/integration/lib/base/ServiceOffering.py
+++ b/tools/marvin/marvin/integration/lib/base/ServiceOffering.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class ServiceOffering(CloudStackEntity):
 
-    def create(self, apiclient, ServiceOfferingFactory, displaytext, memory, cpunumber, name, cpuspeed, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, ServiceOfferingFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 aa708fb..be84474 100644
--- a/tools/marvin/marvin/integration/lib/base/Snapshot.py
+++ b/tools/marvin/marvin/integration/lib/base/Snapshot.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class Snapshot(CloudStackEntity):
 
-    def create(self, apiclient, SnapshotFactory, volumeid, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, SnapshotFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def delete(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 1582199..3e45c01 100644
--- a/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py
+++ b/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py
@@ -17,7 +17,12 @@
 from . import CloudStackEntity
 class SnapshotPolicies(CloudStackEntity):
 
-    def list(self, apiclient, volumeid, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def delete(self, apiclient, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 7c69db5..1821fc0 100644
--- a/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py
+++ b/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class SnapshotPolicy(CloudStackEntity):
 
-    def create(self, apiclient, SnapshotPolicyFactory, timezone, maxsnaps, schedule, volumeid, intervaltype, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, SnapshotPolicyFactory, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 25be454..fe7ee70 100644
--- a/tools/marvin/marvin/integration/lib/base/StaticNat.py
+++ b/tools/marvin/marvin/integration/lib/base/StaticNat.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class StaticNat(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def enable(self, apiclient, ipaddressid, virtualmachineid, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 0c97ed3..283d854 100644
--- a/tools/marvin/marvin/integration/lib/base/StaticRoute.py
+++ b/tools/marvin/marvin/integration/lib/base/StaticRoute.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class StaticRoute(CloudStackEntity):
 
-    def create(self, apiclient, StaticRouteFactory, gatewayid, cidr, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, StaticRouteFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def delete(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 01c0d1f..f577726 100644
--- a/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py
+++ b/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class StorageMaintenance(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def cancel(self, apiclient, id, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 ecf122b..80716fb 100644
--- a/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py
+++ b/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class StorageNetworkIpRange(CloudStackEntity):
 
-    def create(self, apiclient, StorageNetworkIpRangeFactory, startip, netmask, gateway, podid, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, StorageNetworkIpRangeFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 48802f3..910d7ac 100644
--- a/tools/marvin/marvin/integration/lib/base/StoragePool.py
+++ b/tools/marvin/marvin/integration/lib/base/StoragePool.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class StoragePool(CloudStackEntity):
 
-    def create(self, apiclient, StoragePoolFactory, url, zoneid, clusterid, name, podid, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, StoragePoolFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 d9f02b8..4913b47 100644
--- a/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py
+++ b/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py
@@ -17,6 +17,11 @@
 from . import CloudStackEntity
 class SupportedNetworkServices(CloudStackEntity):
 
-    def list(self, apiclient, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 9cb8660..3ce4a2c 100644
--- a/tools/marvin/marvin/integration/lib/base/Swift.py
+++ b/tools/marvin/marvin/integration/lib/base/Swift.py
@@ -17,9 +17,14 @@
 from . import CloudStackEntity
 class Swift(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def add(self, apiclient, url, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 207ad38..a11e04a 100644
--- a/tools/marvin/marvin/integration/lib/base/SystemVm.py
+++ b/tools/marvin/marvin/integration/lib/base/SystemVm.py
@@ -17,13 +17,18 @@
 from . import CloudStackEntity
 class SystemVm(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def migrate(self, apiclient, hostid, virtualmachineid, **kwargs):
         pass
 
     def stop(self, apiclient, id, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def reboot(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 ebb538a..30b9c9f 100644
--- a/tools/marvin/marvin/integration/lib/base/Tags.py
+++ b/tools/marvin/marvin/integration/lib/base/Tags.py
@@ -17,10 +17,16 @@
 from . import CloudStackEntity
 class Tags(CloudStackEntity):
 
-    def create(self, apiclient, TagsFactory, resourcetype, resourceids, tags, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def create(cls, apiclient, TagsFactory, **kwargs):
         pass
 
-    def list(self, apiclient, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def delete(self, apiclient, resourcetype, resourceids, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 25501d7..8c6862d 100644
--- a/tools/marvin/marvin/integration/lib/base/Template.py
+++ b/tools/marvin/marvin/integration/lib/base/Template.py
@@ -17,16 +17,22 @@
 from . import CloudStackEntity
 class Template(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def prepare(self, apiclient, zoneid, templateid, **kwargs):
         pass
 
-    def create(self, apiclient, TemplateFactory, displaytext, name, ostypeid, **kwargs):
+    @classmethod
+    def create(cls, apiclient, TemplateFactory, **kwargs):
         pass
 
     def register(self, apiclient, name, format, url, hypervisor, zoneid, displaytext, ostypeid, **kwargs):
         pass
 
-    def list(self, apiclient, templatefilter, **kwargs):
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 fa51420..6e21436 100644
--- a/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py
+++ b/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py
@@ -17,7 +17,12 @@
 from . import CloudStackEntity
 class TemplatePermissions(CloudStackEntity):
 
-    def list(self, apiclient, id, **kwargs):
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
+    @classmethod
+    def list(cls, apiclient, **kwargs):
         pass
 
     def update(self, apiclient, id, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/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 7173bbf..b5cd4f5 100644
--- a/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py
+++ b/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py
@@ -17,6 +17,10 @@
 from . import CloudStackEntity
 class ToLoadBalancerRule(CloudStackEntity):
 
+    def __init__(self, items):
+        self.__dict__.update(items)
+
+
     def assign(self, apiclient, id, virtualmachineids, **kwargs):
         pass
 


Mime
View raw message