diff --git a/tools/marvin/marvin/integration/lib/base/Account.py b/tools/marvin/marvin/integration/lib/base/Account.py index 091252dc2be..fad606723c6 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): diff --git a/tools/marvin/marvin/integration/lib/base/AccountFromProject.py b/tools/marvin/marvin/integration/lib/base/AccountFromProject.py index abc2832183f..8f78f39be92 100644 --- a/tools/marvin/marvin/integration/lib/base/AccountFromProject.py +++ b/tools/marvin/marvin/integration/lib/base/AccountFromProject.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class AccountFromProject(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def delete(self, apiclient, projectid, account, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/AccountToProject.py b/tools/marvin/marvin/integration/lib/base/AccountToProject.py index 92b902ace05..5f7d4718737 100644 --- a/tools/marvin/marvin/integration/lib/base/AccountToProject.py +++ b/tools/marvin/marvin/integration/lib/base/AccountToProject.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class AccountToProject(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def add(self, apiclient, projectid, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/Alerts.py b/tools/marvin/marvin/integration/lib/base/Alerts.py index 9764d9c3f14..07e552fa044 100644 --- a/tools/marvin/marvin/integration/lib/base/Alerts.py +++ b/tools/marvin/marvin/integration/lib/base/Alerts.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/ApiLimit.py b/tools/marvin/marvin/integration/lib/base/ApiLimit.py index 16e7ed85296..ee33668ecc7 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 diff --git a/tools/marvin/marvin/integration/lib/base/Apis.py b/tools/marvin/marvin/integration/lib/base/Apis.py index c95ae7b7932..6cad6c8d2b8 100644 --- a/tools/marvin/marvin/integration/lib/base/Apis.py +++ b/tools/marvin/marvin/integration/lib/base/Apis.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/AsyncJobResult.py b/tools/marvin/marvin/integration/lib/base/AsyncJobResult.py index 254c39eb71c..2805e50ab50 100644 --- a/tools/marvin/marvin/integration/lib/base/AsyncJobResult.py +++ b/tools/marvin/marvin/integration/lib/base/AsyncJobResult.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class AsyncJobResult(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def query(self, apiclient, jobid, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/AsyncJobs.py b/tools/marvin/marvin/integration/lib/base/AsyncJobs.py index f7859b82738..0f25bc611a4 100644 --- a/tools/marvin/marvin/integration/lib/base/AsyncJobs.py +++ b/tools/marvin/marvin/integration/lib/base/AsyncJobs.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/AutoScalePolicies.py b/tools/marvin/marvin/integration/lib/base/AutoScalePolicies.py index afcf1c6634a..1ac5502bd83 100644 --- a/tools/marvin/marvin/integration/lib/base/AutoScalePolicies.py +++ b/tools/marvin/marvin/integration/lib/base/AutoScalePolicies.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/AutoScalePolicy.py b/tools/marvin/marvin/integration/lib/base/AutoScalePolicy.py index 6a71ac99a5c..541f11bc443 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): diff --git a/tools/marvin/marvin/integration/lib/base/AutoScaleVmGroup.py b/tools/marvin/marvin/integration/lib/base/AutoScaleVmGroup.py index 10cdd3fcfcb..98ae58f9b8d 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): diff --git a/tools/marvin/marvin/integration/lib/base/AutoScaleVmProfile.py b/tools/marvin/marvin/integration/lib/base/AutoScaleVmProfile.py index 3f6a031cece..4607801cbab 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): diff --git a/tools/marvin/marvin/integration/lib/base/Capabilities.py b/tools/marvin/marvin/integration/lib/base/Capabilities.py index 9592622a0d4..ba33f86eadd 100644 --- a/tools/marvin/marvin/integration/lib/base/Capabilities.py +++ b/tools/marvin/marvin/integration/lib/base/Capabilities.py @@ -17,5 +17,10 @@ from . import CloudStackEntity class Capabilities(CloudStackEntity): - def list(self, apiclient): + def __init__(self, items): + self.__dict__.update(items) + + + @classmethod + def list(cls, apiclient): pass diff --git a/tools/marvin/marvin/integration/lib/base/Capacity.py b/tools/marvin/marvin/integration/lib/base/Capacity.py index 2ffe4240aa3..21fec409baf 100644 --- a/tools/marvin/marvin/integration/lib/base/Capacity.py +++ b/tools/marvin/marvin/integration/lib/base/Capacity.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/CloudIdentifier.py b/tools/marvin/marvin/integration/lib/base/CloudIdentifier.py index 810d7383923..3496609170b 100644 --- a/tools/marvin/marvin/integration/lib/base/CloudIdentifier.py +++ b/tools/marvin/marvin/integration/lib/base/CloudIdentifier.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class CloudIdentifier(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def get(self, apiclient, userid, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/Cluster.py b/tools/marvin/marvin/integration/lib/base/Cluster.py index 94144f48a59..73ffc42abc1 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): diff --git a/tools/marvin/marvin/integration/lib/base/Condition.py b/tools/marvin/marvin/integration/lib/base/Condition.py index fbb48899c62..debaccfca19 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): diff --git a/tools/marvin/marvin/integration/lib/base/Config.py b/tools/marvin/marvin/integration/lib/base/Config.py index fd19b9fd8a2..794255756cf 100644 --- a/tools/marvin/marvin/integration/lib/base/Config.py +++ b/tools/marvin/marvin/integration/lib/base/Config.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class Config(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def ldap(self, apiclient, queryfilter, hostname, searchbase, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/Configuration.py b/tools/marvin/marvin/integration/lib/base/Configuration.py index d37e85db5b9..4d9780840f9 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): diff --git a/tools/marvin/marvin/integration/lib/base/Counter.py b/tools/marvin/marvin/integration/lib/base/Counter.py index d6c5de042f3..3de71bc5324 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): diff --git a/tools/marvin/marvin/integration/lib/base/CustomCertificate.py b/tools/marvin/marvin/integration/lib/base/CustomCertificate.py index 1dba15431fe..aac637f65ef 100644 --- a/tools/marvin/marvin/integration/lib/base/CustomCertificate.py +++ b/tools/marvin/marvin/integration/lib/base/CustomCertificate.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class CustomCertificate(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def upload(self, apiclient, domainsuffix, certificate, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/DefaultZoneForAccount.py b/tools/marvin/marvin/integration/lib/base/DefaultZoneForAccount.py index 6cfa1879b53..7dbd755687b 100644 --- a/tools/marvin/marvin/integration/lib/base/DefaultZoneForAccount.py +++ b/tools/marvin/marvin/integration/lib/base/DefaultZoneForAccount.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class DefaultZoneForAccount(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def mark(self, apiclient, account, domainid, zoneid, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/DiskOffering.py b/tools/marvin/marvin/integration/lib/base/DiskOffering.py index 69f6e607c9a..f1436cf5bdb 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): diff --git a/tools/marvin/marvin/integration/lib/base/Domain.py b/tools/marvin/marvin/integration/lib/base/Domain.py index 18630d3d737..5904aa4ae04 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): diff --git a/tools/marvin/marvin/integration/lib/base/DomainChildren.py b/tools/marvin/marvin/integration/lib/base/DomainChildren.py index a19e0bd1ffb..cfd80152056 100644 --- a/tools/marvin/marvin/integration/lib/base/DomainChildren.py +++ b/tools/marvin/marvin/integration/lib/base/DomainChildren.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/EventTypes.py b/tools/marvin/marvin/integration/lib/base/EventTypes.py index 25ff033a01a..208fe1b33fc 100644 --- a/tools/marvin/marvin/integration/lib/base/EventTypes.py +++ b/tools/marvin/marvin/integration/lib/base/EventTypes.py @@ -17,5 +17,10 @@ from . import CloudStackEntity class EventTypes(CloudStackEntity): - def list(self, apiclient): + def __init__(self, items): + self.__dict__.update(items) + + + @classmethod + def list(cls, apiclient): pass diff --git a/tools/marvin/marvin/integration/lib/base/Events.py b/tools/marvin/marvin/integration/lib/base/Events.py index 747f3e69287..7acccd1832d 100644 --- a/tools/marvin/marvin/integration/lib/base/Events.py +++ b/tools/marvin/marvin/integration/lib/base/Events.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/FirewallRule.py b/tools/marvin/marvin/integration/lib/base/FirewallRule.py index fb5b0e1a4ca..7ff5777e553 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): diff --git a/tools/marvin/marvin/integration/lib/base/FromLoadBalancerRule.py b/tools/marvin/marvin/integration/lib/base/FromLoadBalancerRule.py index 575af89005d..23dc9ad0ead 100644 --- a/tools/marvin/marvin/integration/lib/base/FromLoadBalancerRule.py +++ b/tools/marvin/marvin/integration/lib/base/FromLoadBalancerRule.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class FromLoadBalancerRule(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def remove(self, apiclient, id, virtualmachineids, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/Host.py b/tools/marvin/marvin/integration/lib/base/Host.py index 3103dee0895..f488bb16fd5 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): diff --git a/tools/marvin/marvin/integration/lib/base/HostForMaintenance.py b/tools/marvin/marvin/integration/lib/base/HostForMaintenance.py index 19828037caa..93baabad041 100644 --- a/tools/marvin/marvin/integration/lib/base/HostForMaintenance.py +++ b/tools/marvin/marvin/integration/lib/base/HostForMaintenance.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class HostForMaintenance(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def prepare(self, apiclient, id, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/HostMaintenance.py b/tools/marvin/marvin/integration/lib/base/HostMaintenance.py index 458c45b83bc..05b4fc935fc 100644 --- a/tools/marvin/marvin/integration/lib/base/HostMaintenance.py +++ b/tools/marvin/marvin/integration/lib/base/HostMaintenance.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class HostMaintenance(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def cancel(self, apiclient, id, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/HostPassword.py b/tools/marvin/marvin/integration/lib/base/HostPassword.py index 505e754e3b0..12f250f15e3 100644 --- a/tools/marvin/marvin/integration/lib/base/HostPassword.py +++ b/tools/marvin/marvin/integration/lib/base/HostPassword.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class HostPassword(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def update(self, apiclient, username, password, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/HypervisorCapabilities.py b/tools/marvin/marvin/integration/lib/base/HypervisorCapabilities.py index 94fef573269..da5ba70a9e0 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): diff --git a/tools/marvin/marvin/integration/lib/base/Hypervisors.py b/tools/marvin/marvin/integration/lib/base/Hypervisors.py index f366c4435e4..2b338da0ded 100644 --- a/tools/marvin/marvin/integration/lib/base/Hypervisors.py +++ b/tools/marvin/marvin/integration/lib/base/Hypervisors.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/InstanceGroup.py b/tools/marvin/marvin/integration/lib/base/InstanceGroup.py index 6fe1de6f72a..bbd54a7dd7e 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): diff --git a/tools/marvin/marvin/integration/lib/base/IpAddress.py b/tools/marvin/marvin/integration/lib/base/IpAddress.py index cebbdd38336..f8a37d6a998 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 diff --git a/tools/marvin/marvin/integration/lib/base/IpForwardingRule.py b/tools/marvin/marvin/integration/lib/base/IpForwardingRule.py index 80f4c3e3995..7d38a96c189 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): diff --git a/tools/marvin/marvin/integration/lib/base/Iso.py b/tools/marvin/marvin/integration/lib/base/Iso.py index 91e53f47aa6..5bca76689df 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): diff --git a/tools/marvin/marvin/integration/lib/base/IsoPermissions.py b/tools/marvin/marvin/integration/lib/base/IsoPermissions.py index f0541f437b9..9a9e1db827e 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): diff --git a/tools/marvin/marvin/integration/lib/base/LBStickinessPolicies.py b/tools/marvin/marvin/integration/lib/base/LBStickinessPolicies.py index 86063196c21..a71fcc135cf 100644 --- a/tools/marvin/marvin/integration/lib/base/LBStickinessPolicies.py +++ b/tools/marvin/marvin/integration/lib/base/LBStickinessPolicies.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/LBStickinessPolicy.py b/tools/marvin/marvin/integration/lib/base/LBStickinessPolicy.py index 01534ac4855..a1367912ea5 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): diff --git a/tools/marvin/marvin/integration/lib/base/LoadBalancerRule.py b/tools/marvin/marvin/integration/lib/base/LoadBalancerRule.py index 9ab6eb8a8ab..aca6b02cf61 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): diff --git a/tools/marvin/marvin/integration/lib/base/LoadBalancerRuleInstances.py b/tools/marvin/marvin/integration/lib/base/LoadBalancerRuleInstances.py index 2eb78b1f405..60202f1ef37 100644 --- a/tools/marvin/marvin/integration/lib/base/LoadBalancerRuleInstances.py +++ b/tools/marvin/marvin/integration/lib/base/LoadBalancerRuleInstances.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/Network.py b/tools/marvin/marvin/integration/lib/base/Network.py index 876ed1fbfbf..14cb9de68d8 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): diff --git a/tools/marvin/marvin/integration/lib/base/NetworkACL.py b/tools/marvin/marvin/integration/lib/base/NetworkACL.py index 35e04a22cdc..6f7f02c2489 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): diff --git a/tools/marvin/marvin/integration/lib/base/NetworkDevice.py b/tools/marvin/marvin/integration/lib/base/NetworkDevice.py index 009f85b4027..aa00778cd85 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): diff --git a/tools/marvin/marvin/integration/lib/base/NetworkOffering.py b/tools/marvin/marvin/integration/lib/base/NetworkOffering.py index 30767893070..1f5fee82e16 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): diff --git a/tools/marvin/marvin/integration/lib/base/NetworkServiceProvider.py b/tools/marvin/marvin/integration/lib/base/NetworkServiceProvider.py index 8774409c3cb..2e79ea148d9 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): diff --git a/tools/marvin/marvin/integration/lib/base/NiciraNvpDevice.py b/tools/marvin/marvin/integration/lib/base/NiciraNvpDevice.py index bb0842ed74d..f70f015abc3 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): diff --git a/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py b/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py index 85b8a0cbe24..97e69a5e218 100644 --- a/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py +++ b/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/OsCategories.py b/tools/marvin/marvin/integration/lib/base/OsCategories.py index e7e0165929d..0083539aa1e 100644 --- a/tools/marvin/marvin/integration/lib/base/OsCategories.py +++ b/tools/marvin/marvin/integration/lib/base/OsCategories.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/OsTypes.py b/tools/marvin/marvin/integration/lib/base/OsTypes.py index 779f72f5cc6..e30fd36412d 100644 --- a/tools/marvin/marvin/integration/lib/base/OsTypes.py +++ b/tools/marvin/marvin/integration/lib/base/OsTypes.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py b/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py index b58a76e057d..4e4103d6fd0 100644 --- a/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py +++ b/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class PasswordForVirtualMachine(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def reset(self, apiclient, id, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/PhysicalNetwork.py b/tools/marvin/marvin/integration/lib/base/PhysicalNetwork.py index fca3b98a85f..cb4219e967b 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): diff --git a/tools/marvin/marvin/integration/lib/base/Pod.py b/tools/marvin/marvin/integration/lib/base/Pod.py index 2f33bbcc53d..c3aee80652d 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): diff --git a/tools/marvin/marvin/integration/lib/base/PortForwardingRule.py b/tools/marvin/marvin/integration/lib/base/PortForwardingRule.py index f2f162adf8c..89c573997d0 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): diff --git a/tools/marvin/marvin/integration/lib/base/PrivateGateway.py b/tools/marvin/marvin/integration/lib/base/PrivateGateway.py index 6e63c87dd1b..1a7b1f61455 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): diff --git a/tools/marvin/marvin/integration/lib/base/Project.py b/tools/marvin/marvin/integration/lib/base/Project.py index cd043040644..1f7adef8934 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): diff --git a/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py b/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py index 5d60e44ab7d..e5b592a2b1b 100644 --- a/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py +++ b/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/ProjectInvitation.py b/tools/marvin/marvin/integration/lib/base/ProjectInvitation.py index d51dc26300d..27931e2a287 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): diff --git a/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py b/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py index 1db35f7d36e..57191df7855 100644 --- a/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py +++ b/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/RemoteAccessVpn.py b/tools/marvin/marvin/integration/lib/base/RemoteAccessVpn.py index eee50564126..fc7c935c15a 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): diff --git a/tools/marvin/marvin/integration/lib/base/Remove.py b/tools/marvin/marvin/integration/lib/base/Remove.py index ce0fd025549..18245b8acd4 100644 --- a/tools/marvin/marvin/integration/lib/base/Remove.py +++ b/tools/marvin/marvin/integration/lib/base/Remove.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class Remove(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def ldap(self, apiclient): pass diff --git a/tools/marvin/marvin/integration/lib/base/ResourceCount.py b/tools/marvin/marvin/integration/lib/base/ResourceCount.py index e88bb5c2c3f..28578ca9220 100644 --- a/tools/marvin/marvin/integration/lib/base/ResourceCount.py +++ b/tools/marvin/marvin/integration/lib/base/ResourceCount.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class ResourceCount(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def update(self, apiclient, domainid, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/ResourceLimit.py b/tools/marvin/marvin/integration/lib/base/ResourceLimit.py index fcf942fff12..db24a8f0a06 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): diff --git a/tools/marvin/marvin/integration/lib/base/Router.py b/tools/marvin/marvin/integration/lib/base/Router.py index 51dc22a684f..b4c09168a49 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): diff --git a/tools/marvin/marvin/integration/lib/base/S3.py b/tools/marvin/marvin/integration/lib/base/S3.py index 7ada8fbf0fa..053fc6c1af5 100644 --- a/tools/marvin/marvin/integration/lib/base/S3.py +++ b/tools/marvin/marvin/integration/lib/base/S3.py @@ -17,8 +17,13 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/SSHKeyPair.py b/tools/marvin/marvin/integration/lib/base/SSHKeyPair.py index a59689565e3..e33bb32a5e4 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): diff --git a/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py b/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py index 479de172dde..e8e5070586a 100644 --- a/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py +++ b/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class SecondaryStorage(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def add(self, apiclient, url, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/SecurityGroup.py b/tools/marvin/marvin/integration/lib/base/SecurityGroup.py index 522e68edfb4..ca2ec001fe1 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): diff --git a/tools/marvin/marvin/integration/lib/base/SecurityGroupEgress.py b/tools/marvin/marvin/integration/lib/base/SecurityGroupEgress.py index 143d538fe82..7a05f9e8b8f 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 diff --git a/tools/marvin/marvin/integration/lib/base/SecurityGroupIngress.py b/tools/marvin/marvin/integration/lib/base/SecurityGroupIngress.py index 8e79d91bf76..b6dac2bcba3 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 diff --git a/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py b/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py index 538fc9ee611..300c3f62012 100644 --- a/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py +++ b/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class ServiceForRouter(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def change(self, apiclient, id, serviceofferingid, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py b/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py index 7ebaff9ec05..3123d8d8dd9 100644 --- a/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py +++ b/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class ServiceForSystemVm(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def change(self, apiclient, id, serviceofferingid, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py b/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py index 44afcbc53c4..7a1ea598518 100644 --- a/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py +++ b/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class ServiceForVirtualMachine(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def change(self, apiclient, id, serviceofferingid, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/ServiceOffering.py b/tools/marvin/marvin/integration/lib/base/ServiceOffering.py index 7e0bf7ad811..81ff7ec3973 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): diff --git a/tools/marvin/marvin/integration/lib/base/Snapshot.py b/tools/marvin/marvin/integration/lib/base/Snapshot.py index f27ca4bf706..01ddf65c86e 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): diff --git a/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py b/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py index bd6742f3333..7f545d46fc5 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): diff --git a/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py b/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py index 089acdb1917..d0c8662e1fd 100644 --- a/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py +++ b/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/StaticNat.py b/tools/marvin/marvin/integration/lib/base/StaticNat.py index 8d95e603e3a..b403e1a42cd 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 diff --git a/tools/marvin/marvin/integration/lib/base/StaticRoute.py b/tools/marvin/marvin/integration/lib/base/StaticRoute.py index f602c033cd2..75089679def 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): diff --git a/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py b/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py index 0a734de3ac9..29cb27ff37b 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 diff --git a/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py b/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py index 64f3155a956..86155528e4f 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): diff --git a/tools/marvin/marvin/integration/lib/base/StoragePool.py b/tools/marvin/marvin/integration/lib/base/StoragePool.py index 366e3b3cc4f..ee0ece6de3e 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): diff --git a/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py b/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py index 9726c7eb7ca..cbcbaadb386 100644 --- a/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py +++ b/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py @@ -17,5 +17,10 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/Swift.py b/tools/marvin/marvin/integration/lib/base/Swift.py index d0ad414b2b5..e96089cd281 100644 --- a/tools/marvin/marvin/integration/lib/base/Swift.py +++ b/tools/marvin/marvin/integration/lib/base/Swift.py @@ -17,8 +17,13 @@ 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 diff --git a/tools/marvin/marvin/integration/lib/base/SystemVm.py b/tools/marvin/marvin/integration/lib/base/SystemVm.py index 8a92b158ddd..e8ea6096f94 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): diff --git a/tools/marvin/marvin/integration/lib/base/Tags.py b/tools/marvin/marvin/integration/lib/base/Tags.py index bcf87124ec7..6c548cb1f68 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): diff --git a/tools/marvin/marvin/integration/lib/base/Template.py b/tools/marvin/marvin/integration/lib/base/Template.py index 8d3c84f3794..29d37788552 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): diff --git a/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py b/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py index d54a897b4f0..ad861d96127 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): diff --git a/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py b/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py index aecfa0b17e2..16857ba28d5 100644 --- a/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py +++ b/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class ToLoadBalancerRule(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def assign(self, apiclient, id, virtualmachineids, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py b/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py index 1cb6a59ff56..0f5c4e2f1e6 100644 --- a/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py +++ b/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py @@ -17,10 +17,15 @@ from . import CloudStackEntity class TrafficMonitor(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def add(self, apiclient, url, zoneid, **kwargs): pass - def list(self, apiclient, zoneid, **kwargs): + @classmethod + def list(cls, apiclient, **kwargs): pass def delete(self, apiclient, id, **kwargs): diff --git a/tools/marvin/marvin/integration/lib/base/TrafficType.py b/tools/marvin/marvin/integration/lib/base/TrafficType.py index 308f4336050..568bd106c41 100644 --- a/tools/marvin/marvin/integration/lib/base/TrafficType.py +++ b/tools/marvin/marvin/integration/lib/base/TrafficType.py @@ -17,10 +17,15 @@ from . import CloudStackEntity class TrafficType(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def add(self, apiclient, traffictype, physicalnetworkid, **kwargs): pass - def list(self, apiclient, physicalnetworkid, **kwargs): + @classmethod + def list(cls, apiclient, **kwargs): pass def update(self, apiclient, id, **kwargs): diff --git a/tools/marvin/marvin/integration/lib/base/TrafficTypeImplementors.py b/tools/marvin/marvin/integration/lib/base/TrafficTypeImplementors.py index a8c385c8b45..a0713dc6069 100644 --- a/tools/marvin/marvin/integration/lib/base/TrafficTypeImplementors.py +++ b/tools/marvin/marvin/integration/lib/base/TrafficTypeImplementors.py @@ -17,5 +17,10 @@ from . import CloudStackEntity class TrafficTypeImplementors(CloudStackEntity): - def list(self, apiclient, **kwargs): + def __init__(self, items): + self.__dict__.update(items) + + + @classmethod + def list(cls, apiclient, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/UsageRecords.py b/tools/marvin/marvin/integration/lib/base/UsageRecords.py index 93f12cfe21d..92c77f69bfd 100644 --- a/tools/marvin/marvin/integration/lib/base/UsageRecords.py +++ b/tools/marvin/marvin/integration/lib/base/UsageRecords.py @@ -17,7 +17,12 @@ from . import CloudStackEntity class UsageRecords(CloudStackEntity): - def list(self, apiclient, startdate, enddate, **kwargs): + def __init__(self, items): + self.__dict__.update(items) + + + @classmethod + def list(cls, apiclient, **kwargs): pass def generate(self, apiclient, startdate, enddate, **kwargs): diff --git a/tools/marvin/marvin/integration/lib/base/UsageTypes.py b/tools/marvin/marvin/integration/lib/base/UsageTypes.py index 49712472140..a8f934b39e2 100644 --- a/tools/marvin/marvin/integration/lib/base/UsageTypes.py +++ b/tools/marvin/marvin/integration/lib/base/UsageTypes.py @@ -17,5 +17,10 @@ from . import CloudStackEntity class UsageTypes(CloudStackEntity): - def list(self, apiclient): + def __init__(self, items): + self.__dict__.update(items) + + + @classmethod + def list(cls, apiclient): pass diff --git a/tools/marvin/marvin/integration/lib/base/User.py b/tools/marvin/marvin/integration/lib/base/User.py index c3e663e4323..884a4ea6909 100644 --- a/tools/marvin/marvin/integration/lib/base/User.py +++ b/tools/marvin/marvin/integration/lib/base/User.py @@ -17,6 +17,10 @@ from . import CloudStackEntity class User(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def enable(self, apiclient, id, **kwargs): pass @@ -26,10 +30,12 @@ class User(CloudStackEntity): def lock(self, apiclient, id, **kwargs): pass - def create(self, apiclient, UserFactory, username, account, firstname, lastname, password, email, **kwargs): + @classmethod + def create(cls, apiclient, UserFactory, **kwargs): pass - def list(self, apiclient, **kwargs): + @classmethod + def list(cls, apiclient, **kwargs): pass def update(self, apiclient, id, **kwargs): diff --git a/tools/marvin/marvin/integration/lib/base/UserKeys.py b/tools/marvin/marvin/integration/lib/base/UserKeys.py index 12a2e003b3c..9965f552a92 100644 --- a/tools/marvin/marvin/integration/lib/base/UserKeys.py +++ b/tools/marvin/marvin/integration/lib/base/UserKeys.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class UserKeys(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def register(self, apiclient, id, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/VMPassword.py b/tools/marvin/marvin/integration/lib/base/VMPassword.py index 9a45a535406..ca13df56a7f 100644 --- a/tools/marvin/marvin/integration/lib/base/VMPassword.py +++ b/tools/marvin/marvin/integration/lib/base/VMPassword.py @@ -17,5 +17,9 @@ from . import CloudStackEntity class VMPassword(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def get(self, apiclient, id, **kwargs): pass diff --git a/tools/marvin/marvin/integration/lib/base/VPC.py b/tools/marvin/marvin/integration/lib/base/VPC.py index c8e22682e07..9c18b3165cf 100644 --- a/tools/marvin/marvin/integration/lib/base/VPC.py +++ b/tools/marvin/marvin/integration/lib/base/VPC.py @@ -17,10 +17,16 @@ from . import CloudStackEntity class VPC(CloudStackEntity): - def create(self, apiclient, VPCFactory, cidr, zoneid, displaytext, name, vpcofferingid, **kwargs): + def __init__(self, items): + self.__dict__.update(items) + + + @classmethod + def create(cls, apiclient, VPCFactory, **kwargs): pass - def list(self, apiclient, **kwargs): + @classmethod + def list(cls, apiclient, **kwargs): pass def update(self, apiclient, **kwargs): diff --git a/tools/marvin/marvin/integration/lib/base/VPCOffering.py b/tools/marvin/marvin/integration/lib/base/VPCOffering.py index d40bef2768c..ae31fcb2b08 100644 --- a/tools/marvin/marvin/integration/lib/base/VPCOffering.py +++ b/tools/marvin/marvin/integration/lib/base/VPCOffering.py @@ -17,10 +17,16 @@ from . import CloudStackEntity class VPCOffering(CloudStackEntity): - def create(self, apiclient, VPCOfferingFactory, displaytext, name, supportedservices, **kwargs): + def __init__(self, items): + self.__dict__.update(items) + + + @classmethod + def create(cls, apiclient, VPCOfferingFactory, **kwargs): pass - def list(self, apiclient, **kwargs): + @classmethod + def list(cls, apiclient, **kwargs): pass def update(self, apiclient, **kwargs): diff --git a/tools/marvin/marvin/integration/lib/base/VirtualMachine.py b/tools/marvin/marvin/integration/lib/base/VirtualMachine.py index 954801dfe80..1d0f81243cb 100644 --- a/tools/marvin/marvin/integration/lib/base/VirtualMachine.py +++ b/tools/marvin/marvin/integration/lib/base/VirtualMachine.py @@ -17,16 +17,22 @@ from . import CloudStackEntity class VirtualMachine(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def restore(self, apiclient, virtualmachineid, **kwargs): pass - def deploy(self, apiclient, zoneid, serviceofferingid, templateid, **kwargs): + @classmethod + def deploy(cls, apiclient, VirtualMachineFactory, **kwargs): pass def migrate(self, apiclient, virtualmachineid, **kwargs): pass - def list(self, apiclient, **kwargs): + @classmethod + def list(cls, apiclient, **kwargs): pass def stop(self, apiclient, id, **kwargs): diff --git a/tools/marvin/marvin/integration/lib/base/VirtualRouterElement.py b/tools/marvin/marvin/integration/lib/base/VirtualRouterElement.py index fd5e9b303bb..afbeda6433f 100644 --- a/tools/marvin/marvin/integration/lib/base/VirtualRouterElement.py +++ b/tools/marvin/marvin/integration/lib/base/VirtualRouterElement.py @@ -17,10 +17,16 @@ from . import CloudStackEntity class VirtualRouterElement(CloudStackEntity): - def create(self, apiclient, VirtualRouterElementFactory, nspid, **kwargs): + def __init__(self, items): + self.__dict__.update(items) + + + @classmethod + def create(cls, apiclient, VirtualRouterElementFactory, **kwargs): pass - def list(self, apiclient, **kwargs): + @classmethod + def list(cls, apiclient, **kwargs): pass def configure(self, apiclient, enabled, id, **kwargs): diff --git a/tools/marvin/marvin/integration/lib/base/VlanIpRange.py b/tools/marvin/marvin/integration/lib/base/VlanIpRange.py index 4cce00aea9b..d988bdab186 100644 --- a/tools/marvin/marvin/integration/lib/base/VlanIpRange.py +++ b/tools/marvin/marvin/integration/lib/base/VlanIpRange.py @@ -17,10 +17,16 @@ from . import CloudStackEntity class VlanIpRange(CloudStackEntity): - def create(self, apiclient, VlanIpRangeFactory, startip, **kwargs): + def __init__(self, items): + self.__dict__.update(items) + + + @classmethod + def create(cls, apiclient, VlanIpRangeFactory, **kwargs): pass - def list(self, apiclient, **kwargs): + @classmethod + def list(cls, apiclient, **kwargs): pass def delete(self, apiclient, id, **kwargs): diff --git a/tools/marvin/marvin/integration/lib/base/Volume.py b/tools/marvin/marvin/integration/lib/base/Volume.py index 7b4a6815381..e2e3f7d64f8 100644 --- a/tools/marvin/marvin/integration/lib/base/Volume.py +++ b/tools/marvin/marvin/integration/lib/base/Volume.py @@ -17,13 +17,19 @@ from . import CloudStackEntity class Volume(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def migrate(self, apiclient, storageid, volumeid, **kwargs): pass - def create(self, apiclient, VolumeFactory, name, **kwargs): + @classmethod + def create(cls, apiclient, VolumeFactory, **kwargs): pass - def list(self, apiclient, **kwargs): + @classmethod + def list(cls, apiclient, **kwargs): pass def upload(self, apiclient, url, zoneid, name, format, **kwargs): diff --git a/tools/marvin/marvin/integration/lib/base/VpnConnection.py b/tools/marvin/marvin/integration/lib/base/VpnConnection.py index b7401f07cbf..2579fb1d042 100644 --- a/tools/marvin/marvin/integration/lib/base/VpnConnection.py +++ b/tools/marvin/marvin/integration/lib/base/VpnConnection.py @@ -17,13 +17,19 @@ from . import CloudStackEntity class VpnConnection(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def reset(self, apiclient, id, **kwargs): pass - def create(self, apiclient, VpnConnectionFactory, s2scustomergatewayid, s2svpngatewayid, **kwargs): + @classmethod + def create(cls, apiclient, VpnConnectionFactory, **kwargs): pass - def list(self, apiclient, **kwargs): + @classmethod + def list(cls, apiclient, **kwargs): pass def delete(self, apiclient, id, **kwargs): diff --git a/tools/marvin/marvin/integration/lib/base/VpnCustomerGateway.py b/tools/marvin/marvin/integration/lib/base/VpnCustomerGateway.py index 8b1e4380365..90e69f275e9 100644 --- a/tools/marvin/marvin/integration/lib/base/VpnCustomerGateway.py +++ b/tools/marvin/marvin/integration/lib/base/VpnCustomerGateway.py @@ -17,10 +17,16 @@ from . import CloudStackEntity class VpnCustomerGateway(CloudStackEntity): - def create(self, apiclient, VpnCustomerGatewayFactory, ipsecpsk, cidrlist, esppolicy, ikepolicy, gateway, **kwargs): + def __init__(self, items): + self.__dict__.update(items) + + + @classmethod + def create(cls, apiclient, VpnCustomerGatewayFactory, **kwargs): pass - def list(self, apiclient, **kwargs): + @classmethod + def list(cls, apiclient, **kwargs): pass def update(self, apiclient, ikepolicy, cidrlist, gateway, ipsecpsk, esppolicy, id, **kwargs): diff --git a/tools/marvin/marvin/integration/lib/base/VpnGateway.py b/tools/marvin/marvin/integration/lib/base/VpnGateway.py index b751da0e590..72453f3a592 100644 --- a/tools/marvin/marvin/integration/lib/base/VpnGateway.py +++ b/tools/marvin/marvin/integration/lib/base/VpnGateway.py @@ -17,10 +17,16 @@ from . import CloudStackEntity class VpnGateway(CloudStackEntity): - def create(self, apiclient, VpnGatewayFactory, vpcid, **kwargs): + def __init__(self, items): + self.__dict__.update(items) + + + @classmethod + def create(cls, apiclient, VpnGatewayFactory, **kwargs): pass - def list(self, apiclient, **kwargs): + @classmethod + def list(cls, apiclient, **kwargs): pass def delete(self, apiclient, id, **kwargs): diff --git a/tools/marvin/marvin/integration/lib/base/VpnUser.py b/tools/marvin/marvin/integration/lib/base/VpnUser.py index 6db751a8a68..5a8b9eb1536 100644 --- a/tools/marvin/marvin/integration/lib/base/VpnUser.py +++ b/tools/marvin/marvin/integration/lib/base/VpnUser.py @@ -17,10 +17,15 @@ from . import CloudStackEntity class VpnUser(CloudStackEntity): + def __init__(self, items): + self.__dict__.update(items) + + def add(self, apiclient, username, password, **kwargs): pass - def list(self, apiclient, **kwargs): + @classmethod + def list(cls, apiclient, **kwargs): pass def remove(self, apiclient, username, **kwargs): diff --git a/tools/marvin/marvin/integration/lib/base/Zone.py b/tools/marvin/marvin/integration/lib/base/Zone.py index 5edca40780f..33876bc0a4b 100644 --- a/tools/marvin/marvin/integration/lib/base/Zone.py +++ b/tools/marvin/marvin/integration/lib/base/Zone.py @@ -17,10 +17,16 @@ from . import CloudStackEntity class Zone(CloudStackEntity): - def create(self, apiclient, ZoneFactory, networktype, dns1, internaldns1, name, **kwargs): + def __init__(self, items): + self.__dict__.update(items) + + + @classmethod + def create(cls, apiclient, ZoneFactory, **kwargs): pass - def list(self, apiclient, **kwargs): + @classmethod + def list(cls, apiclient, **kwargs): pass def update(self, apiclient, id, **kwargs): diff --git a/tools/marvin/marvin/integration/lib/factory/AccountFactory.py b/tools/marvin/marvin/integration/lib/factory/AccountFactory.py index f32979b784b..0e5428fac5f 100644 --- a/tools/marvin/marvin/integration/lib/factory/AccountFactory.py +++ b/tools/marvin/marvin/integration/lib/factory/AccountFactory.py @@ -15,14 +15,31 @@ # specific language governing permissions and limitations # under the License. import factory +import hashlib from marvin.integration.lib.base import Account +from marvin.integration.lib.utils import random_gen + class AccountFactory(factory.Factory): FACTORY_FOR = Account - accounttype = None - email = None - firstname = None - lastname = None - password = None + #0 - User, 1 - Root Admin, 2 - Domain Admin + accounttype = 0 + email = factory.LazyAttribute(lambda e: '{0}.{1}@cloudstack.org'.format(e.firstname, e.lastname)).lower() + firstname = 'fname-'+random_gen() + lastname = 'lname-'+random_gen() username = None + + # Password Encoding + mdf = hashlib.md5() + mdf.update('password') + password = mdf.hexdigest() + + +class AdminAccountFactory(AccountFactory): + accounttype = 1 + + +class DomainAdminFactory(AccountFactory): + accounttype = 2 + domainid = None diff --git a/tools/marvin/marvin/integration/lib/generateBase.py b/tools/marvin/marvin/integration/lib/generateBase.py index 932f8821719..b3ab8e7913b 100644 --- a/tools/marvin/marvin/integration/lib/generateBase.py +++ b/tools/marvin/marvin/integration/lib/generateBase.py @@ -110,15 +110,22 @@ def write_entity_classes(entities): for entity, actions in entities.iteritems(): code = 'from . import CloudStackEntity\n' code += 'class %s(CloudStackEntity):'%entity + code += '\n\n' + code += tabspace + 'def __init__(self, items):\n' + code += tabspace*2 + 'self.__dict__.update(items)\n' for action, args in actions.iteritems(): code += '\n\n' + if action in ['create', 'list', 'deploy']: + code += tabspace + '@classmethod\n' code += tabspace - if action.startswith('create'): - code += 'def %s(self, apiclient, %sFactory'%(action, entity) + if action in ['create', 'deploy']: + code += 'def %s(cls, apiclient, %sFactory'%(action, entity) + elif action in ['list']: + code += 'def %s(cls, apiclient'%(action) else: code += 'def %s(self, apiclient'%(action) - if len(args[0]) > 0: - code += ', ' + ', '.join(list(set(args[0]))) + if len(args[0]) > 0: + code += ', ' + ', '.join(list(set(args[0]))) if len(args[1]) > 0: code += ', **kwargs):\n' else: