cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bfede...@apache.org
Subject [09/76] [abbrv] CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
Date Fri, 08 Nov 2013 18:08:25 GMT
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/restoreVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/restoreVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/restoreVirtualMachine.py
new file mode 100644
index 0000000..e22f6c8
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/restoreVirtualMachine.py
@@ -0,0 +1,371 @@
+# 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.
+
+
+"""Restore a VM to original template/ISO or new template/ISO"""
+from baseCmd import *
+from baseResponse import *
+class restoreVirtualMachineCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """Virtual Machine ID"""
+        """Required"""
+        self.virtualmachineid = None
+        """an optional template Id to restore vm from the new template. This can be an ISO id in case of restore vm deployed using ISO"""
+        self.templateid = None
+        self.required = ["virtualmachineid",]
+
+class restoreVirtualMachineResponse (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/revertSnapshot.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/revertSnapshot.py b/tools/marvin/build/lib/marvin/cloudstackAPI/revertSnapshot.py
new file mode 100644
index 0000000..e8ba532
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/revertSnapshot.py
@@ -0,0 +1,91 @@
+# 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.
+
+
+"""revert a volume snapshot."""
+from baseCmd import *
+from baseResponse import *
+class revertSnapshotCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """The ID of the snapshot"""
+        """Required"""
+        self.id = None
+        self.required = ["id",]
+
+class revertSnapshotResponse (baseResponse):
+    def __init__(self):
+        """ID of the snapshot"""
+        self.id = None
+        """the account associated with the snapshot"""
+        self.account = None
+        """the date the snapshot was created"""
+        self.created = None
+        """the domain name of the snapshot's account"""
+        self.domain = None
+        """the domain ID of the snapshot's account"""
+        self.domainid = None
+        """valid types are hourly, daily, weekly, monthy, template, and none."""
+        self.intervaltype = None
+        """name of the snapshot"""
+        self.name = None
+        """the project name of the snapshot"""
+        self.project = None
+        """the project id of the snapshot"""
+        self.projectid = None
+        """the type of the snapshot"""
+        self.snapshottype = None
+        """the state of the snapshot. BackedUp means that snapshot is ready to be used; Creating - the snapshot is being allocated on the primary storage; BackingUp - the snapshot is being backed up on secondary storage"""
+        self.state = None
+        """ID of the disk volume"""
+        self.volumeid = None
+        """name of the disk volume"""
+        self.volumename = None
+        """type of the disk volume"""
+        self.volumetype = None
+        """id of the availability zone"""
+        self.zoneid = None
+        """the list of resource tags associated with snapshot"""
+        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/revertToVMSnapshot.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/revertToVMSnapshot.py b/tools/marvin/build/lib/marvin/cloudstackAPI/revertToVMSnapshot.py
new file mode 100644
index 0000000..394ecba
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/revertToVMSnapshot.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.
+
+
+"""Revert VM from a vmsnapshot."""
+from baseCmd import *
+from baseResponse import *
+class revertToVMSnapshotCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """The ID of the vm snapshot"""
+        """Required"""
+        self.vmsnapshotid = None
+        self.required = ["vmsnapshotid",]
+
+class revertToVMSnapshotResponse (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/revokeSecurityGroupEgress.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/revokeSecurityGroupEgress.py b/tools/marvin/build/lib/marvin/cloudstackAPI/revokeSecurityGroupEgress.py
new file mode 100644
index 0000000..90d8753
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/revokeSecurityGroupEgress.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.
+
+
+"""Deletes a particular egress rule from this security group"""
+from baseCmd import *
+from baseResponse import *
+class revokeSecurityGroupEgressCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """The ID of the egress rule"""
+        """Required"""
+        self.id = None
+        self.required = ["id",]
+
+class revokeSecurityGroupEgressResponse (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/revokeSecurityGroupIngress.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/revokeSecurityGroupIngress.py b/tools/marvin/build/lib/marvin/cloudstackAPI/revokeSecurityGroupIngress.py
new file mode 100644
index 0000000..82309ab
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/revokeSecurityGroupIngress.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.
+
+
+"""Deletes a particular ingress rule from this security group"""
+from baseCmd import *
+from baseResponse import *
+class revokeSecurityGroupIngressCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """The ID of the ingress rule"""
+        """Required"""
+        self.id = None
+        self.required = ["id",]
+
+class revokeSecurityGroupIngressResponse (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/scaleSystemVm.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/scaleSystemVm.py b/tools/marvin/build/lib/marvin/cloudstackAPI/scaleSystemVm.py
new file mode 100644
index 0000000..56bbba3
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/scaleSystemVm.py
@@ -0,0 +1,89 @@
+# 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.
+
+
+"""Scale the service offering for a system vm (console proxy or secondary storage). The system vm must be in a "Stopped" state for this command to take effect."""
+from baseCmd import *
+from baseResponse import *
+class scaleSystemVmCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """The ID of the system vm"""
+        """Required"""
+        self.id = None
+        """the service offering ID to apply to the system vm"""
+        """Required"""
+        self.serviceofferingid = None
+        self.required = ["id","serviceofferingid",]
+
+class scaleSystemVmResponse (baseResponse):
+    def __init__(self):
+        """the ID of the system VM"""
+        self.id = None
+        """the number of active console sessions for the console proxy system vm"""
+        self.activeviewersessions = None
+        """the date and time the system VM was created"""
+        self.created = None
+        """the first DNS for the system VM"""
+        self.dns1 = None
+        """the second DNS for the system VM"""
+        self.dns2 = None
+        """the gateway for the system VM"""
+        self.gateway = None
+        """the host ID for the system VM"""
+        self.hostid = None
+        """the hostname for the system VM"""
+        self.hostname = None
+        """the job ID associated with the system VM. This is only displayed if the router listed is part of a currently running asynchronous job."""
+        self.jobid = None
+        """the job status associated with the system VM.  This is only displayed if the router listed is part of a currently running asynchronous job."""
+        self.jobstatus = None
+        """the link local IP address for the system vm"""
+        self.linklocalip = None
+        """the link local MAC address for the system vm"""
+        self.linklocalmacaddress = None
+        """the link local netmask for the system vm"""
+        self.linklocalnetmask = None
+        """the name of the system VM"""
+        self.name = None
+        """the network domain for the system VM"""
+        self.networkdomain = None
+        """the Pod ID for the system VM"""
+        self.podid = None
+        """the private IP address for the system VM"""
+        self.privateip = None
+        """the private MAC address for the system VM"""
+        self.privatemacaddress = None
+        """the private netmask for the system VM"""
+        self.privatenetmask = None
+        """the public IP address for the system VM"""
+        self.publicip = None
+        """the public MAC address for the system VM"""
+        self.publicmacaddress = None
+        """the public netmask for the system VM"""
+        self.publicnetmask = None
+        """the state of the system VM"""
+        self.state = None
+        """the system VM type"""
+        self.systemvmtype = None
+        """the template ID for the system VM"""
+        self.templateid = None
+        """the Zone ID for the system VM"""
+        self.zoneid = None
+        """the Zone name for the system VM"""
+        self.zonename = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/scaleVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/scaleVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/scaleVirtualMachine.py
new file mode 100644
index 0000000..6e0971d
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/scaleVirtualMachine.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.
+
+
+"""Scales the virtual machine to a new service offering."""
+from baseCmd import *
+from baseResponse import *
+class scaleVirtualMachineCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """The ID of the virtual machine"""
+        """Required"""
+        self.id = None
+        """the ID of the service offering for the virtual machine"""
+        """Required"""
+        self.serviceofferingid = None
+        self.required = ["id","serviceofferingid",]
+
+class scaleVirtualMachineResponse (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/startInternalLoadBalancerVM.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/startInternalLoadBalancerVM.py b/tools/marvin/build/lib/marvin/cloudstackAPI/startInternalLoadBalancerVM.py
new file mode 100644
index 0000000..26e38c5
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/startInternalLoadBalancerVM.py
@@ -0,0 +1,151 @@
+# 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.
+
+
+"""Starts an existing internal lb vm."""
+from baseCmd import *
+from baseResponse import *
+class startInternalLoadBalancerVMCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the ID of the internal lb vm"""
+        """Required"""
+        self.id = None
+        self.required = ["id",]
+
+class startInternalLoadBalancerVMResponse (baseResponse):
+    def __init__(self):
+        """the id of the router"""
+        self.id = None
+        """the account associated with the router"""
+        self.account = None
+        """the date and time the router was created"""
+        self.created = None
+        """the first DNS for the router"""
+        self.dns1 = None
+        """the second DNS for the router"""
+        self.dns2 = None
+        """the domain associated with the router"""
+        self.domain = None
+        """the domain ID associated with the router"""
+        self.domainid = None
+        """the gateway for the router"""
+        self.gateway = None
+        """the guest IP address for the router"""
+        self.guestipaddress = None
+        """the guest MAC address for the router"""
+        self.guestmacaddress = None
+        """the guest netmask for the router"""
+        self.guestnetmask = None
+        """the ID of the corresponding guest network"""
+        self.guestnetworkid = None
+        """the host ID for the router"""
+        self.hostid = None
+        """the hostname for the router"""
+        self.hostname = None
+        """the first IPv6 DNS for the router"""
+        self.ip6dns1 = None
+        """the second IPv6 DNS for the router"""
+        self.ip6dns2 = None
+        """if this router is an redundant virtual router"""
+        self.isredundantrouter = None
+        """the link local IP address for the router"""
+        self.linklocalip = None
+        """the link local MAC address for the router"""
+        self.linklocalmacaddress = None
+        """the link local netmask for the router"""
+        self.linklocalnetmask = None
+        """the ID of the corresponding link local network"""
+        self.linklocalnetworkid = None
+        """the name of the router"""
+        self.name = None
+        """the network domain for the router"""
+        self.networkdomain = None
+        """the Pod ID for the router"""
+        self.podid = None
+        """the project name of the address"""
+        self.project = None
+        """the project id of the ipaddress"""
+        self.projectid = None
+        """the public IP address for the router"""
+        self.publicip = None
+        """the public MAC address for the router"""
+        self.publicmacaddress = None
+        """the public netmask for the router"""
+        self.publicnetmask = None
+        """the ID of the corresponding public network"""
+        self.publicnetworkid = None
+        """the state of redundant virtual router"""
+        self.redundantstate = None
+        """role of the domain router"""
+        self.role = None
+        """the version of scripts"""
+        self.scriptsversion = 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
+        """the state of the router"""
+        self.state = None
+        """the template ID for the router"""
+        self.templateid = None
+        """the version of template"""
+        self.templateversion = None
+        """VPC the router belongs to"""
+        self.vpcid = None
+        """the Zone ID for the router"""
+        self.zoneid = None
+        """the Zone name for the router"""
+        self.zonename = None
+        """the list of nics associated with the router"""
+        self.nic = []
+
+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
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/startRouter.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/startRouter.py b/tools/marvin/build/lib/marvin/cloudstackAPI/startRouter.py
new file mode 100644
index 0000000..4d3c710
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/startRouter.py
@@ -0,0 +1,151 @@
+# 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.
+
+
+"""Starts a router."""
+from baseCmd import *
+from baseResponse import *
+class startRouterCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the ID of the router"""
+        """Required"""
+        self.id = None
+        self.required = ["id",]
+
+class startRouterResponse (baseResponse):
+    def __init__(self):
+        """the id of the router"""
+        self.id = None
+        """the account associated with the router"""
+        self.account = None
+        """the date and time the router was created"""
+        self.created = None
+        """the first DNS for the router"""
+        self.dns1 = None
+        """the second DNS for the router"""
+        self.dns2 = None
+        """the domain associated with the router"""
+        self.domain = None
+        """the domain ID associated with the router"""
+        self.domainid = None
+        """the gateway for the router"""
+        self.gateway = None
+        """the guest IP address for the router"""
+        self.guestipaddress = None
+        """the guest MAC address for the router"""
+        self.guestmacaddress = None
+        """the guest netmask for the router"""
+        self.guestnetmask = None
+        """the ID of the corresponding guest network"""
+        self.guestnetworkid = None
+        """the host ID for the router"""
+        self.hostid = None
+        """the hostname for the router"""
+        self.hostname = None
+        """the first IPv6 DNS for the router"""
+        self.ip6dns1 = None
+        """the second IPv6 DNS for the router"""
+        self.ip6dns2 = None
+        """if this router is an redundant virtual router"""
+        self.isredundantrouter = None
+        """the link local IP address for the router"""
+        self.linklocalip = None
+        """the link local MAC address for the router"""
+        self.linklocalmacaddress = None
+        """the link local netmask for the router"""
+        self.linklocalnetmask = None
+        """the ID of the corresponding link local network"""
+        self.linklocalnetworkid = None
+        """the name of the router"""
+        self.name = None
+        """the network domain for the router"""
+        self.networkdomain = None
+        """the Pod ID for the router"""
+        self.podid = None
+        """the project name of the address"""
+        self.project = None
+        """the project id of the ipaddress"""
+        self.projectid = None
+        """the public IP address for the router"""
+        self.publicip = None
+        """the public MAC address for the router"""
+        self.publicmacaddress = None
+        """the public netmask for the router"""
+        self.publicnetmask = None
+        """the ID of the corresponding public network"""
+        self.publicnetworkid = None
+        """the state of redundant virtual router"""
+        self.redundantstate = None
+        """role of the domain router"""
+        self.role = None
+        """the version of scripts"""
+        self.scriptsversion = 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
+        """the state of the router"""
+        self.state = None
+        """the template ID for the router"""
+        self.templateid = None
+        """the version of template"""
+        self.templateversion = None
+        """VPC the router belongs to"""
+        self.vpcid = None
+        """the Zone ID for the router"""
+        self.zoneid = None
+        """the Zone name for the router"""
+        self.zonename = None
+        """the list of nics associated with the router"""
+        self.nic = []
+
+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
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/startSystemVm.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/startSystemVm.py b/tools/marvin/build/lib/marvin/cloudstackAPI/startSystemVm.py
new file mode 100644
index 0000000..5764006
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/startSystemVm.py
@@ -0,0 +1,86 @@
+# 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.
+
+
+"""Starts a system virtual machine."""
+from baseCmd import *
+from baseResponse import *
+class startSystemVmCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """The ID of the system virtual machine"""
+        """Required"""
+        self.id = None
+        self.required = ["id",]
+
+class startSystemVmResponse (baseResponse):
+    def __init__(self):
+        """the ID of the system VM"""
+        self.id = None
+        """the number of active console sessions for the console proxy system vm"""
+        self.activeviewersessions = None
+        """the date and time the system VM was created"""
+        self.created = None
+        """the first DNS for the system VM"""
+        self.dns1 = None
+        """the second DNS for the system VM"""
+        self.dns2 = None
+        """the gateway for the system VM"""
+        self.gateway = None
+        """the host ID for the system VM"""
+        self.hostid = None
+        """the hostname for the system VM"""
+        self.hostname = None
+        """the job ID associated with the system VM. This is only displayed if the router listed is part of a currently running asynchronous job."""
+        self.jobid = None
+        """the job status associated with the system VM.  This is only displayed if the router listed is part of a currently running asynchronous job."""
+        self.jobstatus = None
+        """the link local IP address for the system vm"""
+        self.linklocalip = None
+        """the link local MAC address for the system vm"""
+        self.linklocalmacaddress = None
+        """the link local netmask for the system vm"""
+        self.linklocalnetmask = None
+        """the name of the system VM"""
+        self.name = None
+        """the network domain for the system VM"""
+        self.networkdomain = None
+        """the Pod ID for the system VM"""
+        self.podid = None
+        """the private IP address for the system VM"""
+        self.privateip = None
+        """the private MAC address for the system VM"""
+        self.privatemacaddress = None
+        """the private netmask for the system VM"""
+        self.privatenetmask = None
+        """the public IP address for the system VM"""
+        self.publicip = None
+        """the public MAC address for the system VM"""
+        self.publicmacaddress = None
+        """the public netmask for the system VM"""
+        self.publicnetmask = None
+        """the state of the system VM"""
+        self.state = None
+        """the system VM type"""
+        self.systemvmtype = None
+        """the template ID for the system VM"""
+        self.templateid = None
+        """the Zone ID for the system VM"""
+        self.zoneid = None
+        """the Zone name for the system VM"""
+        self.zonename = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/startVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/startVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/startVirtualMachine.py
new file mode 100644
index 0000000..4fec397
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/startVirtualMachine.py
@@ -0,0 +1,371 @@
+# 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.
+
+
+"""Starts a virtual machine."""
+from baseCmd import *
+from baseResponse import *
+class startVirtualMachineCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """The ID of the virtual machine"""
+        """Required"""
+        self.id = None
+        """destination Host ID to deploy the VM to - parameter available for root admin only"""
+        self.hostid = None
+        self.required = ["id",]
+
+class startVirtualMachineResponse (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/stopInternalLoadBalancerVM.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/stopInternalLoadBalancerVM.py b/tools/marvin/build/lib/marvin/cloudstackAPI/stopInternalLoadBalancerVM.py
new file mode 100644
index 0000000..8dc6688
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/stopInternalLoadBalancerVM.py
@@ -0,0 +1,153 @@
+# 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.
+
+
+"""Stops an Internal LB vm."""
+from baseCmd import *
+from baseResponse import *
+class stopInternalLoadBalancerVMCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the ID of the internal lb vm"""
+        """Required"""
+        self.id = None
+        """Force stop the VM. The caller knows the VM is stopped."""
+        self.forced = None
+        self.required = ["id",]
+
+class stopInternalLoadBalancerVMResponse (baseResponse):
+    def __init__(self):
+        """the id of the router"""
+        self.id = None
+        """the account associated with the router"""
+        self.account = None
+        """the date and time the router was created"""
+        self.created = None
+        """the first DNS for the router"""
+        self.dns1 = None
+        """the second DNS for the router"""
+        self.dns2 = None
+        """the domain associated with the router"""
+        self.domain = None
+        """the domain ID associated with the router"""
+        self.domainid = None
+        """the gateway for the router"""
+        self.gateway = None
+        """the guest IP address for the router"""
+        self.guestipaddress = None
+        """the guest MAC address for the router"""
+        self.guestmacaddress = None
+        """the guest netmask for the router"""
+        self.guestnetmask = None
+        """the ID of the corresponding guest network"""
+        self.guestnetworkid = None
+        """the host ID for the router"""
+        self.hostid = None
+        """the hostname for the router"""
+        self.hostname = None
+        """the first IPv6 DNS for the router"""
+        self.ip6dns1 = None
+        """the second IPv6 DNS for the router"""
+        self.ip6dns2 = None
+        """if this router is an redundant virtual router"""
+        self.isredundantrouter = None
+        """the link local IP address for the router"""
+        self.linklocalip = None
+        """the link local MAC address for the router"""
+        self.linklocalmacaddress = None
+        """the link local netmask for the router"""
+        self.linklocalnetmask = None
+        """the ID of the corresponding link local network"""
+        self.linklocalnetworkid = None
+        """the name of the router"""
+        self.name = None
+        """the network domain for the router"""
+        self.networkdomain = None
+        """the Pod ID for the router"""
+        self.podid = None
+        """the project name of the address"""
+        self.project = None
+        """the project id of the ipaddress"""
+        self.projectid = None
+        """the public IP address for the router"""
+        self.publicip = None
+        """the public MAC address for the router"""
+        self.publicmacaddress = None
+        """the public netmask for the router"""
+        self.publicnetmask = None
+        """the ID of the corresponding public network"""
+        self.publicnetworkid = None
+        """the state of redundant virtual router"""
+        self.redundantstate = None
+        """role of the domain router"""
+        self.role = None
+        """the version of scripts"""
+        self.scriptsversion = 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
+        """the state of the router"""
+        self.state = None
+        """the template ID for the router"""
+        self.templateid = None
+        """the version of template"""
+        self.templateversion = None
+        """VPC the router belongs to"""
+        self.vpcid = None
+        """the Zone ID for the router"""
+        self.zoneid = None
+        """the Zone name for the router"""
+        self.zonename = None
+        """the list of nics associated with the router"""
+        self.nic = []
+
+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
+


Mime
View raw message