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:35 UTC
[19/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/destroyVirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/destroyVirtualMachine.py b/tools/marvin/build/lib/marvin/cloudstackAPI/destroyVirtualMachine.py
new file mode 100644
index 0000000..6a33ce0
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/destroyVirtualMachine.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.
+
+
+"""Destroys a virtual machine. Once destroyed, only the administrator can recover it."""
+from baseCmd import *
+from baseResponse import *
+class destroyVirtualMachineCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """The ID of the virtual machine"""
+ """Required"""
+ self.id = None
+ self.required = ["id",]
+
+class destroyVirtualMachineResponse (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/detachIso.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/detachIso.py b/tools/marvin/build/lib/marvin/cloudstackAPI/detachIso.py
new file mode 100644
index 0000000..d445d51
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/detachIso.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.
+
+
+"""Detaches any ISO file (if any) currently attached to a virtual machine."""
+from baseCmd import *
+from baseResponse import *
+class detachIsoCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """The ID of the virtual machine"""
+ """Required"""
+ self.virtualmachineid = None
+ self.required = ["virtualmachineid",]
+
+class detachIsoResponse (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/detachVolume.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/detachVolume.py b/tools/marvin/build/lib/marvin/cloudstackAPI/detachVolume.py
new file mode 100644
index 0000000..31e1c9a
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/detachVolume.py
@@ -0,0 +1,146 @@
+# 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.
+
+
+"""Detaches a disk volume from a virtual machine."""
+from baseCmd import *
+from baseResponse import *
+class detachVolumeCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the device ID on the virtual machine where volume is detached from"""
+ self.deviceid = None
+ """the ID of the disk volume"""
+ self.id = None
+ """the ID of the virtual machine where the volume is detached from"""
+ self.virtualmachineid = None
+ self.required = []
+
+class detachVolumeResponse (baseResponse):
+ def __init__(self):
+ """ID of the disk volume"""
+ self.id = None
+ """the account associated with the disk volume"""
+ self.account = None
+ """the date the volume was attached to a VM instance"""
+ self.attached = None
+ """the date the disk volume was created"""
+ self.created = None
+ """the boolean state of whether the volume is destroyed or not"""
+ self.destroyed = None
+ """the ID of the device on user vm the volume is attahed to. This tag is not returned when the volume is detached."""
+ self.deviceid = None
+ """bytes read rate of the disk volume"""
+ self.diskBytesReadRate = None
+ """bytes write rate of the disk volume"""
+ self.diskBytesWriteRate = None
+ """io requests read rate of the disk volume"""
+ self.diskIopsReadRate = None
+ """io requests write rate of the disk volume"""
+ self.diskIopsWriteRate = None
+ """the display text of the disk offering"""
+ self.diskofferingdisplaytext = None
+ """ID of the disk offering"""
+ self.diskofferingid = None
+ """name of the disk offering"""
+ self.diskofferingname = None
+ """an optional field whether to the display the volume to the end user or not."""
+ self.displayvolume = None
+ """the domain associated with the disk volume"""
+ self.domain = None
+ """the ID of the domain associated with the disk volume"""
+ self.domainid = None
+ """Hypervisor the volume belongs to"""
+ self.hypervisor = None
+ """true if the volume is extractable, false otherwise"""
+ self.isextractable = None
+ """max iops of the disk volume"""
+ self.maxiops = None
+ """min iops of the disk volume"""
+ self.miniops = None
+ """name of the disk volume"""
+ self.name = None
+ """The path of the volume"""
+ self.path = None
+ """the project name of the vpn"""
+ self.project = None
+ """the project id of the vpn"""
+ self.projectid = None
+ """the display text of the service offering for root disk"""
+ self.serviceofferingdisplaytext = None
+ """ID of the service offering for root disk"""
+ self.serviceofferingid = None
+ """name of the service offering for root disk"""
+ self.serviceofferingname = None
+ """size of the disk volume"""
+ self.size = None
+ """ID of the snapshot from which this volume was created"""
+ self.snapshotid = None
+ """the state of the disk volume"""
+ self.state = None
+ """the status of the volume"""
+ self.status = None
+ """name of the primary storage hosting the disk volume"""
+ self.storage = None
+ """id of the primary storage hosting the disk volume; returned to admin user only"""
+ self.storageid = None
+ """shared or local storage"""
+ self.storagetype = None
+ """type of the disk volume (ROOT or DATADISK)"""
+ self.type = None
+ """id of the virtual machine"""
+ self.virtualmachineid = None
+ """display name of the virtual machine"""
+ self.vmdisplayname = None
+ """name of the virtual machine"""
+ self.vmname = None
+ """state of the virtual machine"""
+ self.vmstate = None
+ """ID of the availability zone"""
+ self.zoneid = None
+ """name of the availability zone"""
+ self.zonename = None
+ """the list of resource tags associated with volume"""
+ 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/disableAccount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/disableAccount.py b/tools/marvin/build/lib/marvin/cloudstackAPI/disableAccount.py
new file mode 100644
index 0000000..b8d513a
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/disableAccount.py
@@ -0,0 +1,179 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Disables an account"""
+from baseCmd import *
+from baseResponse import *
+class disableAccountCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """If true, only lock the account; else disable the account"""
+ """Required"""
+ self.lock = None
+ """Disables specified account."""
+ self.account = None
+ """Disables specified account in this domain."""
+ self.domainid = None
+ """Account id"""
+ self.id = None
+ self.required = ["lock",]
+
+class disableAccountResponse (baseResponse):
+ def __init__(self):
+ """the id of the account"""
+ self.id = None
+ """details for the account"""
+ self.accountdetails = None
+ """account type (admin, domain-admin, user)"""
+ self.accounttype = None
+ """the total number of cpu cores available to be created for this account"""
+ self.cpuavailable = None
+ """the total number of cpu cores the account can own"""
+ self.cpulimit = None
+ """the total number of cpu cores owned by account"""
+ self.cputotal = None
+ """the default zone of the account"""
+ self.defaultzoneid = None
+ """name of the Domain the account belongs too"""
+ self.domain = None
+ """id of the Domain the account belongs too"""
+ self.domainid = None
+ """the total number of public ip addresses available for this account to acquire"""
+ self.ipavailable = None
+ """the total number of public ip addresses this account can acquire"""
+ self.iplimit = None
+ """the total number of public ip addresses allocated for this account"""
+ self.iptotal = None
+ """true if the account requires cleanup"""
+ self.iscleanuprequired = None
+ """true if account is default, false otherwise"""
+ self.isdefault = None
+ """the total memory (in MB) available to be created for this account"""
+ self.memoryavailable = None
+ """the total memory (in MB) the account can own"""
+ self.memorylimit = None
+ """the total memory (in MB) owned by account"""
+ self.memorytotal = None
+ """the name of the account"""
+ self.name = None
+ """the total number of networks available to be created for this account"""
+ self.networkavailable = None
+ """the network domain"""
+ self.networkdomain = None
+ """the total number of networks the account can own"""
+ self.networklimit = None
+ """the total number of networks owned by account"""
+ self.networktotal = None
+ """the total primary storage space (in GiB) available to be used for this account"""
+ self.primarystorageavailable = None
+ """the total primary storage space (in GiB) the account can own"""
+ self.primarystoragelimit = None
+ """the total primary storage space (in GiB) owned by account"""
+ self.primarystoragetotal = None
+ """the total number of projects available for administration by this account"""
+ self.projectavailable = None
+ """the total number of projects the account can own"""
+ self.projectlimit = None
+ """the total number of projects being administrated by this account"""
+ self.projecttotal = None
+ """the total number of network traffic bytes received"""
+ self.receivedbytes = None
+ """the total secondary storage space (in GiB) available to be used for this account"""
+ self.secondarystorageavailable = None
+ """the total secondary storage space (in GiB) the account can own"""
+ self.secondarystoragelimit = None
+ """the total secondary storage space (in GiB) owned by account"""
+ self.secondarystoragetotal = None
+ """the total number of network traffic bytes sent"""
+ self.sentbytes = None
+ """the total number of snapshots available for this account"""
+ self.snapshotavailable = None
+ """the total number of snapshots which can be stored by this account"""
+ self.snapshotlimit = None
+ """the total number of snapshots stored by this account"""
+ self.snapshottotal = None
+ """the state of the account"""
+ self.state = None
+ """the total number of templates available to be created by this account"""
+ self.templateavailable = None
+ """the total number of templates which can be created by this account"""
+ self.templatelimit = None
+ """the total number of templates which have been created by this account"""
+ self.templatetotal = None
+ """the total number of virtual machines available for this account to acquire"""
+ self.vmavailable = None
+ """the total number of virtual machines that can be deployed by this account"""
+ self.vmlimit = None
+ """the total number of virtual machines running for this account"""
+ self.vmrunning = None
+ """the total number of virtual machines stopped for this account"""
+ self.vmstopped = None
+ """the total number of virtual machines deployed by this account"""
+ self.vmtotal = None
+ """the total volume available for this account"""
+ self.volumeavailable = None
+ """the total volume which can be used by this account"""
+ self.volumelimit = None
+ """the total volume being used by this account"""
+ self.volumetotal = None
+ """the total number of vpcs available to be created for this account"""
+ self.vpcavailable = None
+ """the total number of vpcs the account can own"""
+ self.vpclimit = None
+ """the total number of vpcs owned by account"""
+ self.vpctotal = None
+ """the list of users associated with account"""
+ self.user = []
+
+class user:
+ def __init__(self):
+ """"the user ID"""
+ self.id = None
+ """"the account name of the user"""
+ self.account = None
+ """"the account ID of the user"""
+ self.accountid = None
+ """"the account type of the user"""
+ self.accounttype = None
+ """"the api key of the user"""
+ self.apikey = None
+ """"the date and time the user account was created"""
+ self.created = None
+ """"the domain name of the user"""
+ self.domain = None
+ """"the domain ID of the user"""
+ self.domainid = None
+ """"the user email address"""
+ self.email = None
+ """"the user firstname"""
+ self.firstname = None
+ """"the boolean value representing if the updating target is in caller's child domain"""
+ self.iscallerchilddomain = None
+ """"true if user is default, false otherwise"""
+ self.isdefault = None
+ """"the user lastname"""
+ self.lastname = None
+ """"the secret key of the user"""
+ self.secretkey = None
+ """"the user state"""
+ self.state = None
+ """"the timezone user was created in"""
+ self.timezone = None
+ """"the user name"""
+ self.username = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/disableAutoScaleVmGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/disableAutoScaleVmGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/disableAutoScaleVmGroup.py
new file mode 100644
index 0000000..5b455a3
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/disableAutoScaleVmGroup.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.
+
+
+"""Disables an AutoScale Vm Group"""
+from baseCmd import *
+from baseResponse import *
+class disableAutoScaleVmGroupCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the ID of the autoscale group"""
+ """Required"""
+ self.id = None
+ self.required = ["id",]
+
+class disableAutoScaleVmGroupResponse (baseResponse):
+ def __init__(self):
+ """the autoscale vm group ID"""
+ self.id = None
+ """the account owning the instance group"""
+ self.account = None
+ """the domain name of the vm profile"""
+ self.domain = None
+ """the domain ID of the vm profile"""
+ self.domainid = None
+ """the frequency at which the conditions have to be evaluated"""
+ self.interval = None
+ """the load balancer rule ID"""
+ self.lbruleid = None
+ """the maximum number of members in the vmgroup, The number of instances in the vm group will be equal to or less than this number."""
+ self.maxmembers = None
+ """the minimum number of members in the vmgroup, the number of instances in the vm group will be equal to or more than this number."""
+ self.minmembers = None
+ """the project name of the vm profile"""
+ self.project = None
+ """the project id vm profile"""
+ self.projectid = None
+ """list of scaledown autoscale policies"""
+ self.scaledownpolicies = None
+ """list of scaleup autoscale policies"""
+ self.scaleuppolicies = None
+ """the current state of the AutoScale Vm Group"""
+ self.state = None
+ """the autoscale profile that contains information about the vms in the vm group."""
+ self.vmprofileid = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/disableStaticNat.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/disableStaticNat.py b/tools/marvin/build/lib/marvin/cloudstackAPI/disableStaticNat.py
new file mode 100644
index 0000000..611dc3f
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/disableStaticNat.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.
+
+
+"""Disables static rule for given ip address"""
+from baseCmd import *
+from baseResponse import *
+class disableStaticNatCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the public IP address id for which static nat feature is being disableed"""
+ """Required"""
+ self.ipaddressid = None
+ self.required = ["ipaddressid",]
+
+class disableStaticNatResponse (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/disableUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/disableUser.py b/tools/marvin/build/lib/marvin/cloudstackAPI/disableUser.py
new file mode 100644
index 0000000..4d21760
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/disableUser.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.
+
+
+"""Disables a user account"""
+from baseCmd import *
+from baseResponse import *
+class disableUserCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """Disables user by user ID."""
+ """Required"""
+ self.id = None
+ self.required = ["id",]
+
+class disableUserResponse (baseResponse):
+ def __init__(self):
+ """the user ID"""
+ self.id = None
+ """the account name of the user"""
+ self.account = None
+ """the account ID of the user"""
+ self.accountid = None
+ """the account type of the user"""
+ self.accounttype = None
+ """the api key of the user"""
+ self.apikey = None
+ """the date and time the user account was created"""
+ self.created = None
+ """the domain name of the user"""
+ self.domain = None
+ """the domain ID of the user"""
+ self.domainid = None
+ """the user email address"""
+ self.email = None
+ """the user firstname"""
+ self.firstname = None
+ """the boolean value representing if the updating target is in caller's child domain"""
+ self.iscallerchilddomain = None
+ """true if user is default, false otherwise"""
+ self.isdefault = None
+ """the user lastname"""
+ self.lastname = None
+ """the secret key of the user"""
+ self.secretkey = None
+ """the user state"""
+ self.state = None
+ """the timezone user was created in"""
+ self.timezone = None
+ """the user name"""
+ self.username = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/disassociateIpAddress.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/disassociateIpAddress.py b/tools/marvin/build/lib/marvin/cloudstackAPI/disassociateIpAddress.py
new file mode 100644
index 0000000..099401a
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/disassociateIpAddress.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.
+
+
+"""Disassociates an ip address from the account."""
+from baseCmd import *
+from baseResponse import *
+class disassociateIpAddressCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the id of the public ip address to disassociate"""
+ """Required"""
+ self.id = None
+ self.required = ["id",]
+
+class disassociateIpAddressResponse (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/enableAccount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/enableAccount.py b/tools/marvin/build/lib/marvin/cloudstackAPI/enableAccount.py
new file mode 100644
index 0000000..b9099d6
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/enableAccount.py
@@ -0,0 +1,176 @@
+# 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.
+
+
+"""Enables an account"""
+from baseCmd import *
+from baseResponse import *
+class enableAccountCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """Enables specified account."""
+ self.account = None
+ """Enables specified account in this domain."""
+ self.domainid = None
+ """Account id"""
+ self.id = None
+ self.required = []
+
+class enableAccountResponse (baseResponse):
+ def __init__(self):
+ """the id of the account"""
+ self.id = None
+ """details for the account"""
+ self.accountdetails = None
+ """account type (admin, domain-admin, user)"""
+ self.accounttype = None
+ """the total number of cpu cores available to be created for this account"""
+ self.cpuavailable = None
+ """the total number of cpu cores the account can own"""
+ self.cpulimit = None
+ """the total number of cpu cores owned by account"""
+ self.cputotal = None
+ """the default zone of the account"""
+ self.defaultzoneid = None
+ """name of the Domain the account belongs too"""
+ self.domain = None
+ """id of the Domain the account belongs too"""
+ self.domainid = None
+ """the total number of public ip addresses available for this account to acquire"""
+ self.ipavailable = None
+ """the total number of public ip addresses this account can acquire"""
+ self.iplimit = None
+ """the total number of public ip addresses allocated for this account"""
+ self.iptotal = None
+ """true if the account requires cleanup"""
+ self.iscleanuprequired = None
+ """true if account is default, false otherwise"""
+ self.isdefault = None
+ """the total memory (in MB) available to be created for this account"""
+ self.memoryavailable = None
+ """the total memory (in MB) the account can own"""
+ self.memorylimit = None
+ """the total memory (in MB) owned by account"""
+ self.memorytotal = None
+ """the name of the account"""
+ self.name = None
+ """the total number of networks available to be created for this account"""
+ self.networkavailable = None
+ """the network domain"""
+ self.networkdomain = None
+ """the total number of networks the account can own"""
+ self.networklimit = None
+ """the total number of networks owned by account"""
+ self.networktotal = None
+ """the total primary storage space (in GiB) available to be used for this account"""
+ self.primarystorageavailable = None
+ """the total primary storage space (in GiB) the account can own"""
+ self.primarystoragelimit = None
+ """the total primary storage space (in GiB) owned by account"""
+ self.primarystoragetotal = None
+ """the total number of projects available for administration by this account"""
+ self.projectavailable = None
+ """the total number of projects the account can own"""
+ self.projectlimit = None
+ """the total number of projects being administrated by this account"""
+ self.projecttotal = None
+ """the total number of network traffic bytes received"""
+ self.receivedbytes = None
+ """the total secondary storage space (in GiB) available to be used for this account"""
+ self.secondarystorageavailable = None
+ """the total secondary storage space (in GiB) the account can own"""
+ self.secondarystoragelimit = None
+ """the total secondary storage space (in GiB) owned by account"""
+ self.secondarystoragetotal = None
+ """the total number of network traffic bytes sent"""
+ self.sentbytes = None
+ """the total number of snapshots available for this account"""
+ self.snapshotavailable = None
+ """the total number of snapshots which can be stored by this account"""
+ self.snapshotlimit = None
+ """the total number of snapshots stored by this account"""
+ self.snapshottotal = None
+ """the state of the account"""
+ self.state = None
+ """the total number of templates available to be created by this account"""
+ self.templateavailable = None
+ """the total number of templates which can be created by this account"""
+ self.templatelimit = None
+ """the total number of templates which have been created by this account"""
+ self.templatetotal = None
+ """the total number of virtual machines available for this account to acquire"""
+ self.vmavailable = None
+ """the total number of virtual machines that can be deployed by this account"""
+ self.vmlimit = None
+ """the total number of virtual machines running for this account"""
+ self.vmrunning = None
+ """the total number of virtual machines stopped for this account"""
+ self.vmstopped = None
+ """the total number of virtual machines deployed by this account"""
+ self.vmtotal = None
+ """the total volume available for this account"""
+ self.volumeavailable = None
+ """the total volume which can be used by this account"""
+ self.volumelimit = None
+ """the total volume being used by this account"""
+ self.volumetotal = None
+ """the total number of vpcs available to be created for this account"""
+ self.vpcavailable = None
+ """the total number of vpcs the account can own"""
+ self.vpclimit = None
+ """the total number of vpcs owned by account"""
+ self.vpctotal = None
+ """the list of users associated with account"""
+ self.user = []
+
+class user:
+ def __init__(self):
+ """"the user ID"""
+ self.id = None
+ """"the account name of the user"""
+ self.account = None
+ """"the account ID of the user"""
+ self.accountid = None
+ """"the account type of the user"""
+ self.accounttype = None
+ """"the api key of the user"""
+ self.apikey = None
+ """"the date and time the user account was created"""
+ self.created = None
+ """"the domain name of the user"""
+ self.domain = None
+ """"the domain ID of the user"""
+ self.domainid = None
+ """"the user email address"""
+ self.email = None
+ """"the user firstname"""
+ self.firstname = None
+ """"the boolean value representing if the updating target is in caller's child domain"""
+ self.iscallerchilddomain = None
+ """"true if user is default, false otherwise"""
+ self.isdefault = None
+ """"the user lastname"""
+ self.lastname = None
+ """"the secret key of the user"""
+ self.secretkey = None
+ """"the user state"""
+ self.state = None
+ """"the timezone user was created in"""
+ self.timezone = None
+ """"the user name"""
+ self.username = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/enableAutoScaleVmGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/enableAutoScaleVmGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/enableAutoScaleVmGroup.py
new file mode 100644
index 0000000..cb4e6bd
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/enableAutoScaleVmGroup.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.
+
+
+"""Enables an AutoScale Vm Group"""
+from baseCmd import *
+from baseResponse import *
+class enableAutoScaleVmGroupCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the ID of the autoscale group"""
+ """Required"""
+ self.id = None
+ self.required = ["id",]
+
+class enableAutoScaleVmGroupResponse (baseResponse):
+ def __init__(self):
+ """the autoscale vm group ID"""
+ self.id = None
+ """the account owning the instance group"""
+ self.account = None
+ """the domain name of the vm profile"""
+ self.domain = None
+ """the domain ID of the vm profile"""
+ self.domainid = None
+ """the frequency at which the conditions have to be evaluated"""
+ self.interval = None
+ """the load balancer rule ID"""
+ self.lbruleid = None
+ """the maximum number of members in the vmgroup, The number of instances in the vm group will be equal to or less than this number."""
+ self.maxmembers = None
+ """the minimum number of members in the vmgroup, the number of instances in the vm group will be equal to or more than this number."""
+ self.minmembers = None
+ """the project name of the vm profile"""
+ self.project = None
+ """the project id vm profile"""
+ self.projectid = None
+ """list of scaledown autoscale policies"""
+ self.scaledownpolicies = None
+ """list of scaleup autoscale policies"""
+ self.scaleuppolicies = None
+ """the current state of the AutoScale Vm Group"""
+ self.state = None
+ """the autoscale profile that contains information about the vms in the vm group."""
+ self.vmprofileid = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/enableStaticNat.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/enableStaticNat.py b/tools/marvin/build/lib/marvin/cloudstackAPI/enableStaticNat.py
new file mode 100644
index 0000000..be859fc
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/enableStaticNat.py
@@ -0,0 +1,43 @@
+# 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.
+
+
+"""Enables static nat for given ip address"""
+from baseCmd import *
+from baseResponse import *
+class enableStaticNatCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """the public IP address id for which static nat feature is being enabled"""
+ """Required"""
+ self.ipaddressid = None
+ """the ID of the virtual machine for enabling static nat feature"""
+ """Required"""
+ self.virtualmachineid = None
+ """The network of the vm the static nat will be enabled for. Required when public Ip address is not associated with any Guest network yet (VPC case)"""
+ self.networkid = None
+ """VM guest nic Secondary ip address for the port forwarding rule"""
+ self.vmguestip = None
+ self.required = ["ipaddressid","virtualmachineid",]
+
+class enableStaticNatResponse (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/enableStorageMaintenance.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/enableStorageMaintenance.py b/tools/marvin/build/lib/marvin/cloudstackAPI/enableStorageMaintenance.py
new file mode 100644
index 0000000..6eba6d9
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/enableStorageMaintenance.py
@@ -0,0 +1,78 @@
+# 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.
+
+
+"""Puts storage pool into maintenance state"""
+from baseCmd import *
+from baseResponse import *
+class enableStorageMaintenanceCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """Primary storage ID"""
+ """Required"""
+ self.id = None
+ self.required = ["id",]
+
+class enableStorageMaintenanceResponse (baseResponse):
+ def __init__(self):
+ """the ID of the storage pool"""
+ self.id = None
+ """IOPS CloudStack can provision from this storage pool"""
+ self.capacityiops = None
+ """the ID of the cluster for the storage pool"""
+ self.clusterid = None
+ """the name of the cluster for the storage pool"""
+ self.clustername = None
+ """the date and time the storage pool was created"""
+ self.created = None
+ """the host's currently allocated disk size"""
+ self.disksizeallocated = None
+ """the total disk size of the storage pool"""
+ self.disksizetotal = None
+ """the host's currently used disk size"""
+ self.disksizeused = None
+ """the hypervisor type of the storage pool"""
+ self.hypervisor = None
+ """the IP address of the storage pool"""
+ self.ipaddress = None
+ """the name of the storage pool"""
+ self.name = None
+ """the storage pool path"""
+ self.path = None
+ """the Pod ID of the storage pool"""
+ self.podid = None
+ """the Pod name of the storage pool"""
+ self.podname = None
+ """the scope of the storage pool"""
+ self.scope = None
+ """the state of the storage pool"""
+ self.state = None
+ """true if this pool is suitable to migrate a volume, false otherwise"""
+ self.suitableformigration = None
+ """the tags for the storage pool"""
+ self.tags = None
+ """the storage pool type"""
+ self.type = None
+ """the Zone ID of the storage pool"""
+ self.zoneid = None
+ """the Zone name of the storage pool"""
+ self.zonename = None
+ """the ID of the latest async job acting on this object"""
+ self.jobid = None
+ """the current status of the latest async job acting on this object"""
+ self.jobstatus = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/enableUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/enableUser.py b/tools/marvin/build/lib/marvin/cloudstackAPI/enableUser.py
new file mode 100644
index 0000000..7aaa503
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/enableUser.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.
+
+
+"""Enables a user account"""
+from baseCmd import *
+from baseResponse import *
+class enableUserCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """Enables user by user ID."""
+ """Required"""
+ self.id = None
+ self.required = ["id",]
+
+class enableUserResponse (baseResponse):
+ def __init__(self):
+ """the user ID"""
+ self.id = None
+ """the account name of the user"""
+ self.account = None
+ """the account ID of the user"""
+ self.accountid = None
+ """the account type of the user"""
+ self.accounttype = None
+ """the api key of the user"""
+ self.apikey = None
+ """the date and time the user account was created"""
+ self.created = None
+ """the domain name of the user"""
+ self.domain = None
+ """the domain ID of the user"""
+ self.domainid = None
+ """the user email address"""
+ self.email = None
+ """the user firstname"""
+ self.firstname = None
+ """the boolean value representing if the updating target is in caller's child domain"""
+ self.iscallerchilddomain = None
+ """true if user is default, false otherwise"""
+ self.isdefault = None
+ """the user lastname"""
+ self.lastname = None
+ """the secret key of the user"""
+ self.secretkey = None
+ """the user state"""
+ self.state = None
+ """the timezone user was created in"""
+ self.timezone = None
+ """the user name"""
+ self.username = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/extractIso.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/extractIso.py b/tools/marvin/build/lib/marvin/cloudstackAPI/extractIso.py
new file mode 100644
index 0000000..56f9665
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/extractIso.py
@@ -0,0 +1,65 @@
+# 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.
+
+
+"""Extracts an ISO"""
+from baseCmd import *
+from baseResponse import *
+class extractIsoCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the ID of the ISO file"""
+ """Required"""
+ self.id = None
+ """the mode of extraction - HTTP_DOWNLOAD or FTP_UPLOAD"""
+ """Required"""
+ self.mode = None
+ """the url to which the ISO would be extracted"""
+ self.url = None
+ """the ID of the zone where the ISO is originally located"""
+ self.zoneid = None
+ self.required = ["id","mode",]
+
+class extractIsoResponse (baseResponse):
+ def __init__(self):
+ """the id of extracted object"""
+ self.id = None
+ """the account id to which the extracted object belongs"""
+ self.accountid = None
+ """the time and date the object was created"""
+ self.created = None
+ """the upload id of extracted object"""
+ self.extractId = None
+ """the mode of extraction - upload or download"""
+ self.extractMode = None
+ """the name of the extracted object"""
+ self.name = None
+ """the state of the extracted object"""
+ self.state = None
+ """the status of the extraction"""
+ self.status = None
+ """type of the storage"""
+ self.storagetype = None
+ """the percentage of the entity uploaded to the specified location"""
+ self.uploadpercentage = None
+ """if mode = upload then url of the uploaded entity. if mode = download the url from which the entity can be downloaded"""
+ self.url = None
+ """zone ID the object was extracted from"""
+ self.zoneid = None
+ """zone name the object was extracted from"""
+ self.zonename = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/extractTemplate.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/extractTemplate.py b/tools/marvin/build/lib/marvin/cloudstackAPI/extractTemplate.py
new file mode 100644
index 0000000..f27c09e
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/extractTemplate.py
@@ -0,0 +1,65 @@
+# 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.
+
+
+"""Extracts a template"""
+from baseCmd import *
+from baseResponse import *
+class extractTemplateCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the ID of the template"""
+ """Required"""
+ self.id = None
+ """the mode of extraction - HTTP_DOWNLOAD or FTP_UPLOAD"""
+ """Required"""
+ self.mode = None
+ """the url to which the ISO would be extracted"""
+ self.url = None
+ """the ID of the zone where the ISO is originally located"""
+ self.zoneid = None
+ self.required = ["id","mode",]
+
+class extractTemplateResponse (baseResponse):
+ def __init__(self):
+ """the id of extracted object"""
+ self.id = None
+ """the account id to which the extracted object belongs"""
+ self.accountid = None
+ """the time and date the object was created"""
+ self.created = None
+ """the upload id of extracted object"""
+ self.extractId = None
+ """the mode of extraction - upload or download"""
+ self.extractMode = None
+ """the name of the extracted object"""
+ self.name = None
+ """the state of the extracted object"""
+ self.state = None
+ """the status of the extraction"""
+ self.status = None
+ """type of the storage"""
+ self.storagetype = None
+ """the percentage of the entity uploaded to the specified location"""
+ self.uploadpercentage = None
+ """if mode = upload then url of the uploaded entity. if mode = download the url from which the entity can be downloaded"""
+ self.url = None
+ """zone ID the object was extracted from"""
+ self.zoneid = None
+ """zone name the object was extracted from"""
+ self.zonename = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/extractVolume.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/extractVolume.py b/tools/marvin/build/lib/marvin/cloudstackAPI/extractVolume.py
new file mode 100644
index 0000000..9596a81
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/extractVolume.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.
+
+
+"""Extracts volume"""
+from baseCmd import *
+from baseResponse import *
+class extractVolumeCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the ID of the volume"""
+ """Required"""
+ self.id = None
+ """the mode of extraction - HTTP_DOWNLOAD or FTP_UPLOAD"""
+ """Required"""
+ self.mode = None
+ """the ID of the zone where the volume is located"""
+ """Required"""
+ self.zoneid = None
+ """the url to which the volume would be extracted"""
+ self.url = None
+ self.required = ["id","mode","zoneid",]
+
+class extractVolumeResponse (baseResponse):
+ def __init__(self):
+ """the id of extracted object"""
+ self.id = None
+ """the account id to which the extracted object belongs"""
+ self.accountid = None
+ """the time and date the object was created"""
+ self.created = None
+ """the upload id of extracted object"""
+ self.extractId = None
+ """the mode of extraction - upload or download"""
+ self.extractMode = None
+ """the name of the extracted object"""
+ self.name = None
+ """the state of the extracted object"""
+ self.state = None
+ """the status of the extraction"""
+ self.status = None
+ """type of the storage"""
+ self.storagetype = None
+ """the percentage of the entity uploaded to the specified location"""
+ self.uploadpercentage = None
+ """if mode = upload then url of the uploaded entity. if mode = download the url from which the entity can be downloaded"""
+ self.url = None
+ """zone ID the object was extracted from"""
+ self.zoneid = None
+ """zone name the object was extracted from"""
+ self.zonename = None
+