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

[27/76] [abbrv] 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/addNicToVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addNicToVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addNicToVirtualMachine.py
new file mode 100644
index 0000000..0385acc
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/addNicToVirtualMachine.py
@@ -0,0 +1,374 @@
+# 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.
+
+
+"""Adds VM to specified network by creating a NIC"""
+from baseCmd import *
+from baseResponse import *
+class addNicToVirtualMachineCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """Network ID"""
+        """Required"""
+        self.networkid = None
+        """Virtual Machine ID"""
+        """Required"""
+        self.virtualmachineid = None
+        """IP Address for the new network"""
+        self.ipaddress = None
+        self.required = ["networkid","virtualmachineid",]
+
+class addNicToVirtualMachineResponse (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/addNiciraNvpDevice.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addNiciraNvpDevice.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addNiciraNvpDevice.py
new file mode 100644
index 0000000..2a1b3b9
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/addNiciraNvpDevice.py
@@ -0,0 +1,60 @@
+# 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.
+
+
+"""Adds a Nicira NVP device"""
+from baseCmd import *
+from baseResponse import *
+class addNiciraNvpDeviceCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """Hostname of ip address of the Nicira NVP Controller."""
+        """Required"""
+        self.hostname = None
+        """Credentials to access the Nicira Controller API"""
+        """Required"""
+        self.password = None
+        """the Physical Network ID"""
+        """Required"""
+        self.physicalnetworkid = None
+        """The Transportzone UUID configured on the Nicira Controller"""
+        """Required"""
+        self.transportzoneuuid = None
+        """Credentials to access the Nicira Controller API"""
+        """Required"""
+        self.username = None
+        """The L3 Gateway Service UUID configured on the Nicira Controller"""
+        self.l3gatewayserviceuuid = None
+        self.required = ["hostname","password","physicalnetworkid","transportzoneuuid","username",]
+
+class addNiciraNvpDeviceResponse (baseResponse):
+    def __init__(self):
+        """the controller Ip address"""
+        self.hostname = None
+        """this L3 gateway service Uuid"""
+        self.l3gatewayserviceuuid = None
+        """device name"""
+        self.niciradevicename = None
+        """device id of the Nicire Nvp"""
+        self.nvpdeviceid = None
+        """the physical network to which this Nirica Nvp belongs to"""
+        self.physicalnetworkid = None
+        """name of the provider"""
+        self.provider = None
+        """the transport zone Uuid"""
+        self.transportzoneuuid = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/addRegion.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addRegion.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addRegion.py
new file mode 100644
index 0000000..31dd483
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/addRegion.py
@@ -0,0 +1,48 @@
+# 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.
+
+
+"""Adds a Region"""
+from baseCmd import *
+from baseResponse import *
+class addRegionCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """Id of the Region"""
+        """Required"""
+        self.id = None
+        """Region service endpoint"""
+        """Required"""
+        self.endpoint = None
+        """Name of the region"""
+        """Required"""
+        self.name = None
+        self.required = ["id","endpoint","name",]
+
+class addRegionResponse (baseResponse):
+    def __init__(self):
+        """the ID of the region"""
+        self.id = None
+        """the end point of the region"""
+        self.endpoint = None
+        """true if GSLB service is enabled in the region, false otherwise"""
+        self.gslbserviceenabled = None
+        """the name of the region"""
+        self.name = None
+        """true if security groups support is enabled, false otherwise"""
+        self.portableipserviceenabled = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/addResourceDetail.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addResourceDetail.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addResourceDetail.py
new file mode 100644
index 0000000..d5f514b
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/addResourceDetail.py
@@ -0,0 +1,42 @@
+# 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.
+
+
+"""Adds detail for the Resource."""
+from baseCmd import *
+from baseResponse import *
+class addResourceDetailCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """Map of (key/value pairs)"""
+        """Required"""
+        self.details = []
+        """resource id to create the details for"""
+        """Required"""
+        self.resourceid = None
+        """type of the resource"""
+        """Required"""
+        self.resourcetype = None
+        self.required = ["details","resourceid","resourcetype",]
+
+class addResourceDetailResponse (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/addS3.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addS3.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addS3.py
new file mode 100644
index 0000000..18a4eb6
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/addS3.py
@@ -0,0 +1,66 @@
+# 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.
+
+
+"""Adds S3"""
+from baseCmd import *
+from baseResponse import *
+class addS3Cmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """S3 access key"""
+        """Required"""
+        self.accesskey = None
+        """name of the template storage bucket"""
+        """Required"""
+        self.bucket = None
+        """S3 secret key"""
+        """Required"""
+        self.secretkey = None
+        """connection timeout (milliseconds)"""
+        self.connectiontimeout = None
+        """S3 host name"""
+        self.endpoint = None
+        """maximum number of times to retry on error"""
+        self.maxerrorretry = None
+        """socket timeout (milliseconds)"""
+        self.sockettimeout = None
+        """connect to the S3 endpoint via HTTPS?"""
+        self.usehttps = None
+        self.required = ["accesskey","bucket","secretkey",]
+
+class addS3Response (baseResponse):
+    def __init__(self):
+        """the ID of the image store"""
+        self.id = None
+        """the details of the image store"""
+        self.details = None
+        """the name of the image store"""
+        self.name = None
+        """the protocol of the image store"""
+        self.protocol = None
+        """the provider name of the image store"""
+        self.providername = None
+        """the scope of the image store"""
+        self.scope = None
+        """the url of the image store"""
+        self.url = None
+        """the Zone ID of the image store"""
+        self.zoneid = None
+        """the Zone name of the image store"""
+        self.zonename = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/addSecondaryStorage.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addSecondaryStorage.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addSecondaryStorage.py
new file mode 100644
index 0000000..1e112ff
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/addSecondaryStorage.py
@@ -0,0 +1,52 @@
+# 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.
+
+
+"""Adds secondary storage."""
+from baseCmd import *
+from baseResponse import *
+class addSecondaryStorageCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """the URL for the secondary storage"""
+        """Required"""
+        self.url = None
+        """the Zone ID for the secondary storage"""
+        self.zoneid = None
+        self.required = ["url",]
+
+class addSecondaryStorageResponse (baseResponse):
+    def __init__(self):
+        """the ID of the image store"""
+        self.id = None
+        """the details of the image store"""
+        self.details = None
+        """the name of the image store"""
+        self.name = None
+        """the protocol of the image store"""
+        self.protocol = None
+        """the provider name of the image store"""
+        self.providername = None
+        """the scope of the image store"""
+        self.scope = None
+        """the url of the image store"""
+        self.url = None
+        """the Zone ID of the image store"""
+        self.zoneid = None
+        """the Zone name of the image store"""
+        self.zonename = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/addSwift.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addSwift.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addSwift.py
new file mode 100644
index 0000000..1fe435b
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/addSwift.py
@@ -0,0 +1,56 @@
+# 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.
+
+
+"""Adds Swift."""
+from baseCmd import *
+from baseResponse import *
+class addSwiftCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """the URL for swift"""
+        """Required"""
+        self.url = None
+        """the account for swift"""
+        self.account = None
+        """key for the user for swift"""
+        self.key = None
+        """the username for swift"""
+        self.username = None
+        self.required = ["url",]
+
+class addSwiftResponse (baseResponse):
+    def __init__(self):
+        """the ID of the image store"""
+        self.id = None
+        """the details of the image store"""
+        self.details = None
+        """the name of the image store"""
+        self.name = None
+        """the protocol of the image store"""
+        self.protocol = None
+        """the provider name of the image store"""
+        self.providername = None
+        """the scope of the image store"""
+        self.scope = None
+        """the url of the image store"""
+        self.url = None
+        """the Zone ID of the image store"""
+        self.zoneid = None
+        """the Zone name of the image store"""
+        self.zonename = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficMonitor.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficMonitor.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficMonitor.py
new file mode 100644
index 0000000..292e577
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficMonitor.py
@@ -0,0 +1,49 @@
+# 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.
+
+
+"""Adds Traffic Monitor Host for Direct Network Usage"""
+from baseCmd import *
+from baseResponse import *
+class addTrafficMonitorCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """URL of the traffic monitor Host"""
+        """Required"""
+        self.url = None
+        """Zone in which to add the external firewall appliance."""
+        """Required"""
+        self.zoneid = None
+        """Traffic going into the listed zones will not be metered"""
+        self.excludezones = None
+        """Traffic going into the listed zones will be metered"""
+        self.includezones = None
+        self.required = ["url","zoneid",]
+
+class addTrafficMonitorResponse (baseResponse):
+    def __init__(self):
+        """the ID of the external firewall"""
+        self.id = None
+        """the management IP address of the external firewall"""
+        self.ipaddress = None
+        """the number of times to retry requests to the external firewall"""
+        self.numretries = None
+        """the timeout (in seconds) for requests to the external firewall"""
+        self.timeout = None
+        """the zone ID of the external firewall"""
+        self.zoneid = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficType.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficType.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficType.py
new file mode 100644
index 0000000..5da6f55
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/addTrafficType.py
@@ -0,0 +1,55 @@
+# 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.
+
+
+"""Adds traffic type to a physical network"""
+from baseCmd import *
+from baseResponse import *
+class addTrafficTypeCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the Physical Network ID"""
+        """Required"""
+        self.physicalnetworkid = None
+        """the trafficType to be added to the physical network"""
+        """Required"""
+        self.traffictype = None
+        """The network name label of the physical device dedicated to this traffic on a KVM host"""
+        self.kvmnetworklabel = None
+        """The VLAN id to be used for Management traffic by VMware host"""
+        self.vlan = None
+        """The network name label of the physical device dedicated to this traffic on a VMware host"""
+        self.vmwarenetworklabel = None
+        """The network name label of the physical device dedicated to this traffic on a XenServer host"""
+        self.xennetworklabel = None
+        self.required = ["physicalnetworkid","traffictype",]
+
+class addTrafficTypeResponse (baseResponse):
+    def __init__(self):
+        """id of the network provider"""
+        self.id = None
+        """The network name label of the physical device dedicated to this traffic on a KVM host"""
+        self.kvmnetworklabel = None
+        """the physical network this belongs to"""
+        self.physicalnetworkid = None
+        """the trafficType to be added to the physical network"""
+        self.traffictype = None
+        """The network name label of the physical device dedicated to this traffic on a VMware host"""
+        self.vmwarenetworklabel = None
+        """The network name label of the physical device dedicated to this traffic on a XenServer host"""
+        self.xennetworklabel = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/addUcsManager.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addUcsManager.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addUcsManager.py
new file mode 100644
index 0000000..43ce10c
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/addUcsManager.py
@@ -0,0 +1,51 @@
+# 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.
+
+
+"""Adds a Ucs manager"""
+from baseCmd import *
+from baseResponse import *
+class addUcsManagerCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """the password of UCS"""
+        """Required"""
+        self.password = None
+        """the name of UCS url"""
+        """Required"""
+        self.url = None
+        """the username of UCS"""
+        """Required"""
+        self.username = None
+        """the Zone id for the ucs manager"""
+        """Required"""
+        self.zoneid = None
+        """the name of UCS manager"""
+        self.name = None
+        self.required = ["password","url","username","zoneid",]
+
+class addUcsManagerResponse (baseResponse):
+    def __init__(self):
+        """the ID of the ucs manager"""
+        self.id = None
+        """the name of ucs manager"""
+        self.name = None
+        """the url of ucs manager"""
+        self.url = None
+        """the zone ID of ucs manager"""
+        self.zoneid = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/addVpnUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/addVpnUser.py b/tools/marvin/build/lib/marvin/cloudstackAPI/addVpnUser.py
new file mode 100644
index 0000000..e5ef586
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/addVpnUser.py
@@ -0,0 +1,57 @@
+# 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.
+
+
+"""Adds vpn users"""
+from baseCmd import *
+from baseResponse import *
+class addVpnUserCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """password for the username"""
+        """Required"""
+        self.password = None
+        """username for the vpn user"""
+        """Required"""
+        self.username = None
+        """an optional account for the vpn user. Must be used with domainId."""
+        self.account = None
+        """an optional domainId for the vpn user. If the account parameter is used, domainId must also be used."""
+        self.domainid = None
+        """add vpn user to the specific project"""
+        self.projectid = None
+        self.required = ["password","username",]
+
+class addVpnUserResponse (baseResponse):
+    def __init__(self):
+        """the vpn userID"""
+        self.id = None
+        """the account of the remote access vpn"""
+        self.account = None
+        """the domain name of the account of the remote access vpn"""
+        self.domain = None
+        """the domain id of the account of the remote access vpn"""
+        self.domainid = None
+        """the project name of the vpn"""
+        self.project = None
+        """the project id of the vpn"""
+        self.projectid = None
+        """the state of the Vpn User"""
+        self.state = None
+        """the username of the vpn user"""
+        self.username = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/archiveAlerts.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/archiveAlerts.py b/tools/marvin/build/lib/marvin/cloudstackAPI/archiveAlerts.py
new file mode 100644
index 0000000..c02e125
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/archiveAlerts.py
@@ -0,0 +1,41 @@
+# 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.
+
+
+"""Archive one or more alerts."""
+from baseCmd import *
+from baseResponse import *
+class archiveAlertsCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """end date range to archive alerts (including) this date (use format "yyyy-MM-dd" or the new format "yyyy-MM-ddThh:mm:ss")"""
+        self.enddate = None
+        """the IDs of the alerts"""
+        self.ids = []
+        """start date range to archive alerts (including) this date (use format "yyyy-MM-dd" or the new format "yyyy-MM-ddThh:mm:ss")"""
+        self.startdate = None
+        """archive by alert type"""
+        self.type = None
+        self.required = []
+
+class archiveAlertsResponse (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/archiveEvents.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/archiveEvents.py b/tools/marvin/build/lib/marvin/cloudstackAPI/archiveEvents.py
new file mode 100644
index 0000000..7a9dd57
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/archiveEvents.py
@@ -0,0 +1,41 @@
+# 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.
+
+
+"""Archive one or more events."""
+from baseCmd import *
+from baseResponse import *
+class archiveEventsCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """end date range to archive events (including) this date (use format "yyyy-MM-dd" or the new format "yyyy-MM-ddThh:mm:ss")"""
+        self.enddate = None
+        """the IDs of the events"""
+        self.ids = []
+        """start date range to archive events (including) this date (use format "yyyy-MM-dd" or the new format "yyyy-MM-ddThh:mm:ss")"""
+        self.startdate = None
+        """archive by event type"""
+        self.type = None
+        self.required = []
+
+class archiveEventsResponse (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/assignToGlobalLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/assignToGlobalLoadBalancerRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/assignToGlobalLoadBalancerRule.py
new file mode 100644
index 0000000..f007143
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/assignToGlobalLoadBalancerRule.py
@@ -0,0 +1,41 @@
+# 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.
+
+
+"""Assign load balancer rule or list of load balancer rules to a global load balancer rules."""
+from baseCmd import *
+from baseResponse import *
+class assignToGlobalLoadBalancerRuleCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the ID of the global load balancer rule"""
+        """Required"""
+        self.id = None
+        """the list load balancer rules that will be assigned to gloabal load balacner rule"""
+        """Required"""
+        self.loadbalancerrulelist = []
+        """Map of LB rule id's and corresponding weights (between 1-100) in the GSLB rule, if not specified weight of a LB rule is defaulted to 1. Specified as 'gslblbruleweightsmap[0].loadbalancerid=UUID&gslblbruleweightsmap[0].weight=10'"""
+        self.gslblbruleweightsmap = []
+        self.required = ["id","loadbalancerrulelist",]
+
+class assignToGlobalLoadBalancerRuleResponse (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/assignToLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/assignToLoadBalancerRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/assignToLoadBalancerRule.py
new file mode 100644
index 0000000..56901e8
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/assignToLoadBalancerRule.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.
+
+
+"""Assigns virtual machine or a list of virtual machines to a load balancer rule."""
+from baseCmd import *
+from baseResponse import *
+class assignToLoadBalancerRuleCmd (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 machine that are being assigned to the load balancer rule(i.e. virtualMachineIds=1,2,3)"""
+        """Required"""
+        self.virtualmachineids = []
+        self.required = ["id","virtualmachineids",]
+
+class assignToLoadBalancerRuleResponse (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/assignVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/assignVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/assignVirtualMachine.py
new file mode 100644
index 0000000..e193c0e
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/assignVirtualMachine.py
@@ -0,0 +1,379 @@
+# 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.
+
+
+"""Change ownership of a VM from one account to another. This API is available for Basic zones with security groups and Advanced zones with guest networks. A root administrator can reassign a VM from any account to any other account in any domain. A domain administrator can reassign a VM to any account in the same domain."""
+from baseCmd import *
+from baseResponse import *
+class assignVirtualMachineCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """account name of the new VM owner."""
+        """Required"""
+        self.account = None
+        """domain id of the new VM owner."""
+        """Required"""
+        self.domainid = None
+        """id of the VM to be moved"""
+        """Required"""
+        self.virtualmachineid = None
+        """list of new network ids in which the moved VM will participate. In case no network ids are provided the VM will be part of the default network for that zone. In case there is no network yet created for the new account the default network will be created."""
+        self.networkids = []
+        """list of security group ids to be applied on the virtual machine. In case no security groups are provided the VM is part of the default security group."""
+        self.securitygroupids = []
+        self.required = ["account","domainid","virtualmachineid",]
+
+class assignVirtualMachineResponse (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/associateIpAddress.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/associateIpAddress.py b/tools/marvin/build/lib/marvin/cloudstackAPI/associateIpAddress.py
new file mode 100644
index 0000000..acf5e5f
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/associateIpAddress.py
@@ -0,0 +1,130 @@
+# 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.
+
+
+"""Acquires and associates a public IP to an account."""
+from baseCmd import *
+from baseResponse import *
+class associateIpAddressCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the account to associate with this IP address"""
+        self.account = None
+        """the ID of the domain to associate with this IP address"""
+        self.domainid = None
+        """should be set to true if public IP is required to be transferable across zones, if not specified defaults to false"""
+        self.isportable = None
+        """The network this ip address should be associated to."""
+        self.networkid = None
+        """Deploy vm for the project"""
+        self.projectid = None
+        """region ID from where portable ip is to be associated."""
+        self.regionid = None
+        """the VPC you want the ip address to be associated with"""
+        self.vpcid = None
+        """the ID of the availability zone you want to acquire an public IP address from"""
+        self.zoneid = None
+        self.required = []
+
+class associateIpAddressResponse (baseResponse):
+    def __init__(self):
+        """public IP address id"""
+        self.id = None
+        """the account the public IP address is associated with"""
+        self.account = None
+        """date the public IP address was acquired"""
+        self.allocated = None
+        """the ID of the Network associated with the IP address"""
+        self.associatednetworkid = None
+        """the name of the Network associated with the IP address"""
+        self.associatednetworkname = None
+        """the domain the public IP address is associated with"""
+        self.domain = None
+        """the domain ID the public IP address is associated with"""
+        self.domainid = None
+        """the virtual network for the IP address"""
+        self.forvirtualnetwork = None
+        """public IP address"""
+        self.ipaddress = None
+        """is public IP portable across the zones"""
+        self.isportable = None
+        """true if the IP address is a source nat address, false otherwise"""
+        self.issourcenat = None
+        """true if this ip is for static nat, false otherwise"""
+        self.isstaticnat = None
+        """true if this ip is system ip (was allocated as a part of deployVm or createLbRule)"""
+        self.issystem = None
+        """the ID of the Network where ip belongs to"""
+        self.networkid = None
+        """the physical network this belongs to"""
+        self.physicalnetworkid = None
+        """the project name of the address"""
+        self.project = None
+        """the project id of the ipaddress"""
+        self.projectid = None
+        """purpose of the IP address. In Acton this value is not null for Ips with isSystem=true, and can have either StaticNat or LB value"""
+        self.purpose = None
+        """State of the ip address. Can be: Allocatin, Allocated and Releasing"""
+        self.state = None
+        """virutal machine display name the ip address is assigned to (not null only for static nat Ip)"""
+        self.virtualmachinedisplayname = None
+        """virutal machine id the ip address is assigned to (not null only for static nat Ip)"""
+        self.virtualmachineid = None
+        """virutal machine name the ip address is assigned to (not null only for static nat Ip)"""
+        self.virtualmachinename = None
+        """the ID of the VLAN associated with the IP address. This parameter is visible to ROOT admins only"""
+        self.vlanid = None
+        """the VLAN associated with the IP address"""
+        self.vlanname = None
+        """virutal machine (dnat) ip address (not null only for static nat Ip)"""
+        self.vmipaddress = None
+        """VPC the ip belongs to"""
+        self.vpcid = None
+        """the ID of the zone the public IP address belongs to"""
+        self.zoneid = None
+        """the name of the zone the public IP address belongs to"""
+        self.zonename = None
+        """the list of resource tags associated with ip address"""
+        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/associateUcsProfileToBlade.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/associateUcsProfileToBlade.py b/tools/marvin/build/lib/marvin/cloudstackAPI/associateUcsProfileToBlade.py
new file mode 100644
index 0000000..62d30c3
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/associateUcsProfileToBlade.py
@@ -0,0 +1,48 @@
+# 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.
+
+
+"""associate a profile to a blade"""
+from baseCmd import *
+from baseResponse import *
+class associateUcsProfileToBladeCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """blade id"""
+        """Required"""
+        self.bladeid = None
+        """profile dn"""
+        """Required"""
+        self.profiledn = None
+        """ucs manager id"""
+        """Required"""
+        self.ucsmanagerid = None
+        self.required = ["bladeid","profiledn","ucsmanagerid",]
+
+class associateUcsProfileToBladeResponse (baseResponse):
+    def __init__(self):
+        """ucs blade id"""
+        self.id = None
+        """ucs blade dn"""
+        self.bladedn = None
+        """cloudstack host id this blade associates to"""
+        self.hostid = None
+        """associated ucs profile dn"""
+        self.profiledn = None
+        """ucs manager id"""
+        self.ucsmanagerid = None
+