You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ts...@apache.org on 2013/01/28 14:48:49 UTC
[10/12] marvin-refactor: add body to all the entities in base
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/NetworkDevice.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/NetworkDevice.py b/tools/marvin/marvin/integration/lib/base/NetworkDevice.py
index a86665d..073a328 100644
--- a/tools/marvin/marvin/integration/lib/base/NetworkDevice.py
+++ b/tools/marvin/marvin/integration/lib/base/NetworkDevice.py
@@ -14,20 +14,35 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import addNetworkDevice
+from marvin.cloudstackAPI import listNetworkDevice
+from marvin.cloudstackAPI import deleteNetworkDevice
+
class NetworkDevice(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def add(self, apiclient, **kwargs):
- pass
+ cmd = addNetworkDevice.addNetworkDeviceCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ networkdevice = apiclient.addNetworkDevice(cmd)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listNetworkDevice.listNetworkDeviceCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ networkdevice = apiclient.listNetworkDevice(cmd)
+ return map(lambda e: NetworkDevice(e.__dict__), networkdevice)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deleteNetworkDevice.deleteNetworkDeviceCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ networkdevice = apiclient.deleteNetworkDevice(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/NetworkOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/NetworkOffering.py b/tools/marvin/marvin/integration/lib/base/NetworkOffering.py
index c78fa9a..0f27383 100644
--- a/tools/marvin/marvin/integration/lib/base/NetworkOffering.py
+++ b/tools/marvin/marvin/integration/lib/base/NetworkOffering.py
@@ -14,24 +14,45 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createNetworkOffering
+from marvin.cloudstackAPI import listNetworkOfferings
+from marvin.cloudstackAPI import updateNetworkOffering
+from marvin.cloudstackAPI import deleteNetworkOffering
+
class NetworkOffering(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
def create(cls, apiclient, NetworkOfferingFactory, **kwargs):
- pass
+ cmd = createNetworkOffering.createNetworkOfferingCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in NetworkOfferingFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ networkoffering = apiclient.createNetworkOffering(cmd)
+ return NetworkOffering(networkoffering.__dict__)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listNetworkOfferings.listNetworkOfferingsCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ networkoffering = apiclient.listNetworkOfferings(cmd)
+ return map(lambda e: NetworkOffering(e.__dict__), networkoffering)
+
def update(self, apiclient, **kwargs):
- pass
+ cmd = updateNetworkOffering.updateNetworkOfferingCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ networkoffering = apiclient.updateNetworkOffering(cmd)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deleteNetworkOffering.deleteNetworkOfferingCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ networkoffering = apiclient.deleteNetworkOffering(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/NetworkServiceProvider.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/NetworkServiceProvider.py b/tools/marvin/marvin/integration/lib/base/NetworkServiceProvider.py
index 8b7b38f..e2b3ac8 100644
--- a/tools/marvin/marvin/integration/lib/base/NetworkServiceProvider.py
+++ b/tools/marvin/marvin/integration/lib/base/NetworkServiceProvider.py
@@ -14,23 +14,45 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import addNetworkServiceProvider
+from marvin.cloudstackAPI import listNetworkServiceProviders
+from marvin.cloudstackAPI import updateNetworkServiceProvider
+from marvin.cloudstackAPI import deleteNetworkServiceProvider
+
class NetworkServiceProvider(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def add(self, apiclient, physicalnetworkid, name, **kwargs):
- pass
+ cmd = addNetworkServiceProvider.addNetworkServiceProviderCmd()
+ cmd.name = name
+ cmd.physicalnetworkid = physicalnetworkid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ networkserviceprovider = apiclient.addNetworkServiceProvider(cmd)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listNetworkServiceProviders.listNetworkServiceProvidersCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ networkserviceprovider = apiclient.listNetworkServiceProviders(cmd)
+ return map(lambda e: NetworkServiceProvider(e.__dict__), networkserviceprovider)
+
def update(self, apiclient, id, **kwargs):
- pass
+ cmd = updateNetworkServiceProvider.updateNetworkServiceProviderCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ networkserviceprovider = apiclient.updateNetworkServiceProvider(cmd)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deleteNetworkServiceProvider.deleteNetworkServiceProviderCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ networkserviceprovider = apiclient.deleteNetworkServiceProvider(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/NiciraNvpDevice.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/NiciraNvpDevice.py b/tools/marvin/marvin/integration/lib/base/NiciraNvpDevice.py
index 84d2e33..706f944 100644
--- a/tools/marvin/marvin/integration/lib/base/NiciraNvpDevice.py
+++ b/tools/marvin/marvin/integration/lib/base/NiciraNvpDevice.py
@@ -14,20 +14,40 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import addNiciraNvpDevice
+from marvin.cloudstackAPI import listNiciraNvpDevices
+from marvin.cloudstackAPI import deleteNiciraNvpDevice
+
class NiciraNvpDevice(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def add(self, apiclient, username, physicalnetworkid, password, hostname, transportzoneuuid, **kwargs):
- pass
+ cmd = addNiciraNvpDevice.addNiciraNvpDeviceCmd()
+ cmd.hostname = hostname
+ cmd.password = password
+ cmd.physicalnetworkid = physicalnetworkid
+ cmd.transportzoneuuid = transportzoneuuid
+ cmd.username = username
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ niciranvpdevice = apiclient.addNiciraNvpDevice(cmd)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listNiciraNvpDevices.listNiciraNvpDevicesCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ niciranvpdevice = apiclient.listNiciraNvpDevices(cmd)
+ return map(lambda e: NiciraNvpDevice(e.__dict__), niciranvpdevice)
+
def delete(self, apiclient, nvpdeviceid, **kwargs):
- pass
+ cmd = deleteNiciraNvpDevice.deleteNiciraNvpDeviceCmd()
+ cmd.nvpdeviceid = nvpdeviceid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ niciranvpdevice = apiclient.deleteNiciraNvpDevice(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py b/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py
index e1b8855..070eb00 100644
--- a/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py
+++ b/tools/marvin/marvin/integration/lib/base/NiciraNvpDeviceNetworks.py
@@ -14,14 +14,21 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listNiciraNvpDeviceNetworks
+
class NiciraNvpDeviceNetworks(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, nvpdeviceid, **kwargs):
+ cmd = listNiciraNvpDeviceNetworks.listNiciraNvpDeviceNetworksCmd()
+ cmd.nvpdeviceid = nvpdeviceid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ niciranvpdevicenetworks = apiclient.listNiciraNvpDeviceNetworks(cmd)
+ return map(lambda e: NiciraNvpDeviceNetworks(e.__dict__), niciranvpdevicenetworks)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/OsCategories.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/OsCategories.py b/tools/marvin/marvin/integration/lib/base/OsCategories.py
index baef62f..f773211 100644
--- a/tools/marvin/marvin/integration/lib/base/OsCategories.py
+++ b/tools/marvin/marvin/integration/lib/base/OsCategories.py
@@ -14,14 +14,20 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listOsCategories
+
class OsCategories(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listOsCategories.listOsCategoriesCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ oscategories = apiclient.listOsCategories(cmd)
+ return map(lambda e: OsCategories(e.__dict__), oscategories)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/OsTypes.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/OsTypes.py b/tools/marvin/marvin/integration/lib/base/OsTypes.py
index 22e1b67..5f3a3fd 100644
--- a/tools/marvin/marvin/integration/lib/base/OsTypes.py
+++ b/tools/marvin/marvin/integration/lib/base/OsTypes.py
@@ -14,14 +14,20 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listOsTypes
+
class OsTypes(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listOsTypes.listOsTypesCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ ostypes = apiclient.listOsTypes(cmd)
+ return map(lambda e: OsTypes(e.__dict__), ostypes)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py b/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py
index 561bacb..020959b 100644
--- a/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py
+++ b/tools/marvin/marvin/integration/lib/base/PasswordForVirtualMachine.py
@@ -14,13 +14,19 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import resetPasswordForVirtualMachine
+
class PasswordForVirtualMachine(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def reset(self, apiclient, id, **kwargs):
- pass
+ cmd = resetPasswordForVirtualMachine.resetPasswordForVirtualMachineCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ passwordforvirtualmachine = apiclient.resetPasswordForVirtualMachine(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/PhysicalNetwork.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/PhysicalNetwork.py b/tools/marvin/marvin/integration/lib/base/PhysicalNetwork.py
index 1c20ebb..08faa33 100644
--- a/tools/marvin/marvin/integration/lib/base/PhysicalNetwork.py
+++ b/tools/marvin/marvin/integration/lib/base/PhysicalNetwork.py
@@ -14,24 +14,46 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createPhysicalNetwork
+from marvin.cloudstackAPI import listPhysicalNetworks
+from marvin.cloudstackAPI import updatePhysicalNetwork
+from marvin.cloudstackAPI import deletePhysicalNetwork
+
class PhysicalNetwork(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
def create(cls, apiclient, PhysicalNetworkFactory, **kwargs):
- pass
+ cmd = createPhysicalNetwork.createPhysicalNetworkCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in PhysicalNetworkFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ physicalnetwork = apiclient.createPhysicalNetwork(cmd)
+ return PhysicalNetwork(physicalnetwork.__dict__)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listPhysicalNetworks.listPhysicalNetworksCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ physicalnetwork = apiclient.listPhysicalNetworks(cmd)
+ return map(lambda e: PhysicalNetwork(e.__dict__), physicalnetwork)
+
def update(self, apiclient, id, **kwargs):
- pass
+ cmd = updatePhysicalNetwork.updatePhysicalNetworkCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ physicalnetwork = apiclient.updatePhysicalNetwork(cmd)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deletePhysicalNetwork.deletePhysicalNetworkCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ physicalnetwork = apiclient.deletePhysicalNetwork(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Pod.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Pod.py b/tools/marvin/marvin/integration/lib/base/Pod.py
index 190ac28..3c57d09 100644
--- a/tools/marvin/marvin/integration/lib/base/Pod.py
+++ b/tools/marvin/marvin/integration/lib/base/Pod.py
@@ -14,24 +14,46 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createPod
+from marvin.cloudstackAPI import listPods
+from marvin.cloudstackAPI import updatePod
+from marvin.cloudstackAPI import deletePod
+
class Pod(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
def create(cls, apiclient, PodFactory, **kwargs):
- pass
+ cmd = createPod.createPodCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in PodFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ pod = apiclient.createPod(cmd)
+ return Pod(pod.__dict__)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listPods.listPodsCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ pod = apiclient.listPods(cmd)
+ return map(lambda e: Pod(e.__dict__), pod)
+
def update(self, apiclient, id, **kwargs):
- pass
+ cmd = updatePod.updatePodCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ pod = apiclient.updatePod(cmd)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deletePod.deletePodCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ pod = apiclient.deletePod(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/PortForwardingRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/PortForwardingRule.py b/tools/marvin/marvin/integration/lib/base/PortForwardingRule.py
index c39c698..ad32244 100644
--- a/tools/marvin/marvin/integration/lib/base/PortForwardingRule.py
+++ b/tools/marvin/marvin/integration/lib/base/PortForwardingRule.py
@@ -14,24 +14,49 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createPortForwardingRule
+from marvin.cloudstackAPI import listPortForwardingRules
+from marvin.cloudstackAPI import updatePortForwardingRule
+from marvin.cloudstackAPI import deletePortForwardingRule
+
class PortForwardingRule(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
def create(cls, apiclient, PortForwardingRuleFactory, **kwargs):
- pass
+ cmd = createPortForwardingRule.createPortForwardingRuleCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in PortForwardingRuleFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ portforwardingrule = apiclient.createPortForwardingRule(cmd)
+ return PortForwardingRule(portforwardingrule.__dict__)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listPortForwardingRules.listPortForwardingRulesCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ portforwardingrule = apiclient.listPortForwardingRules(cmd)
+ return map(lambda e: PortForwardingRule(e.__dict__), portforwardingrule)
+
def update(self, apiclient, publicport, protocol, ipaddressid, privateport, **kwargs):
- pass
+ cmd = updatePortForwardingRule.updatePortForwardingRuleCmd()
+ cmd.ipaddressid = ipaddressid
+ cmd.privateport = privateport
+ cmd.protocol = protocol
+ cmd.publicport = publicport
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ portforwardingrule = apiclient.updatePortForwardingRule(cmd)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deletePortForwardingRule.deletePortForwardingRuleCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ portforwardingrule = apiclient.deletePortForwardingRule(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/PrivateGateway.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/PrivateGateway.py b/tools/marvin/marvin/integration/lib/base/PrivateGateway.py
index f494968..543dc73 100644
--- a/tools/marvin/marvin/integration/lib/base/PrivateGateway.py
+++ b/tools/marvin/marvin/integration/lib/base/PrivateGateway.py
@@ -14,21 +14,38 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createPrivateGateway
+from marvin.cloudstackAPI import listPrivateGateways
+from marvin.cloudstackAPI import deletePrivateGateway
+
class PrivateGateway(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
def create(cls, apiclient, PrivateGatewayFactory, **kwargs):
- pass
+ cmd = createPrivateGateway.createPrivateGatewayCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in PrivateGatewayFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ privategateway = apiclient.createPrivateGateway(cmd)
+ return PrivateGateway(privategateway.__dict__)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listPrivateGateways.listPrivateGatewaysCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ privategateway = apiclient.listPrivateGateways(cmd)
+ return map(lambda e: PrivateGateway(e.__dict__), privategateway)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deletePrivateGateway.deletePrivateGatewayCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ privategateway = apiclient.deletePrivateGateway(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Project.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Project.py b/tools/marvin/marvin/integration/lib/base/Project.py
index 02c8134..ce3ca29 100644
--- a/tools/marvin/marvin/integration/lib/base/Project.py
+++ b/tools/marvin/marvin/integration/lib/base/Project.py
@@ -14,30 +14,62 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import suspendProject
+from marvin.cloudstackAPI import createProject
+from marvin.cloudstackAPI import listProjects
+from marvin.cloudstackAPI import updateProject
+from marvin.cloudstackAPI import activateProject
+from marvin.cloudstackAPI import deleteProject
+
class Project(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def suspend(self, apiclient, id, **kwargs):
- pass
+ cmd = suspendProject.suspendProjectCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ project = apiclient.suspendProject(cmd)
+
@classmethod
def create(cls, apiclient, ProjectFactory, **kwargs):
- pass
+ cmd = createProject.createProjectCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in ProjectFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ project = apiclient.createProject(cmd)
+ return Project(project.__dict__)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listProjects.listProjectsCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ project = apiclient.listProjects(cmd)
+ return map(lambda e: Project(e.__dict__), project)
+
def update(self, apiclient, id, **kwargs):
- pass
+ cmd = updateProject.updateProjectCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ project = apiclient.updateProject(cmd)
+
def activate(self, apiclient, id, **kwargs):
- pass
+ cmd = activateProject.activateProjectCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ project = apiclient.activateProject(cmd)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deleteProject.deleteProjectCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ project = apiclient.deleteProject(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py b/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py
index 207f884..5eb1394 100644
--- a/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py
+++ b/tools/marvin/marvin/integration/lib/base/ProjectAccounts.py
@@ -14,14 +14,21 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listProjectAccounts
+
class ProjectAccounts(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, projectid, **kwargs):
+ cmd = listProjectAccounts.listProjectAccountsCmd()
+ cmd.projectid = projectid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ projectaccounts = apiclient.listProjectAccounts(cmd)
+ return map(lambda e: ProjectAccounts(e.__dict__), projectaccounts)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ProjectInvitation.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ProjectInvitation.py b/tools/marvin/marvin/integration/lib/base/ProjectInvitation.py
index 5f45742..e93fc66 100644
--- a/tools/marvin/marvin/integration/lib/base/ProjectInvitation.py
+++ b/tools/marvin/marvin/integration/lib/base/ProjectInvitation.py
@@ -14,20 +14,36 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listProjectInvitations
+from marvin.cloudstackAPI import updateProjectInvitation
+from marvin.cloudstackAPI import deleteProjectInvitation
+
class ProjectInvitation(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listProjectInvitations.listProjectInvitationsCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ projectinvitation = apiclient.listProjectInvitations(cmd)
+ return map(lambda e: ProjectInvitation(e.__dict__), projectinvitation)
+
def update(self, apiclient, projectid, **kwargs):
- pass
+ cmd = updateProjectInvitation.updateProjectInvitationCmd()
+ cmd.projectid = projectid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ projectinvitation = apiclient.updateProjectInvitation(cmd)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deleteProjectInvitation.deleteProjectInvitationCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ projectinvitation = apiclient.deleteProjectInvitation(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py b/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py
index 5f3b29d..092ceba 100644
--- a/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py
+++ b/tools/marvin/marvin/integration/lib/base/PublicIpAddresses.py
@@ -14,14 +14,20 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listPublicIpAddresses
+
class PublicIpAddresses(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listPublicIpAddresses.listPublicIpAddressesCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ publicipaddresses = apiclient.listPublicIpAddresses(cmd)
+ return map(lambda e: PublicIpAddresses(e.__dict__), publicipaddresses)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/RemoteAccessVpn.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/RemoteAccessVpn.py b/tools/marvin/marvin/integration/lib/base/RemoteAccessVpn.py
index e989d91..7eb1871 100644
--- a/tools/marvin/marvin/integration/lib/base/RemoteAccessVpn.py
+++ b/tools/marvin/marvin/integration/lib/base/RemoteAccessVpn.py
@@ -14,21 +14,39 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createRemoteAccessVpn
+from marvin.cloudstackAPI import listRemoteAccessVpns
+from marvin.cloudstackAPI import deleteRemoteAccessVpn
+
class RemoteAccessVpn(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
def create(cls, apiclient, RemoteAccessVpnFactory, **kwargs):
- pass
+ cmd = createRemoteAccessVpn.createRemoteAccessVpnCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in RemoteAccessVpnFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ remoteaccessvpn = apiclient.createRemoteAccessVpn(cmd)
+ return RemoteAccessVpn(remoteaccessvpn.__dict__)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, publicipid, **kwargs):
+ cmd = listRemoteAccessVpns.listRemoteAccessVpnsCmd()
+ cmd.publicipid = publicipid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ remoteaccessvpn = apiclient.listRemoteAccessVpns(cmd)
+ return map(lambda e: RemoteAccessVpn(e.__dict__), remoteaccessvpn)
+
def delete(self, apiclient, publicipid, **kwargs):
- pass
+ cmd = deleteRemoteAccessVpn.deleteRemoteAccessVpnCmd()
+ cmd.publicipid = publicipid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ remoteaccessvpn = apiclient.deleteRemoteAccessVpn(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Remove.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Remove.py b/tools/marvin/marvin/integration/lib/base/Remove.py
index 342eeaa..39e26b0 100644
--- a/tools/marvin/marvin/integration/lib/base/Remove.py
+++ b/tools/marvin/marvin/integration/lib/base/Remove.py
@@ -14,13 +14,18 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import ldapRemove
+
class Remove(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
- def ldap(self, apiclient):
- pass
+ def ldap(self, apiclient, **kwargs):
+ cmd = ldapRemove.ldapRemoveCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ remove = apiclient.ldapRemove(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ResourceCount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ResourceCount.py b/tools/marvin/marvin/integration/lib/base/ResourceCount.py
index 0a39066..b6aaf7c 100644
--- a/tools/marvin/marvin/integration/lib/base/ResourceCount.py
+++ b/tools/marvin/marvin/integration/lib/base/ResourceCount.py
@@ -14,13 +14,19 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import updateResourceCount
+
class ResourceCount(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def update(self, apiclient, domainid, **kwargs):
- pass
+ cmd = updateResourceCount.updateResourceCountCmd()
+ cmd.domainid = domainid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ resourcecount = apiclient.updateResourceCount(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ResourceLimit.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ResourceLimit.py b/tools/marvin/marvin/integration/lib/base/ResourceLimit.py
index d51ed9e..7d1f3d8 100644
--- a/tools/marvin/marvin/integration/lib/base/ResourceLimit.py
+++ b/tools/marvin/marvin/integration/lib/base/ResourceLimit.py
@@ -14,17 +14,28 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listResourceLimits
+from marvin.cloudstackAPI import updateResourceLimit
+
class ResourceLimit(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listResourceLimits.listResourceLimitsCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ resourcelimit = apiclient.listResourceLimits(cmd)
+ return map(lambda e: ResourceLimit(e.__dict__), resourcelimit)
+
def update(self, apiclient, resourcetype, **kwargs):
- pass
+ cmd = updateResourceLimit.updateResourceLimitCmd()
+ cmd.resourcetype = resourcetype
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ resourcelimit = apiclient.updateResourceLimit(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Router.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Router.py b/tools/marvin/marvin/integration/lib/base/Router.py
index 772a4ac..7499593 100644
--- a/tools/marvin/marvin/integration/lib/base/Router.py
+++ b/tools/marvin/marvin/integration/lib/base/Router.py
@@ -14,26 +14,52 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import destroyRouter
+from marvin.cloudstackAPI import listRouters
+from marvin.cloudstackAPI import stopRouter
+from marvin.cloudstackAPI import rebootRouter
+from marvin.cloudstackAPI import startRouter
+
class Router(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def destroy(self, apiclient, id, **kwargs):
- pass
+ cmd = destroyRouter.destroyRouterCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ router = apiclient.destroyRouter(cmd)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listRouters.listRoutersCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ router = apiclient.listRouters(cmd)
+ return map(lambda e: Router(e.__dict__), router)
+
def stop(self, apiclient, id, **kwargs):
- pass
+ cmd = stopRouter.stopRouterCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ router = apiclient.stopRouter(cmd)
+
def reboot(self, apiclient, id, **kwargs):
- pass
+ cmd = rebootRouter.rebootRouterCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ router = apiclient.rebootRouter(cmd)
+
def start(self, apiclient, id, **kwargs):
- pass
+ cmd = startRouter.startRouterCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ router = apiclient.startRouter(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/S3.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/S3.py b/tools/marvin/marvin/integration/lib/base/S3.py
index dfe3883..3d6f820 100644
--- a/tools/marvin/marvin/integration/lib/base/S3.py
+++ b/tools/marvin/marvin/integration/lib/base/S3.py
@@ -14,17 +14,30 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import addS3
+from marvin.cloudstackAPI import listS3s
+
class S3(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def add(self, apiclient, secretkey, accesskey, bucket, **kwargs):
- pass
+ cmd = addS3.addS3Cmd()
+ cmd.accesskey = accesskey
+ cmd.bucket = bucket
+ cmd.secretkey = secretkey
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ s3 = apiclient.addS3(cmd)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listS3s.listS3sCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ s3 = apiclient.listS3s(cmd)
+ return map(lambda e: S3(e.__dict__), s3)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SSHKeyPair.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SSHKeyPair.py b/tools/marvin/marvin/integration/lib/base/SSHKeyPair.py
index 1d0652a..ed1dd4a 100644
--- a/tools/marvin/marvin/integration/lib/base/SSHKeyPair.py
+++ b/tools/marvin/marvin/integration/lib/base/SSHKeyPair.py
@@ -14,24 +14,47 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createSSHKeyPair
+from marvin.cloudstackAPI import registerSSHKeyPair
+from marvin.cloudstackAPI import listSSHKeyPairs
+from marvin.cloudstackAPI import deleteSSHKeyPair
+
class SSHKeyPair(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
def create(cls, apiclient, SSHKeyPairFactory, **kwargs):
- pass
+ cmd = createSSHKeyPair.createSSHKeyPairCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in SSHKeyPairFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ sshkeypair = apiclient.createSSHKeyPair(cmd)
+ return SSHKeyPair(sshkeypair.__dict__)
+
def register(self, apiclient, publickey, name, **kwargs):
- pass
+ cmd = registerSSHKeyPair.registerSSHKeyPairCmd()
+ cmd.name = name
+ cmd.publickey = publickey
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ sshkeypair = apiclient.registerSSHKeyPair(cmd)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listSSHKeyPairs.listSSHKeyPairsCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ sshkeypair = apiclient.listSSHKeyPairs(cmd)
+ return map(lambda e: SSHKeyPair(e.__dict__), sshkeypair)
+
def delete(self, apiclient, name, **kwargs):
- pass
+ cmd = deleteSSHKeyPair.deleteSSHKeyPairCmd()
+ cmd.name = name
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ sshkeypair = apiclient.deleteSSHKeyPair(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py b/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py
index 68a71f7..785506a 100644
--- a/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py
+++ b/tools/marvin/marvin/integration/lib/base/SecondaryStorage.py
@@ -14,13 +14,19 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import addSecondaryStorage
+
class SecondaryStorage(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def add(self, apiclient, url, **kwargs):
- pass
+ cmd = addSecondaryStorage.addSecondaryStorageCmd()
+ cmd.url = url
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ secondarystorage = apiclient.addSecondaryStorage(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SecurityGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SecurityGroup.py b/tools/marvin/marvin/integration/lib/base/SecurityGroup.py
index b4edb84..204f778 100644
--- a/tools/marvin/marvin/integration/lib/base/SecurityGroup.py
+++ b/tools/marvin/marvin/integration/lib/base/SecurityGroup.py
@@ -14,21 +14,37 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createSecurityGroup
+from marvin.cloudstackAPI import listSecurityGroups
+from marvin.cloudstackAPI import deleteSecurityGroup
+
class SecurityGroup(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
def create(cls, apiclient, SecurityGroupFactory, **kwargs):
- pass
+ cmd = createSecurityGroup.createSecurityGroupCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in SecurityGroupFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ securitygroup = apiclient.createSecurityGroup(cmd)
+ return SecurityGroup(securitygroup.__dict__)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listSecurityGroups.listSecurityGroupsCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ securitygroup = apiclient.listSecurityGroups(cmd)
+ return map(lambda e: SecurityGroup(e.__dict__), securitygroup)
+
def delete(self, apiclient, **kwargs):
- pass
+ cmd = deleteSecurityGroup.deleteSecurityGroupCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ securitygroup = apiclient.deleteSecurityGroup(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SecurityGroupEgress.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SecurityGroupEgress.py b/tools/marvin/marvin/integration/lib/base/SecurityGroupEgress.py
index 90ae706..dc37e7c 100644
--- a/tools/marvin/marvin/integration/lib/base/SecurityGroupEgress.py
+++ b/tools/marvin/marvin/integration/lib/base/SecurityGroupEgress.py
@@ -14,16 +14,26 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import authorizeSecurityGroupEgress
+from marvin.cloudstackAPI import revokeSecurityGroupEgress
+
class SecurityGroupEgress(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def authorize(self, apiclient, **kwargs):
- pass
+ cmd = authorizeSecurityGroupEgress.authorizeSecurityGroupEgressCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ securitygroupegress = apiclient.authorizeSecurityGroupEgress(cmd)
+
def revoke(self, apiclient, id, **kwargs):
- pass
+ cmd = revokeSecurityGroupEgress.revokeSecurityGroupEgressCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ securitygroupegress = apiclient.revokeSecurityGroupEgress(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SecurityGroupIngress.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SecurityGroupIngress.py b/tools/marvin/marvin/integration/lib/base/SecurityGroupIngress.py
index 81613d1..4548f0d 100644
--- a/tools/marvin/marvin/integration/lib/base/SecurityGroupIngress.py
+++ b/tools/marvin/marvin/integration/lib/base/SecurityGroupIngress.py
@@ -14,16 +14,26 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import authorizeSecurityGroupIngress
+from marvin.cloudstackAPI import revokeSecurityGroupIngress
+
class SecurityGroupIngress(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def authorize(self, apiclient, **kwargs):
- pass
+ cmd = authorizeSecurityGroupIngress.authorizeSecurityGroupIngressCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ securitygroupingress = apiclient.authorizeSecurityGroupIngress(cmd)
+
def revoke(self, apiclient, id, **kwargs):
- pass
+ cmd = revokeSecurityGroupIngress.revokeSecurityGroupIngressCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ securitygroupingress = apiclient.revokeSecurityGroupIngress(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py b/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py
index 58c556c..be20600 100644
--- a/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py
+++ b/tools/marvin/marvin/integration/lib/base/ServiceForRouter.py
@@ -14,13 +14,20 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import changeServiceForRouter
+
class ServiceForRouter(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def change(self, apiclient, id, serviceofferingid, **kwargs):
- pass
+ cmd = changeServiceForRouter.changeServiceForRouterCmd()
+ cmd.id = id
+ cmd.serviceofferingid = serviceofferingid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ serviceforrouter = apiclient.changeServiceForRouter(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py b/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py
index e865087..be0e9fe 100644
--- a/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py
+++ b/tools/marvin/marvin/integration/lib/base/ServiceForSystemVm.py
@@ -14,13 +14,20 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import changeServiceForSystemVm
+
class ServiceForSystemVm(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def change(self, apiclient, id, serviceofferingid, **kwargs):
- pass
+ cmd = changeServiceForSystemVm.changeServiceForSystemVmCmd()
+ cmd.id = id
+ cmd.serviceofferingid = serviceofferingid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ serviceforsystemvm = apiclient.changeServiceForSystemVm(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py b/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py
index 07d0e37..b74134d 100644
--- a/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py
+++ b/tools/marvin/marvin/integration/lib/base/ServiceForVirtualMachine.py
@@ -14,13 +14,20 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import changeServiceForVirtualMachine
+
class ServiceForVirtualMachine(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def change(self, apiclient, id, serviceofferingid, **kwargs):
- pass
+ cmd = changeServiceForVirtualMachine.changeServiceForVirtualMachineCmd()
+ cmd.id = id
+ cmd.serviceofferingid = serviceofferingid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ serviceforvirtualmachine = apiclient.changeServiceForVirtualMachine(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ServiceOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ServiceOffering.py b/tools/marvin/marvin/integration/lib/base/ServiceOffering.py
index f1c3959..088b27a 100644
--- a/tools/marvin/marvin/integration/lib/base/ServiceOffering.py
+++ b/tools/marvin/marvin/integration/lib/base/ServiceOffering.py
@@ -14,24 +14,46 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createServiceOffering
+from marvin.cloudstackAPI import listServiceOfferings
+from marvin.cloudstackAPI import updateServiceOffering
+from marvin.cloudstackAPI import deleteServiceOffering
+
class ServiceOffering(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
def create(cls, apiclient, ServiceOfferingFactory, **kwargs):
- pass
+ cmd = createServiceOffering.createServiceOfferingCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in ServiceOfferingFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ serviceoffering = apiclient.createServiceOffering(cmd)
+ return ServiceOffering(serviceoffering.__dict__)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listServiceOfferings.listServiceOfferingsCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ serviceoffering = apiclient.listServiceOfferings(cmd)
+ return map(lambda e: ServiceOffering(e.__dict__), serviceoffering)
+
def update(self, apiclient, id, **kwargs):
- pass
+ cmd = updateServiceOffering.updateServiceOfferingCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ serviceoffering = apiclient.updateServiceOffering(cmd)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deleteServiceOffering.deleteServiceOfferingCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ serviceoffering = apiclient.deleteServiceOffering(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Snapshot.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Snapshot.py b/tools/marvin/marvin/integration/lib/base/Snapshot.py
index be84474..ab4eebd 100644
--- a/tools/marvin/marvin/integration/lib/base/Snapshot.py
+++ b/tools/marvin/marvin/integration/lib/base/Snapshot.py
@@ -14,21 +14,38 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createSnapshot
+from marvin.cloudstackAPI import listSnapshots
+from marvin.cloudstackAPI import deleteSnapshot
+
class Snapshot(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
def create(cls, apiclient, SnapshotFactory, **kwargs):
- pass
+ cmd = createSnapshot.createSnapshotCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in SnapshotFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ snapshot = apiclient.createSnapshot(cmd)
+ return Snapshot(snapshot.__dict__)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listSnapshots.listSnapshotsCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ snapshot = apiclient.listSnapshots(cmd)
+ return map(lambda e: Snapshot(e.__dict__), snapshot)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deleteSnapshot.deleteSnapshotCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ snapshot = apiclient.deleteSnapshot(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py b/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py
index 3e45c01..1a9c906 100644
--- a/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py
+++ b/tools/marvin/marvin/integration/lib/base/SnapshotPolicies.py
@@ -14,17 +14,28 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listSnapshotPolicies
+from marvin.cloudstackAPI import deleteSnapshotPolicies
+
class SnapshotPolicies(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, volumeid, **kwargs):
+ cmd = listSnapshotPolicies.listSnapshotPoliciesCmd()
+ cmd.volumeid = volumeid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ snapshotpolicies = apiclient.listSnapshotPolicies(cmd)
+ return map(lambda e: SnapshotPolicies(e.__dict__), snapshotpolicies)
+
def delete(self, apiclient, **kwargs):
- pass
+ cmd = deleteSnapshotPolicies.deleteSnapshotPoliciesCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ snapshotpolicies = apiclient.deleteSnapshotPolicies(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py b/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py
index 1821fc0..2ce10e4 100644
--- a/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py
+++ b/tools/marvin/marvin/integration/lib/base/SnapshotPolicy.py
@@ -14,14 +14,21 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createSnapshotPolicy
+
class SnapshotPolicy(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
def create(cls, apiclient, SnapshotPolicyFactory, **kwargs):
- pass
+ cmd = createSnapshotPolicy.createSnapshotPolicyCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in SnapshotPolicyFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ snapshotpolicy = apiclient.createSnapshotPolicy(cmd)
+ return SnapshotPolicy(snapshotpolicy.__dict__)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/StaticNat.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/StaticNat.py b/tools/marvin/marvin/integration/lib/base/StaticNat.py
index fe7ee70..103fb51 100644
--- a/tools/marvin/marvin/integration/lib/base/StaticNat.py
+++ b/tools/marvin/marvin/integration/lib/base/StaticNat.py
@@ -14,16 +14,28 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import enableStaticNat
+from marvin.cloudstackAPI import disableStaticNat
+
class StaticNat(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def enable(self, apiclient, ipaddressid, virtualmachineid, **kwargs):
- pass
+ cmd = enableStaticNat.enableStaticNatCmd()
+ cmd.ipaddressid = ipaddressid
+ cmd.virtualmachineid = virtualmachineid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ staticnat = apiclient.enableStaticNat(cmd)
+
def disable(self, apiclient, ipaddressid, **kwargs):
- pass
+ cmd = disableStaticNat.disableStaticNatCmd()
+ cmd.ipaddressid = ipaddressid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ staticnat = apiclient.disableStaticNat(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/StaticRoute.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/StaticRoute.py b/tools/marvin/marvin/integration/lib/base/StaticRoute.py
index 283d854..10830bd 100644
--- a/tools/marvin/marvin/integration/lib/base/StaticRoute.py
+++ b/tools/marvin/marvin/integration/lib/base/StaticRoute.py
@@ -14,21 +14,38 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createStaticRoute
+from marvin.cloudstackAPI import listStaticRoutes
+from marvin.cloudstackAPI import deleteStaticRoute
+
class StaticRoute(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
def create(cls, apiclient, StaticRouteFactory, **kwargs):
- pass
+ cmd = createStaticRoute.createStaticRouteCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in StaticRouteFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ staticroute = apiclient.createStaticRoute(cmd)
+ return StaticRoute(staticroute.__dict__)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listStaticRoutes.listStaticRoutesCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ staticroute = apiclient.listStaticRoutes(cmd)
+ return map(lambda e: StaticRoute(e.__dict__), staticroute)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deleteStaticRoute.deleteStaticRouteCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ staticroute = apiclient.deleteStaticRoute(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py b/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py
index f577726..10a8be7 100644
--- a/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py
+++ b/tools/marvin/marvin/integration/lib/base/StorageMaintenance.py
@@ -14,16 +14,27 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import cancelStorageMaintenance
+from marvin.cloudstackAPI import enableStorageMaintenance
+
class StorageMaintenance(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def cancel(self, apiclient, id, **kwargs):
- pass
+ cmd = cancelStorageMaintenance.cancelStorageMaintenanceCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ storagemaintenance = apiclient.cancelStorageMaintenance(cmd)
+
def enable(self, apiclient, id, **kwargs):
- pass
+ cmd = enableStorageMaintenance.enableStorageMaintenanceCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ storagemaintenance = apiclient.enableStorageMaintenance(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py b/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py
index 80716fb..220f8c6 100644
--- a/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py
+++ b/tools/marvin/marvin/integration/lib/base/StorageNetworkIpRange.py
@@ -14,24 +14,46 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createStorageNetworkIpRange
+from marvin.cloudstackAPI import listStorageNetworkIpRange
+from marvin.cloudstackAPI import updateStorageNetworkIpRange
+from marvin.cloudstackAPI import deleteStorageNetworkIpRange
+
class StorageNetworkIpRange(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
def create(cls, apiclient, StorageNetworkIpRangeFactory, **kwargs):
- pass
+ cmd = createStorageNetworkIpRange.createStorageNetworkIpRangeCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in StorageNetworkIpRangeFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ storagenetworkiprange = apiclient.createStorageNetworkIpRange(cmd)
+ return StorageNetworkIpRange(storagenetworkiprange.__dict__)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listStorageNetworkIpRange.listStorageNetworkIpRangeCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ storagenetworkiprange = apiclient.listStorageNetworkIpRange(cmd)
+ return map(lambda e: StorageNetworkIpRange(e.__dict__), storagenetworkiprange)
+
def update(self, apiclient, id, **kwargs):
- pass
+ cmd = updateStorageNetworkIpRange.updateStorageNetworkIpRangeCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ storagenetworkiprange = apiclient.updateStorageNetworkIpRange(cmd)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deleteStorageNetworkIpRange.deleteStorageNetworkIpRangeCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ storagenetworkiprange = apiclient.deleteStorageNetworkIpRange(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/StoragePool.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/StoragePool.py b/tools/marvin/marvin/integration/lib/base/StoragePool.py
index 910d7ac..3dc8bcb 100644
--- a/tools/marvin/marvin/integration/lib/base/StoragePool.py
+++ b/tools/marvin/marvin/integration/lib/base/StoragePool.py
@@ -14,24 +14,46 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createStoragePool
+from marvin.cloudstackAPI import listStoragePools
+from marvin.cloudstackAPI import updateStoragePool
+from marvin.cloudstackAPI import deleteStoragePool
+
class StoragePool(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
def create(cls, apiclient, StoragePoolFactory, **kwargs):
- pass
+ cmd = createStoragePool.createStoragePoolCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in StoragePoolFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ storagepool = apiclient.createStoragePool(cmd)
+ return StoragePool(storagepool.__dict__)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listStoragePools.listStoragePoolsCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ storagepool = apiclient.listStoragePools(cmd)
+ return map(lambda e: StoragePool(e.__dict__), storagepool)
+
def update(self, apiclient, id, **kwargs):
- pass
+ cmd = updateStoragePool.updateStoragePoolCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ storagepool = apiclient.updateStoragePool(cmd)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deleteStoragePool.deleteStoragePoolCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ storagepool = apiclient.deleteStoragePool(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py b/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py
index 4913b47..93784b5 100644
--- a/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py
+++ b/tools/marvin/marvin/integration/lib/base/SupportedNetworkServices.py
@@ -14,14 +14,20 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listSupportedNetworkServices
+
class SupportedNetworkServices(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listSupportedNetworkServices.listSupportedNetworkServicesCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ supportednetworkservices = apiclient.listSupportedNetworkServices(cmd)
+ return map(lambda e: SupportedNetworkServices(e.__dict__), supportednetworkservices)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Swift.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Swift.py b/tools/marvin/marvin/integration/lib/base/Swift.py
index 3ce4a2c..6f74460 100644
--- a/tools/marvin/marvin/integration/lib/base/Swift.py
+++ b/tools/marvin/marvin/integration/lib/base/Swift.py
@@ -14,17 +14,28 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import addSwift
+from marvin.cloudstackAPI import listSwifts
+
class Swift(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def add(self, apiclient, url, **kwargs):
- pass
+ cmd = addSwift.addSwiftCmd()
+ cmd.url = url
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ swift = apiclient.addSwift(cmd)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listSwifts.listSwiftsCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ swift = apiclient.listSwifts(cmd)
+ return map(lambda e: Swift(e.__dict__), swift)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/SystemVm.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/SystemVm.py b/tools/marvin/marvin/integration/lib/base/SystemVm.py
index a11e04a..6fabe6f 100644
--- a/tools/marvin/marvin/integration/lib/base/SystemVm.py
+++ b/tools/marvin/marvin/integration/lib/base/SystemVm.py
@@ -14,29 +14,61 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import migrateSystemVm
+from marvin.cloudstackAPI import stopSystemVm
+from marvin.cloudstackAPI import listSystemVms
+from marvin.cloudstackAPI import rebootSystemVm
+from marvin.cloudstackAPI import startSystemVm
+from marvin.cloudstackAPI import destroySystemVm
+
class SystemVm(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def migrate(self, apiclient, hostid, virtualmachineid, **kwargs):
- pass
+ cmd = migrateSystemVm.migrateSystemVmCmd()
+ cmd.hostid = hostid
+ cmd.virtualmachineid = virtualmachineid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ systemvm = apiclient.migrateSystemVm(cmd)
+
def stop(self, apiclient, id, **kwargs):
- pass
+ cmd = stopSystemVm.stopSystemVmCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ systemvm = apiclient.stopSystemVm(cmd)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listSystemVms.listSystemVmsCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ systemvm = apiclient.listSystemVms(cmd)
+ return map(lambda e: SystemVm(e.__dict__), systemvm)
+
def reboot(self, apiclient, id, **kwargs):
- pass
+ cmd = rebootSystemVm.rebootSystemVmCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ systemvm = apiclient.rebootSystemVm(cmd)
+
def start(self, apiclient, id, **kwargs):
- pass
+ cmd = startSystemVm.startSystemVmCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ systemvm = apiclient.startSystemVm(cmd)
+
def destroy(self, apiclient, id, **kwargs):
- pass
+ cmd = destroySystemVm.destroySystemVmCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ systemvm = apiclient.destroySystemVm(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Tags.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Tags.py b/tools/marvin/marvin/integration/lib/base/Tags.py
index 30b9c9f..9bf22fb 100644
--- a/tools/marvin/marvin/integration/lib/base/Tags.py
+++ b/tools/marvin/marvin/integration/lib/base/Tags.py
@@ -14,21 +14,39 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import createTags
+from marvin.cloudstackAPI import listTags
+from marvin.cloudstackAPI import deleteTags
+
class Tags(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
def create(cls, apiclient, TagsFactory, **kwargs):
- pass
+ cmd = createTags.createTagsCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in TagsFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ tags = apiclient.createTags(cmd)
+ return Tags(tags.__dict__)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, **kwargs):
+ cmd = listTags.listTagsCmd()
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ tags = apiclient.listTags(cmd)
+ return map(lambda e: Tags(e.__dict__), tags)
+
def delete(self, apiclient, resourcetype, resourceids, **kwargs):
- pass
+ cmd = deleteTags.deleteTagsCmd()
+ cmd.resourceids = resourceids
+ cmd.resourcetype = resourcetype
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ tags = apiclient.deleteTags(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/Template.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Template.py b/tools/marvin/marvin/integration/lib/base/Template.py
index 8c6862d..559e1f2 100644
--- a/tools/marvin/marvin/integration/lib/base/Template.py
+++ b/tools/marvin/marvin/integration/lib/base/Template.py
@@ -14,36 +14,89 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import prepareTemplate
+from marvin.cloudstackAPI import createTemplate
+from marvin.cloudstackAPI import registerTemplate
+from marvin.cloudstackAPI import listTemplates
+from marvin.cloudstackAPI import updateTemplate
+from marvin.cloudstackAPI import copyTemplate
+from marvin.cloudstackAPI import extractTemplate
+from marvin.cloudstackAPI import deleteTemplate
+
class Template(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def prepare(self, apiclient, zoneid, templateid, **kwargs):
- pass
+ cmd = prepareTemplate.prepareTemplateCmd()
+ cmd.templateid = templateid
+ cmd.zoneid = zoneid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ template = apiclient.prepareTemplate(cmd)
+
@classmethod
def create(cls, apiclient, TemplateFactory, **kwargs):
- pass
+ cmd = createTemplate.createTemplateCmd()
+ [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in TemplateFactory.attributes()]
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ template = apiclient.createTemplate(cmd)
+ return Template(template.__dict__)
+
def register(self, apiclient, name, format, url, hypervisor, zoneid, displaytext, ostypeid, **kwargs):
- pass
+ cmd = registerTemplate.registerTemplateCmd()
+ cmd.displaytext = displaytext
+ cmd.format = format
+ cmd.hypervisor = hypervisor
+ cmd.name = name
+ cmd.ostypeid = ostypeid
+ cmd.url = url
+ cmd.zoneid = zoneid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ template = apiclient.registerTemplate(cmd)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, templatefilter, **kwargs):
+ cmd = listTemplates.listTemplatesCmd()
+ cmd.templatefilter = templatefilter
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ template = apiclient.listTemplates(cmd)
+ return map(lambda e: Template(e.__dict__), template)
+
def update(self, apiclient, id, **kwargs):
- pass
+ cmd = updateTemplate.updateTemplateCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ template = apiclient.updateTemplate(cmd)
+
def copy(self, apiclient, sourcezoneid, id, destzoneid, **kwargs):
- pass
+ cmd = copyTemplate.copyTemplateCmd()
+ cmd.id = id
+ cmd.destzoneid = destzoneid
+ cmd.sourcezoneid = sourcezoneid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ template = apiclient.copyTemplate(cmd)
+
def extract(self, apiclient, id, mode, **kwargs):
- pass
+ cmd = extractTemplate.extractTemplateCmd()
+ cmd.id = id
+ cmd.mode = mode
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ template = apiclient.extractTemplate(cmd)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deleteTemplate.deleteTemplateCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ template = apiclient.deleteTemplate(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py b/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py
index 6e21436..e7b8edf 100644
--- a/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py
+++ b/tools/marvin/marvin/integration/lib/base/TemplatePermissions.py
@@ -14,17 +14,29 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import listTemplatePermissions
+from marvin.cloudstackAPI import updateTemplatePermissions
+
class TemplatePermissions(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, id, **kwargs):
+ cmd = listTemplatePermissions.listTemplatePermissionsCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ templatepermissions = apiclient.listTemplatePermissions(cmd)
+ return map(lambda e: TemplatePermissions(e.__dict__), templatepermissions)
+
def update(self, apiclient, id, **kwargs):
- pass
+ cmd = updateTemplatePermissions.updateTemplatePermissionsCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ templatepermissions = apiclient.updateTemplatePermissions(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py b/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py
index b5cd4f5..f440466 100644
--- a/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py
+++ b/tools/marvin/marvin/integration/lib/base/ToLoadBalancerRule.py
@@ -14,13 +14,20 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import assignToLoadBalancerRule
+
class ToLoadBalancerRule(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def assign(self, apiclient, id, virtualmachineids, **kwargs):
- pass
+ cmd = assignToLoadBalancerRule.assignToLoadBalancerRuleCmd()
+ cmd.id = id
+ cmd.virtualmachineids = virtualmachineids
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ toloadbalancerrule = apiclient.assignToLoadBalancerRule(cmd)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/d5b82b31/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py b/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py
index 6c4a8a3..d1f771a 100644
--- a/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py
+++ b/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py
@@ -14,20 +14,38 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import CloudStackEntity
+from marvin.integration.lib.base import CloudStackEntity
+from marvin.cloudstackAPI import addTrafficMonitor
+from marvin.cloudstackAPI import listTrafficMonitors
+from marvin.cloudstackAPI import deleteTrafficMonitor
+
class TrafficMonitor(CloudStackEntity):
+
def __init__(self, items):
self.__dict__.update(items)
def add(self, apiclient, url, zoneid, **kwargs):
- pass
+ cmd = addTrafficMonitor.addTrafficMonitorCmd()
+ cmd.url = url
+ cmd.zoneid = zoneid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ trafficmonitor = apiclient.addTrafficMonitor(cmd)
+
@classmethod
- def list(cls, apiclient, **kwargs):
- pass
+ def list(self, apiclient, zoneid, **kwargs):
+ cmd = listTrafficMonitors.listTrafficMonitorsCmd()
+ cmd.zoneid = zoneid
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ trafficmonitor = apiclient.listTrafficMonitors(cmd)
+ return map(lambda e: TrafficMonitor(e.__dict__), trafficmonitor)
+
def delete(self, apiclient, id, **kwargs):
- pass
+ cmd = deleteTrafficMonitor.deleteTrafficMonitorCmd()
+ cmd.id = id
+ [setattr(cmd, key, value) for key,value in kwargs.items]
+ trafficmonitor = apiclient.deleteTrafficMonitor(cmd)