You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ta...@apache.org on 2013/11/08 11:33:58 UTC

[11/29] CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention Signed-off-by: SrikanteswaraRao Talluri

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/rebootVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/rebootVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/rebootVirtualMachine.py
new file mode 100644
index 0000000..265e828
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/rebootVirtualMachine.py
@@ -0,0 +1,369 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Reboots a virtual machine."""
+from baseCmd import *
+from baseResponse import *
+class rebootVirtualMachineCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """The ID of the virtual machine"""
+        """Required"""
+        self.id = None
+        self.required = ["id",]
+
+class rebootVirtualMachineResponse (baseResponse):
+    def __init__(self):
+        """the ID of the virtual machine"""
+        self.id = None
+        """the account associated with the virtual machine"""
+        self.account = None
+        """the number of cpu this virtual machine is running with"""
+        self.cpunumber = None
+        """the speed of each cpu"""
+        self.cpuspeed = None
+        """the amount of the vm's CPU currently used"""
+        self.cpuused = None
+        """the date when this virtual machine was created"""
+        self.created = None
+        """the read (io) of disk on the vm"""
+        self.diskioread = None
+        """the write (io) of disk on the vm"""
+        self.diskiowrite = None
+        """the read (bytes) of disk on the vm"""
+        self.diskkbsread = None
+        """the write (bytes) of disk on the vm"""
+        self.diskkbswrite = None
+        """user generated name. The name of the virtual machine is returned if no displayname exists."""
+        self.displayname = None
+        """an optional field whether to the display the vm to the end user or not."""
+        self.displayvm = None
+        """the name of the domain in which the virtual machine exists"""
+        self.domain = None
+        """the ID of the domain in which the virtual machine exists"""
+        self.domainid = None
+        """the virtual network for the service offering"""
+        self.forvirtualnetwork = None
+        """the group name of the virtual machine"""
+        self.group = None
+        """the group ID of the virtual machine"""
+        self.groupid = None
+        """Os type ID of the virtual machine"""
+        self.guestosid = None
+        """true if high-availability is enabled, false otherwise"""
+        self.haenable = None
+        """the ID of the host for the virtual machine"""
+        self.hostid = None
+        """the name of the host for the virtual machine"""
+        self.hostname = None
+        """the hypervisor on which the template runs"""
+        self.hypervisor = None
+        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
+        self.instancename = None
+        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
+        self.isdynamicallyscalable = None
+        """an alternate display text of the ISO attached to the virtual machine"""
+        self.isodisplaytext = None
+        """the ID of the ISO attached to the virtual machine"""
+        self.isoid = None
+        """the name of the ISO attached to the virtual machine"""
+        self.isoname = None
+        """ssh key-pair"""
+        self.keypair = None
+        """the memory allocated for the virtual machine"""
+        self.memory = None
+        """the name of the virtual machine"""
+        self.name = None
+        """the incoming network traffic on the vm"""
+        self.networkkbsread = None
+        """the outgoing network traffic on the host"""
+        self.networkkbswrite = None
+        """the password (if exists) of the virtual machine"""
+        self.password = None
+        """true if the password rest feature is enabled, false otherwise"""
+        self.passwordenabled = None
+        """the project name of the vm"""
+        self.project = None
+        """the project id of the vm"""
+        self.projectid = None
+        """public IP address id associated with vm via Static nat rule"""
+        self.publicip = None
+        """public IP address id associated with vm via Static nat rule"""
+        self.publicipid = None
+        """device ID of the root volume"""
+        self.rootdeviceid = None
+        """device type of the root volume"""
+        self.rootdevicetype = None
+        """the ID of the service offering of the virtual machine"""
+        self.serviceofferingid = None
+        """the name of the service offering of the virtual machine"""
+        self.serviceofferingname = None
+        """State of the Service from LB rule"""
+        self.servicestate = None
+        """the state of the virtual machine"""
+        self.state = None
+        """an alternate display text of the template for the virtual machine"""
+        self.templatedisplaytext = None
+        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
+        self.templateid = None
+        """the name of the template for the virtual machine"""
+        self.templatename = None
+        """the ID of the availablility zone for the virtual machine"""
+        self.zoneid = None
+        """the name of the availability zone for the virtual machine"""
+        self.zonename = None
+        """list of affinity groups associated with the virtual machine"""
+        self.affinitygroup = []
+        """the list of nics associated with vm"""
+        self.nic = []
+        """list of security groups associated with the virtual machine"""
+        self.securitygroup = []
+        """the list of resource tags associated with vm"""
+        self.tags = []
+        """the ID of the latest async job acting on this object"""
+        self.jobid = None
+        """the current status of the latest async job acting on this object"""
+        self.jobstatus = None
+
+class affinitygroup:
+    def __init__(self):
+        """"the ID of the affinity group"""
+        self.id = None
+        """"the account owning the affinity group"""
+        self.account = None
+        """"the description of the affinity group"""
+        self.description = None
+        """"the domain name of the affinity group"""
+        self.domain = None
+        """"the domain ID of the affinity group"""
+        self.domainid = None
+        """"the name of the affinity group"""
+        self.name = None
+        """"the type of the affinity group"""
+        self.type = None
+        """"virtual machine Ids associated with this affinity group"""
+        self.virtualmachineIds = None
+
+class nic:
+    def __init__(self):
+        """"the ID of the nic"""
+        self.id = None
+        """"the broadcast uri of the nic"""
+        self.broadcasturi = None
+        """"the gateway of the nic"""
+        self.gateway = None
+        """"the IPv6 address of network"""
+        self.ip6address = None
+        """"the cidr of IPv6 network"""
+        self.ip6cidr = None
+        """"the gateway of IPv6 network"""
+        self.ip6gateway = None
+        """"the ip address of the nic"""
+        self.ipaddress = None
+        """"true if nic is default, false otherwise"""
+        self.isdefault = None
+        """"the isolation uri of the nic"""
+        self.isolationuri = None
+        """"true if nic is default, false otherwise"""
+        self.macaddress = None
+        """"the netmask of the nic"""
+        self.netmask = None
+        """"the ID of the corresponding network"""
+        self.networkid = None
+        """"the name of the corresponding network"""
+        self.networkname = None
+        """"the Secondary ipv4 addr of nic"""
+        self.secondaryip = None
+        """"the traffic type of the nic"""
+        self.traffictype = None
+        """"the type of the nic"""
+        self.type = None
+
+class egressrule:
+    def __init__(self):
+        """"account owning the security group rule"""
+        self.account = None
+        """"the CIDR notation for the base IP address of the security group rule"""
+        self.cidr = None
+        """"the ending IP of the security group rule"""
+        self.endport = None
+        """"the code for the ICMP message response"""
+        self.icmpcode = None
+        """"the type of the ICMP message response"""
+        self.icmptype = None
+        """"the protocol of the security group rule"""
+        self.protocol = None
+        """"the id of the security group rule"""
+        self.ruleid = None
+        """"security group name"""
+        self.securitygroupname = None
+        """"the starting IP of the security group rule"""
+        self.startport = None
+
+class ingressrule:
+    def __init__(self):
+        """"account owning the security group rule"""
+        self.account = None
+        """"the CIDR notation for the base IP address of the security group rule"""
+        self.cidr = None
+        """"the ending IP of the security group rule"""
+        self.endport = None
+        """"the code for the ICMP message response"""
+        self.icmpcode = None
+        """"the type of the ICMP message response"""
+        self.icmptype = None
+        """"the protocol of the security group rule"""
+        self.protocol = None
+        """"the id of the security group rule"""
+        self.ruleid = None
+        """"security group name"""
+        self.securitygroupname = None
+        """"the starting IP of the security group rule"""
+        self.startport = None
+
+class tags:
+    def __init__(self):
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+
+class securitygroup:
+    def __init__(self):
+        """"the ID of the security group"""
+        self.id = None
+        """"the account owning the security group"""
+        self.account = None
+        """"the description of the security group"""
+        self.description = None
+        """"the domain name of the security group"""
+        self.domain = None
+        """"the domain ID of the security group"""
+        self.domainid = None
+        """"the name of the security group"""
+        self.name = None
+        """"the project name of the group"""
+        self.project = None
+        """"the project id of the group"""
+        self.projectid = None
+        """"the list of egress rules associated with the security group"""
+        self.egressrule = []
+        """"account owning the security group rule"""
+        self.account = None
+        """"the CIDR notation for the base IP address of the security group rule"""
+        self.cidr = None
+        """"the ending IP of the security group rule"""
+        self.endport = None
+        """"the code for the ICMP message response"""
+        self.icmpcode = None
+        """"the type of the ICMP message response"""
+        self.icmptype = None
+        """"the protocol of the security group rule"""
+        self.protocol = None
+        """"the id of the security group rule"""
+        self.ruleid = None
+        """"security group name"""
+        self.securitygroupname = None
+        """"the starting IP of the security group rule"""
+        self.startport = None
+        """"the list of ingress rules associated with the security group"""
+        self.ingressrule = []
+        """"account owning the security group rule"""
+        self.account = None
+        """"the CIDR notation for the base IP address of the security group rule"""
+        self.cidr = None
+        """"the ending IP of the security group rule"""
+        self.endport = None
+        """"the code for the ICMP message response"""
+        self.icmpcode = None
+        """"the type of the ICMP message response"""
+        self.icmptype = None
+        """"the protocol of the security group rule"""
+        self.protocol = None
+        """"the id of the security group rule"""
+        self.ruleid = None
+        """"security group name"""
+        self.securitygroupname = None
+        """"the starting IP of the security group rule"""
+        self.startport = None
+        """"the list of resource tags associated with the rule"""
+        self.tags = []
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+        """"the ID of the latest async job acting on this object"""
+        self.jobid = None
+        """"the current status of the latest async job acting on this object"""
+        self.jobstatus = None
+
+class tags:
+    def __init__(self):
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/reconnectHost.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/reconnectHost.py b/tools/marvin/build/lib/marvin/cloudstackAPI/reconnectHost.py
new file mode 100644
index 0000000..3d65772
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/reconnectHost.py
@@ -0,0 +1,122 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Reconnects a host."""
+from baseCmd import *
+from baseResponse import *
+class reconnectHostCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the host ID"""
+        """Required"""
+        self.id = None
+        self.required = ["id",]
+
+class reconnectHostResponse (baseResponse):
+    def __init__(self):
+        """the ID of the host"""
+        self.id = None
+        """the cpu average load on the host"""
+        self.averageload = None
+        """capabilities of the host"""
+        self.capabilities = None
+        """the cluster ID of the host"""
+        self.clusterid = None
+        """the cluster name of the host"""
+        self.clustername = None
+        """the cluster type of the cluster that host belongs to"""
+        self.clustertype = None
+        """the amount of the host's CPU currently allocated"""
+        self.cpuallocated = None
+        """the CPU number of the host"""
+        self.cpunumber = None
+        """the CPU speed of the host"""
+        self.cpuspeed = None
+        """the amount of the host's CPU currently used"""
+        self.cpuused = None
+        """the amount of the host's CPU after applying the cpu.overprovisioning.factor"""
+        self.cpuwithoverprovisioning = None
+        """the date and time the host was created"""
+        self.created = None
+        """true if the host is disconnected. False otherwise."""
+        self.disconnected = None
+        """the host's currently allocated disk size"""
+        self.disksizeallocated = None
+        """the total disk size of the host"""
+        self.disksizetotal = None
+        """events available for the host"""
+        self.events = None
+        """true if the host is Ha host (dedicated to vms started by HA process; false otherwise"""
+        self.hahost = None
+        """true if this host has enough CPU and RAM capacity to migrate a VM to it, false otherwise"""
+        self.hasenoughcapacity = None
+        """comma-separated list of tags for the host"""
+        self.hosttags = None
+        """the host hypervisor"""
+        self.hypervisor = None
+        """the hypervisor version"""
+        self.hypervisorversion = None
+        """the IP address of the host"""
+        self.ipaddress = None
+        """true if local storage is active, false otherwise"""
+        self.islocalstorageactive = None
+        """the date and time the host was last pinged"""
+        self.lastpinged = None
+        """the management server ID of the host"""
+        self.managementserverid = None
+        """the amount of the host's memory currently allocated"""
+        self.memoryallocated = None
+        """the memory total of the host"""
+        self.memorytotal = None
+        """the amount of the host's memory currently used"""
+        self.memoryused = None
+        """the name of the host"""
+        self.name = None
+        """the incoming network traffic on the host"""
+        self.networkkbsread = None
+        """the outgoing network traffic on the host"""
+        self.networkkbswrite = None
+        """the OS category ID of the host"""
+        self.oscategoryid = None
+        """the OS category name of the host"""
+        self.oscategoryname = None
+        """the Pod ID of the host"""
+        self.podid = None
+        """the Pod name of the host"""
+        self.podname = None
+        """the date and time the host was removed"""
+        self.removed = None
+        """the resource state of the host"""
+        self.resourcestate = None
+        """the state of the host"""
+        self.state = None
+        """true if this host is suitable(has enough capacity and satisfies all conditions like hosttags, max guests vm limit etc) to migrate a VM to it , false otherwise"""
+        self.suitableformigration = None
+        """the host type"""
+        self.type = None
+        """the host version"""
+        self.version = None
+        """the Zone ID of the host"""
+        self.zoneid = None
+        """the Zone name of the host"""
+        self.zonename = None
+        """the ID of the latest async job acting on this object"""
+        self.jobid = None
+        """the current status of the latest async job acting on this object"""
+        self.jobstatus = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/recoverVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/recoverVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/recoverVirtualMachine.py
new file mode 100644
index 0000000..969baa8
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/recoverVirtualMachine.py
@@ -0,0 +1,369 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Recovers a virtual machine."""
+from baseCmd import *
+from baseResponse import *
+class recoverVirtualMachineCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """The ID of the virtual machine"""
+        """Required"""
+        self.id = None
+        self.required = ["id",]
+
+class recoverVirtualMachineResponse (baseResponse):
+    def __init__(self):
+        """the ID of the virtual machine"""
+        self.id = None
+        """the account associated with the virtual machine"""
+        self.account = None
+        """the number of cpu this virtual machine is running with"""
+        self.cpunumber = None
+        """the speed of each cpu"""
+        self.cpuspeed = None
+        """the amount of the vm's CPU currently used"""
+        self.cpuused = None
+        """the date when this virtual machine was created"""
+        self.created = None
+        """the read (io) of disk on the vm"""
+        self.diskioread = None
+        """the write (io) of disk on the vm"""
+        self.diskiowrite = None
+        """the read (bytes) of disk on the vm"""
+        self.diskkbsread = None
+        """the write (bytes) of disk on the vm"""
+        self.diskkbswrite = None
+        """user generated name. The name of the virtual machine is returned if no displayname exists."""
+        self.displayname = None
+        """an optional field whether to the display the vm to the end user or not."""
+        self.displayvm = None
+        """the name of the domain in which the virtual machine exists"""
+        self.domain = None
+        """the ID of the domain in which the virtual machine exists"""
+        self.domainid = None
+        """the virtual network for the service offering"""
+        self.forvirtualnetwork = None
+        """the group name of the virtual machine"""
+        self.group = None
+        """the group ID of the virtual machine"""
+        self.groupid = None
+        """Os type ID of the virtual machine"""
+        self.guestosid = None
+        """true if high-availability is enabled, false otherwise"""
+        self.haenable = None
+        """the ID of the host for the virtual machine"""
+        self.hostid = None
+        """the name of the host for the virtual machine"""
+        self.hostname = None
+        """the hypervisor on which the template runs"""
+        self.hypervisor = None
+        """instance name of the user vm; this parameter is returned to the ROOT admin only"""
+        self.instancename = None
+        """true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory."""
+        self.isdynamicallyscalable = None
+        """an alternate display text of the ISO attached to the virtual machine"""
+        self.isodisplaytext = None
+        """the ID of the ISO attached to the virtual machine"""
+        self.isoid = None
+        """the name of the ISO attached to the virtual machine"""
+        self.isoname = None
+        """ssh key-pair"""
+        self.keypair = None
+        """the memory allocated for the virtual machine"""
+        self.memory = None
+        """the name of the virtual machine"""
+        self.name = None
+        """the incoming network traffic on the vm"""
+        self.networkkbsread = None
+        """the outgoing network traffic on the host"""
+        self.networkkbswrite = None
+        """the password (if exists) of the virtual machine"""
+        self.password = None
+        """true if the password rest feature is enabled, false otherwise"""
+        self.passwordenabled = None
+        """the project name of the vm"""
+        self.project = None
+        """the project id of the vm"""
+        self.projectid = None
+        """public IP address id associated with vm via Static nat rule"""
+        self.publicip = None
+        """public IP address id associated with vm via Static nat rule"""
+        self.publicipid = None
+        """device ID of the root volume"""
+        self.rootdeviceid = None
+        """device type of the root volume"""
+        self.rootdevicetype = None
+        """the ID of the service offering of the virtual machine"""
+        self.serviceofferingid = None
+        """the name of the service offering of the virtual machine"""
+        self.serviceofferingname = None
+        """State of the Service from LB rule"""
+        self.servicestate = None
+        """the state of the virtual machine"""
+        self.state = None
+        """an alternate display text of the template for the virtual machine"""
+        self.templatedisplaytext = None
+        """the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file."""
+        self.templateid = None
+        """the name of the template for the virtual machine"""
+        self.templatename = None
+        """the ID of the availablility zone for the virtual machine"""
+        self.zoneid = None
+        """the name of the availability zone for the virtual machine"""
+        self.zonename = None
+        """list of affinity groups associated with the virtual machine"""
+        self.affinitygroup = []
+        """the list of nics associated with vm"""
+        self.nic = []
+        """list of security groups associated with the virtual machine"""
+        self.securitygroup = []
+        """the list of resource tags associated with vm"""
+        self.tags = []
+        """the ID of the latest async job acting on this object"""
+        self.jobid = None
+        """the current status of the latest async job acting on this object"""
+        self.jobstatus = None
+
+class affinitygroup:
+    def __init__(self):
+        """"the ID of the affinity group"""
+        self.id = None
+        """"the account owning the affinity group"""
+        self.account = None
+        """"the description of the affinity group"""
+        self.description = None
+        """"the domain name of the affinity group"""
+        self.domain = None
+        """"the domain ID of the affinity group"""
+        self.domainid = None
+        """"the name of the affinity group"""
+        self.name = None
+        """"the type of the affinity group"""
+        self.type = None
+        """"virtual machine Ids associated with this affinity group"""
+        self.virtualmachineIds = None
+
+class nic:
+    def __init__(self):
+        """"the ID of the nic"""
+        self.id = None
+        """"the broadcast uri of the nic"""
+        self.broadcasturi = None
+        """"the gateway of the nic"""
+        self.gateway = None
+        """"the IPv6 address of network"""
+        self.ip6address = None
+        """"the cidr of IPv6 network"""
+        self.ip6cidr = None
+        """"the gateway of IPv6 network"""
+        self.ip6gateway = None
+        """"the ip address of the nic"""
+        self.ipaddress = None
+        """"true if nic is default, false otherwise"""
+        self.isdefault = None
+        """"the isolation uri of the nic"""
+        self.isolationuri = None
+        """"true if nic is default, false otherwise"""
+        self.macaddress = None
+        """"the netmask of the nic"""
+        self.netmask = None
+        """"the ID of the corresponding network"""
+        self.networkid = None
+        """"the name of the corresponding network"""
+        self.networkname = None
+        """"the Secondary ipv4 addr of nic"""
+        self.secondaryip = None
+        """"the traffic type of the nic"""
+        self.traffictype = None
+        """"the type of the nic"""
+        self.type = None
+
+class egressrule:
+    def __init__(self):
+        """"account owning the security group rule"""
+        self.account = None
+        """"the CIDR notation for the base IP address of the security group rule"""
+        self.cidr = None
+        """"the ending IP of the security group rule"""
+        self.endport = None
+        """"the code for the ICMP message response"""
+        self.icmpcode = None
+        """"the type of the ICMP message response"""
+        self.icmptype = None
+        """"the protocol of the security group rule"""
+        self.protocol = None
+        """"the id of the security group rule"""
+        self.ruleid = None
+        """"security group name"""
+        self.securitygroupname = None
+        """"the starting IP of the security group rule"""
+        self.startport = None
+
+class ingressrule:
+    def __init__(self):
+        """"account owning the security group rule"""
+        self.account = None
+        """"the CIDR notation for the base IP address of the security group rule"""
+        self.cidr = None
+        """"the ending IP of the security group rule"""
+        self.endport = None
+        """"the code for the ICMP message response"""
+        self.icmpcode = None
+        """"the type of the ICMP message response"""
+        self.icmptype = None
+        """"the protocol of the security group rule"""
+        self.protocol = None
+        """"the id of the security group rule"""
+        self.ruleid = None
+        """"security group name"""
+        self.securitygroupname = None
+        """"the starting IP of the security group rule"""
+        self.startport = None
+
+class tags:
+    def __init__(self):
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+
+class securitygroup:
+    def __init__(self):
+        """"the ID of the security group"""
+        self.id = None
+        """"the account owning the security group"""
+        self.account = None
+        """"the description of the security group"""
+        self.description = None
+        """"the domain name of the security group"""
+        self.domain = None
+        """"the domain ID of the security group"""
+        self.domainid = None
+        """"the name of the security group"""
+        self.name = None
+        """"the project name of the group"""
+        self.project = None
+        """"the project id of the group"""
+        self.projectid = None
+        """"the list of egress rules associated with the security group"""
+        self.egressrule = []
+        """"account owning the security group rule"""
+        self.account = None
+        """"the CIDR notation for the base IP address of the security group rule"""
+        self.cidr = None
+        """"the ending IP of the security group rule"""
+        self.endport = None
+        """"the code for the ICMP message response"""
+        self.icmpcode = None
+        """"the type of the ICMP message response"""
+        self.icmptype = None
+        """"the protocol of the security group rule"""
+        self.protocol = None
+        """"the id of the security group rule"""
+        self.ruleid = None
+        """"security group name"""
+        self.securitygroupname = None
+        """"the starting IP of the security group rule"""
+        self.startport = None
+        """"the list of ingress rules associated with the security group"""
+        self.ingressrule = []
+        """"account owning the security group rule"""
+        self.account = None
+        """"the CIDR notation for the base IP address of the security group rule"""
+        self.cidr = None
+        """"the ending IP of the security group rule"""
+        self.endport = None
+        """"the code for the ICMP message response"""
+        self.icmpcode = None
+        """"the type of the ICMP message response"""
+        self.icmptype = None
+        """"the protocol of the security group rule"""
+        self.protocol = None
+        """"the id of the security group rule"""
+        self.ruleid = None
+        """"security group name"""
+        self.securitygroupname = None
+        """"the starting IP of the security group rule"""
+        self.startport = None
+        """"the list of resource tags associated with the rule"""
+        self.tags = []
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+        """"the ID of the latest async job acting on this object"""
+        self.jobid = None
+        """"the current status of the latest async job acting on this object"""
+        self.jobstatus = None
+
+class tags:
+    def __init__(self):
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/registerIso.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/registerIso.py b/tools/marvin/build/lib/marvin/cloudstackAPI/registerIso.py
new file mode 100644
index 0000000..3303e83
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/registerIso.py
@@ -0,0 +1,162 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Registers an existing ISO into the CloudStack Cloud."""
+from baseCmd import *
+from baseResponse import *
+class registerIsoCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """the display text of the ISO. This is usually used for display purposes."""
+        """Required"""
+        self.displaytext = None
+        """the name of the ISO"""
+        """Required"""
+        self.name = None
+        """the URL to where the ISO is currently being hosted"""
+        """Required"""
+        self.url = None
+        """the ID of the zone you wish to register the ISO to."""
+        """Required"""
+        self.zoneid = None
+        """an optional account name. Must be used with domainId."""
+        self.account = None
+        """true if this ISO is bootable. If not passed explicitly its assumed to be true"""
+        self.bootable = None
+        """the MD5 checksum value of this ISO"""
+        self.checksum = None
+        """an optional domainId. If the account parameter is used, domainId must also be used."""
+        self.domainid = None
+        """Image store uuid"""
+        self.imagestoreuuid = None
+        """true if iso contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
+        self.isdynamicallyscalable = None
+        """true if the iso or its derivatives are extractable; default is false"""
+        self.isextractable = None
+        """true if you want this ISO to be featured"""
+        self.isfeatured = None
+        """true if you want to register the ISO to be publicly available to all users, false otherwise."""
+        self.ispublic = None
+        """the ID of the OS Type that best represents the OS of this ISO. If the iso is bootable this parameter needs to be passed"""
+        self.ostypeid = None
+        """Register iso for the project"""
+        self.projectid = None
+        self.required = ["displaytext","name","url","zoneid",]
+
+class registerIsoResponse (baseResponse):
+    def __init__(self):
+        """the template ID"""
+        self.id = None
+        """the account name to which the template belongs"""
+        self.account = None
+        """the account id to which the template belongs"""
+        self.accountid = None
+        """true if the ISO is bootable, false otherwise"""
+        self.bootable = None
+        """checksum of the template"""
+        self.checksum = None
+        """the date this template was created"""
+        self.created = None
+        """true if the template is managed across all Zones, false otherwise"""
+        self.crossZones = None
+        """additional key/value details tied with template"""
+        self.details = None
+        """the template display text"""
+        self.displaytext = None
+        """the name of the domain to which the template belongs"""
+        self.domain = None
+        """the ID of the domain to which the template belongs"""
+        self.domainid = None
+        """the format of the template."""
+        self.format = None
+        """the ID of the secondary storage host for the template"""
+        self.hostid = None
+        """the name of the secondary storage host for the template"""
+        self.hostname = None
+        """the hypervisor on which the template runs"""
+        self.hypervisor = None
+        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
+        self.isdynamicallyscalable = None
+        """true if the template is extractable, false otherwise"""
+        self.isextractable = None
+        """true if this template is a featured template, false otherwise"""
+        self.isfeatured = None
+        """true if this template is a public template, false otherwise"""
+        self.ispublic = None
+        """true if the template is ready to be deployed from, false otherwise."""
+        self.isready = None
+        """the template name"""
+        self.name = None
+        """the ID of the OS type for this template."""
+        self.ostypeid = None
+        """the name of the OS type for this template."""
+        self.ostypename = None
+        """true if the reset password feature is enabled, false otherwise"""
+        self.passwordenabled = None
+        """the project name of the template"""
+        self.project = None
+        """the project id of the template"""
+        self.projectid = None
+        """the date this template was removed"""
+        self.removed = None
+        """the size of the template"""
+        self.size = None
+        """the template ID of the parent template if present"""
+        self.sourcetemplateid = None
+        """true if template is sshkey enabled, false otherwise"""
+        self.sshkeyenabled = None
+        """the status of the template"""
+        self.status = None
+        """the tag of this template"""
+        self.templatetag = None
+        """the type of the template"""
+        self.templatetype = None
+        """the ID of the zone for this template"""
+        self.zoneid = None
+        """the name of the zone for this template"""
+        self.zonename = None
+        """the list of resource tags associated with tempate"""
+        self.tags = []
+        """the ID of the latest async job acting on this object"""
+        self.jobid = None
+        """the current status of the latest async job acting on this object"""
+        self.jobstatus = None
+
+class tags:
+    def __init__(self):
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/registerSSHKeyPair.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/registerSSHKeyPair.py b/tools/marvin/build/lib/marvin/cloudstackAPI/registerSSHKeyPair.py
new file mode 100644
index 0000000..264c603
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/registerSSHKeyPair.py
@@ -0,0 +1,47 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Register a public key in a keypair under a certain name"""
+from baseCmd import *
+from baseResponse import *
+class registerSSHKeyPairCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """Name of the keypair"""
+        """Required"""
+        self.name = None
+        """Public key material of the keypair"""
+        """Required"""
+        self.publickey = None
+        """an optional account for the ssh key. Must be used with domainId."""
+        self.account = None
+        """an optional domainId for the ssh key. If the account parameter is used, domainId must also be used."""
+        self.domainid = None
+        """an optional project for the ssh key"""
+        self.projectid = None
+        self.required = ["name","publickey",]
+
+class registerSSHKeyPairResponse (baseResponse):
+    def __init__(self):
+        """Fingerprint of the public key"""
+        self.fingerprint = None
+        """Name of the keypair"""
+        self.name = None
+        """Private key"""
+        self.privatekey = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/registerTemplate.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/registerTemplate.py b/tools/marvin/build/lib/marvin/cloudstackAPI/registerTemplate.py
new file mode 100644
index 0000000..83393ce
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/registerTemplate.py
@@ -0,0 +1,179 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Registers an existing template into the CloudStack cloud."""
+from baseCmd import *
+from baseResponse import *
+class registerTemplateCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """the display text of the template. This is usually used for display purposes."""
+        """Required"""
+        self.displaytext = None
+        """the format for the template. Possible values include QCOW2, RAW, and VHD."""
+        """Required"""
+        self.format = None
+        """the target hypervisor for the template"""
+        """Required"""
+        self.hypervisor = None
+        """the name of the template"""
+        """Required"""
+        self.name = None
+        """the ID of the OS Type that best represents the OS of this template."""
+        """Required"""
+        self.ostypeid = None
+        """the URL of where the template is hosted. Possible URL include http:// and https://"""
+        """Required"""
+        self.url = None
+        """the ID of the zone the template is to be hosted on"""
+        """Required"""
+        self.zoneid = None
+        """an optional accountName. Must be used with domainId."""
+        self.account = None
+        """32 or 64 bits support. 64 by default"""
+        self.bits = None
+        """the MD5 checksum value of this template"""
+        self.checksum = None
+        """Template details in key/value pairs."""
+        self.details = []
+        """an optional domainId. If the account parameter is used, domainId must also be used."""
+        self.domainid = None
+        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
+        self.isdynamicallyscalable = None
+        """true if the template or its derivatives are extractable; default is false"""
+        self.isextractable = None
+        """true if this template is a featured template, false otherwise"""
+        self.isfeatured = None
+        """true if the template is available to all accounts; default is true"""
+        self.ispublic = None
+        """true if the template type is routing i.e., if template is used to deploy router"""
+        self.isrouting = None
+        """true if the template supports the password reset feature; default is false"""
+        self.passwordenabled = None
+        """Register template for the project"""
+        self.projectid = None
+        """true if this template requires HVM"""
+        self.requireshvm = None
+        """true if the template supports the sshkey upload feature; default is false"""
+        self.sshkeyenabled = None
+        """the tag for this template."""
+        self.templatetag = None
+        self.required = ["displaytext","format","hypervisor","name","ostypeid","url","zoneid",]
+
+class registerTemplateResponse (baseResponse):
+    def __init__(self):
+        """the template ID"""
+        self.id = None
+        """the account name to which the template belongs"""
+        self.account = None
+        """the account id to which the template belongs"""
+        self.accountid = None
+        """true if the ISO is bootable, false otherwise"""
+        self.bootable = None
+        """checksum of the template"""
+        self.checksum = None
+        """the date this template was created"""
+        self.created = None
+        """true if the template is managed across all Zones, false otherwise"""
+        self.crossZones = None
+        """additional key/value details tied with template"""
+        self.details = None
+        """the template display text"""
+        self.displaytext = None
+        """the name of the domain to which the template belongs"""
+        self.domain = None
+        """the ID of the domain to which the template belongs"""
+        self.domainid = None
+        """the format of the template."""
+        self.format = None
+        """the ID of the secondary storage host for the template"""
+        self.hostid = None
+        """the name of the secondary storage host for the template"""
+        self.hostname = None
+        """the hypervisor on which the template runs"""
+        self.hypervisor = None
+        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
+        self.isdynamicallyscalable = None
+        """true if the template is extractable, false otherwise"""
+        self.isextractable = None
+        """true if this template is a featured template, false otherwise"""
+        self.isfeatured = None
+        """true if this template is a public template, false otherwise"""
+        self.ispublic = None
+        """true if the template is ready to be deployed from, false otherwise."""
+        self.isready = None
+        """the template name"""
+        self.name = None
+        """the ID of the OS type for this template."""
+        self.ostypeid = None
+        """the name of the OS type for this template."""
+        self.ostypename = None
+        """true if the reset password feature is enabled, false otherwise"""
+        self.passwordenabled = None
+        """the project name of the template"""
+        self.project = None
+        """the project id of the template"""
+        self.projectid = None
+        """the date this template was removed"""
+        self.removed = None
+        """the size of the template"""
+        self.size = None
+        """the template ID of the parent template if present"""
+        self.sourcetemplateid = None
+        """true if template is sshkey enabled, false otherwise"""
+        self.sshkeyenabled = None
+        """the status of the template"""
+        self.status = None
+        """the tag of this template"""
+        self.templatetag = None
+        """the type of the template"""
+        self.templatetype = None
+        """the ID of the zone for this template"""
+        self.zoneid = None
+        """the name of the zone for this template"""
+        self.zonename = None
+        """the list of resource tags associated with tempate"""
+        self.tags = []
+        """the ID of the latest async job acting on this object"""
+        self.jobid = None
+        """the current status of the latest async job acting on this object"""
+        self.jobstatus = None
+
+class tags:
+    def __init__(self):
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/registerUserKeys.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/registerUserKeys.py b/tools/marvin/build/lib/marvin/cloudstackAPI/registerUserKeys.py
new file mode 100644
index 0000000..6044b6a
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/registerUserKeys.py
@@ -0,0 +1,36 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""This command allows a user to register for the developer API, returning a secret key and an API key. This request is made through the integration API port, so it is a privileged command and must be made on behalf of a user. It is up to the implementer just how the username and password are entered, and then how that translates to an integration API request. Both secret key and API key should be returned to the user"""
+from baseCmd import *
+from baseResponse import *
+class registerUserKeysCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """User id"""
+        """Required"""
+        self.id = None
+        self.required = ["id",]
+
+class registerUserKeysResponse (baseResponse):
+    def __init__(self):
+        """the api key of the registered user"""
+        self.apikey = None
+        """the secret key of the registered user"""
+        self.secretkey = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedCluster.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedCluster.py b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedCluster.py
new file mode 100644
index 0000000..4354f6b
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedCluster.py
@@ -0,0 +1,36 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Release the dedication for cluster"""
+from baseCmd import *
+from baseResponse import *
+class releaseDedicatedClusterCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the ID of the Cluster"""
+        """Required"""
+        self.clusterid = None
+        self.required = ["clusterid",]
+
+class releaseDedicatedClusterResponse (baseResponse):
+    def __init__(self):
+        """any text associated with the success or failure"""
+        self.displaytext = None
+        """true if operation is executed successfully"""
+        self.success = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedGuestVlanRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedGuestVlanRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedGuestVlanRange.py
new file mode 100644
index 0000000..b2f8401
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedGuestVlanRange.py
@@ -0,0 +1,36 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Releases a dedicated guest vlan range to the system"""
+from baseCmd import *
+from baseResponse import *
+class releaseDedicatedGuestVlanRangeCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the ID of the dedicated guest vlan range"""
+        """Required"""
+        self.id = None
+        self.required = ["id",]
+
+class releaseDedicatedGuestVlanRangeResponse (baseResponse):
+    def __init__(self):
+        """any text associated with the success or failure"""
+        self.displaytext = None
+        """true if operation is executed successfully"""
+        self.success = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedHost.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedHost.py b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedHost.py
new file mode 100644
index 0000000..680cd45
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedHost.py
@@ -0,0 +1,36 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Release the dedication for host"""
+from baseCmd import *
+from baseResponse import *
+class releaseDedicatedHostCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the ID of the host"""
+        """Required"""
+        self.hostid = None
+        self.required = ["hostid",]
+
+class releaseDedicatedHostResponse (baseResponse):
+    def __init__(self):
+        """any text associated with the success or failure"""
+        self.displaytext = None
+        """true if operation is executed successfully"""
+        self.success = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedPod.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedPod.py b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedPod.py
new file mode 100644
index 0000000..2993ed7
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedPod.py
@@ -0,0 +1,36 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Release the dedication for the pod"""
+from baseCmd import *
+from baseResponse import *
+class releaseDedicatedPodCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the ID of the Pod"""
+        """Required"""
+        self.podid = None
+        self.required = ["podid",]
+
+class releaseDedicatedPodResponse (baseResponse):
+    def __init__(self):
+        """any text associated with the success or failure"""
+        self.displaytext = None
+        """true if operation is executed successfully"""
+        self.success = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedZone.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedZone.py b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedZone.py
new file mode 100644
index 0000000..0f895c0
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseDedicatedZone.py
@@ -0,0 +1,36 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Release dedication of zone"""
+from baseCmd import *
+from baseResponse import *
+class releaseDedicatedZoneCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the ID of the Zone"""
+        """Required"""
+        self.zoneid = None
+        self.required = ["zoneid",]
+
+class releaseDedicatedZoneResponse (baseResponse):
+    def __init__(self):
+        """any text associated with the success or failure"""
+        self.displaytext = None
+        """true if operation is executed successfully"""
+        self.success = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/releaseHostReservation.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/releaseHostReservation.py b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseHostReservation.py
new file mode 100644
index 0000000..56626a5
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/releaseHostReservation.py
@@ -0,0 +1,36 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Releases host reservation."""
+from baseCmd import *
+from baseResponse import *
+class releaseHostReservationCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the host ID"""
+        """Required"""
+        self.id = None
+        self.required = ["id",]
+
+class releaseHostReservationResponse (baseResponse):
+    def __init__(self):
+        """any text associated with the success or failure"""
+        self.displaytext = None
+        """true if operation is executed successfully"""
+        self.success = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/releasePublicIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/releasePublicIpRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/releasePublicIpRange.py
new file mode 100644
index 0000000..02f2a60
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/releasePublicIpRange.py
@@ -0,0 +1,36 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Releases a Public IP range back to the system pool"""
+from baseCmd import *
+from baseResponse import *
+class releasePublicIpRangeCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """the id of the Public IP range"""
+        """Required"""
+        self.id = None
+        self.required = ["id",]
+
+class releasePublicIpRangeResponse (baseResponse):
+    def __init__(self):
+        """any text associated with the success or failure"""
+        self.displaytext = None
+        """true if operation is executed successfully"""
+        self.success = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromGlobalLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromGlobalLoadBalancerRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromGlobalLoadBalancerRule.py
new file mode 100644
index 0000000..b3efe40
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromGlobalLoadBalancerRule.py
@@ -0,0 +1,39 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Removes a load balancer rule association with global load balancer rule"""
+from baseCmd import *
+from baseResponse import *
+class removeFromGlobalLoadBalancerRuleCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """The ID of the load balancer rule"""
+        """Required"""
+        self.id = None
+        """the list load balancer rules that will be assigned to gloabal load balacner rule"""
+        """Required"""
+        self.loadbalancerrulelist = []
+        self.required = ["id","loadbalancerrulelist",]
+
+class removeFromGlobalLoadBalancerRuleResponse (baseResponse):
+    def __init__(self):
+        """any text associated with the success or failure"""
+        self.displaytext = None
+        """true if operation is executed successfully"""
+        self.success = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromLoadBalancerRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromLoadBalancerRule.py
new file mode 100644
index 0000000..ed1a714
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/removeFromLoadBalancerRule.py
@@ -0,0 +1,39 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Removes a virtual machine or a list of virtual machines from a load balancer rule."""
+from baseCmd import *
+from baseResponse import *
+class removeFromLoadBalancerRuleCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """The ID of the load balancer rule"""
+        """Required"""
+        self.id = None
+        """the list of IDs of the virtual machines that are being removed from the load balancer rule (i.e. virtualMachineIds=1,2,3)"""
+        """Required"""
+        self.virtualmachineids = []
+        self.required = ["id","virtualmachineids",]
+
+class removeFromLoadBalancerRuleResponse (baseResponse):
+    def __init__(self):
+        """any text associated with the success or failure"""
+        self.displaytext = None
+        """true if operation is executed successfully"""
+        self.success = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/removeIpFromNic.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/removeIpFromNic.py b/tools/marvin/build/lib/marvin/cloudstackAPI/removeIpFromNic.py
new file mode 100644
index 0000000..dfe2ef2
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/removeIpFromNic.py
@@ -0,0 +1,36 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Assigns secondary IP to NIC."""
+from baseCmd import *
+from baseResponse import *
+class removeIpFromNicCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the ID of the secondary ip address to nic"""
+        """Required"""
+        self.id = None
+        self.required = ["id",]
+
+class removeIpFromNicResponse (baseResponse):
+    def __init__(self):
+        """any text associated with the success or failure"""
+        self.displaytext = None
+        """true if operation is executed successfully"""
+        self.success = None
+