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:29 UTC
[13/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/listVPCs.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVPCs.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVPCs.py
new file mode 100644
index 0000000..51a3b4c
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listVPCs.py
@@ -0,0 +1,426 @@
+# 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.
+
+
+"""Lists VPCs"""
+from baseCmd import *
+from baseResponse import *
+class listVPCsCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """list resources by account. Must be used with the domainId parameter."""
+ self.account = None
+ """list by cidr of the VPC. All VPC guest networks' cidrs should be within this CIDR"""
+ self.cidr = None
+ """List by display text of the VPC"""
+ self.displaytext = None
+ """list only resources belonging to the domain specified"""
+ self.domainid = None
+ """list VPC by id"""
+ self.id = None
+ """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
+ self.isrecursive = None
+ """List by keyword"""
+ self.keyword = None
+ """If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"""
+ self.listall = None
+ """list by name of the VPC"""
+ self.name = None
+ """"""
+ self.page = None
+ """"""
+ self.pagesize = None
+ """list objects by project"""
+ self.projectid = None
+ """list VPCs by restartRequired option"""
+ self.restartrequired = None
+ """list VPCs by state"""
+ self.state = None
+ """list VPC supporting certain services"""
+ self.supportedservices = []
+ """List resources by tags (key/value pairs)"""
+ self.tags = []
+ """list by ID of the VPC offering"""
+ self.vpcofferingid = None
+ """list by zone"""
+ self.zoneid = None
+ self.required = []
+
+class listVPCsResponse (baseResponse):
+ def __init__(self):
+ """the id of the VPC"""
+ self.id = None
+ """the owner of the VPC"""
+ self.account = None
+ """the cidr the VPC"""
+ self.cidr = None
+ """the date this VPC was created"""
+ self.created = None
+ """an alternate display text of the VPC."""
+ self.displaytext = None
+ """the domain name of the owner"""
+ self.domain = None
+ """the domain id of the VPC owner"""
+ self.domainid = None
+ """the name of the VPC"""
+ self.name = None
+ """the network domain of the VPC"""
+ self.networkdomain = None
+ """the project name of the VPC"""
+ self.project = None
+ """the project id of the VPC"""
+ self.projectid = None
+ """true VPC requires restart"""
+ self.restartrequired = None
+ """state of the VPC. Can be Inactive/Enabled"""
+ self.state = None
+ """vpc offering id the VPC is created from"""
+ self.vpcofferingid = None
+ """zone id of the vpc"""
+ self.zoneid = None
+ """the name of the zone the VPC belongs to"""
+ self.zonename = None
+ """the list of networks belongign to the VPC"""
+ self.network = []
+ """the list of supported services"""
+ self.service = []
+ """the list of resource tags associated with the project"""
+ self.tags = []
+
+class capability:
+ def __init__(self):
+ """"can this service capability value can be choosable while creatine network offerings"""
+ self.canchooseservicecapability = None
+ """"the capability name"""
+ self.name = None
+ """"the capability value"""
+ self.value = None
+
+class provider:
+ def __init__(self):
+ """"uuid of the network provider"""
+ self.id = None
+ """"true if individual services can be enabled/disabled"""
+ self.canenableindividualservice = None
+ """"the destination physical network"""
+ self.destinationphysicalnetworkid = None
+ """"the provider name"""
+ self.name = None
+ """"the physical network this belongs to"""
+ self.physicalnetworkid = None
+ """"services for this provider"""
+ self.servicelist = None
+ """"state of the network provider"""
+ self.state = None
+
+class service:
+ def __init__(self):
+ """"the service name"""
+ self.name = None
+ """"the list of capabilities"""
+ self.capability = []
+ """"can this service capability value can be choosable while creatine network offerings"""
+ self.canchooseservicecapability = None
+ """"the capability name"""
+ self.name = None
+ """"the capability value"""
+ self.value = None
+ """"the service provider name"""
+ self.provider = []
+ """"uuid of the network provider"""
+ self.id = None
+ """"true if individual services can be enabled/disabled"""
+ self.canenableindividualservice = None
+ """"the destination physical network"""
+ self.destinationphysicalnetworkid = None
+ """"the provider name"""
+ self.name = None
+ """"the physical network this belongs to"""
+ self.physicalnetworkid = None
+ """"services for this provider"""
+ self.servicelist = None
+ """"state of the network provider"""
+ self.state = None
+
+class capability:
+ def __init__(self):
+ """"can this service capability value can be choosable while creatine network offerings"""
+ self.canchooseservicecapability = None
+ """"the capability name"""
+ self.name = None
+ """"the capability value"""
+ self.value = None
+
+class provider:
+ def __init__(self):
+ """"uuid of the network provider"""
+ self.id = None
+ """"true if individual services can be enabled/disabled"""
+ self.canenableindividualservice = None
+ """"the destination physical network"""
+ self.destinationphysicalnetworkid = None
+ """"the provider name"""
+ self.name = None
+ """"the physical network this belongs to"""
+ self.physicalnetworkid = None
+ """"services for this provider"""
+ self.servicelist = None
+ """"state of the network provider"""
+ self.state = 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 network:
+ def __init__(self):
+ """"the id of the network"""
+ self.id = None
+ """"the owner of the network"""
+ self.account = None
+ """"ACL Id associated with the VPC network"""
+ self.aclid = None
+ """"acl type - access type to the network"""
+ self.acltype = None
+ """"Broadcast domain type of the network"""
+ self.broadcastdomaintype = None
+ """"broadcast uri of the network. This parameter is visible to ROOT admins only"""
+ self.broadcasturi = None
+ """"list networks available for vm deployment"""
+ self.canusefordeploy = None
+ """"Cloudstack managed address space, all CloudStack managed VMs get IP address from CIDR"""
+ self.cidr = None
+ """"an optional field, whether to the display the network to the end user or not."""
+ self.displaynetwork = None
+ """"the displaytext of the network"""
+ self.displaytext = None
+ """"the first DNS for the network"""
+ self.dns1 = None
+ """"the second DNS for the network"""
+ self.dns2 = None
+ """"the domain name of the network owner"""
+ self.domain = None
+ """"the domain id of the network owner"""
+ self.domainid = None
+ """"the network's gateway"""
+ self.gateway = None
+ """"the cidr of IPv6 network"""
+ self.ip6cidr = None
+ """"the gateway of IPv6 network"""
+ self.ip6gateway = None
+ """"true if network is default, false otherwise"""
+ self.isdefault = None
+ """"list networks that are persistent"""
+ self.ispersistent = None
+ """"true if network is system, false otherwise"""
+ self.issystem = None
+ """"the name of the network"""
+ self.name = None
+ """"the network's netmask"""
+ self.netmask = None
+ """"the network CIDR of the guest network configured with IP reservation. It is the summation of CIDR and RESERVED_IP_RANGE"""
+ self.networkcidr = None
+ """"the network domain"""
+ self.networkdomain = None
+ """"availability of the network offering the network is created from"""
+ self.networkofferingavailability = None
+ """"true if network offering is ip conserve mode enabled"""
+ self.networkofferingconservemode = None
+ """"display text of the network offering the network is created from"""
+ self.networkofferingdisplaytext = None
+ """"network offering id the network is created from"""
+ self.networkofferingid = None
+ """"name of the network offering the network is created from"""
+ self.networkofferingname = None
+ """"the physical network id"""
+ self.physicalnetworkid = None
+ """"the project name of the address"""
+ self.project = None
+ """"the project id of the ipaddress"""
+ self.projectid = None
+ """"related to what other network configuration"""
+ self.related = None
+ """"the network's IP range not to be used by CloudStack guest VMs and can be used for non CloudStack purposes"""
+ self.reservediprange = None
+ """"true network requires restart"""
+ self.restartrequired = None
+ """"true if network supports specifying ip ranges, false otherwise"""
+ self.specifyipranges = None
+ """"state of the network"""
+ self.state = None
+ """"true if users from subdomains can access the domain level network"""
+ self.subdomainaccess = None
+ """"the traffic type of the network"""
+ self.traffictype = None
+ """"the type of the network"""
+ self.type = None
+ """"The vlan of the network. This parameter is visible to ROOT admins only"""
+ self.vlan = None
+ """"VPC the network belongs to"""
+ self.vpcid = None
+ """"zone id of the network"""
+ self.zoneid = None
+ """"the name of the zone the network belongs to"""
+ self.zonename = None
+ """"the list of services"""
+ self.service = []
+ """"the service name"""
+ self.name = None
+ """"the list of capabilities"""
+ self.capability = []
+ """"can this service capability value can be choosable while creatine network offerings"""
+ self.canchooseservicecapability = None
+ """"the capability name"""
+ self.name = None
+ """"the capability value"""
+ self.value = None
+ """"the service provider name"""
+ self.provider = []
+ """"uuid of the network provider"""
+ self.id = None
+ """"true if individual services can be enabled/disabled"""
+ self.canenableindividualservice = None
+ """"the destination physical network"""
+ self.destinationphysicalnetworkid = None
+ """"the provider name"""
+ self.name = None
+ """"the physical network this belongs to"""
+ self.physicalnetworkid = None
+ """"services for this provider"""
+ self.servicelist = None
+ """"state of the network provider"""
+ self.state = None
+ """"the list of resource tags associated with network"""
+ 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
+
+class capability:
+ def __init__(self):
+ """"can this service capability value can be choosable while creatine network offerings"""
+ self.canchooseservicecapability = None
+ """"the capability name"""
+ self.name = None
+ """"the capability value"""
+ self.value = None
+
+class provider:
+ def __init__(self):
+ """"uuid of the network provider"""
+ self.id = None
+ """"true if individual services can be enabled/disabled"""
+ self.canenableindividualservice = None
+ """"the destination physical network"""
+ self.destinationphysicalnetworkid = None
+ """"the provider name"""
+ self.name = None
+ """"the physical network this belongs to"""
+ self.physicalnetworkid = None
+ """"services for this provider"""
+ self.servicelist = None
+ """"state of the network provider"""
+ self.state = None
+
+class service:
+ def __init__(self):
+ """"the service name"""
+ self.name = None
+ """"the list of capabilities"""
+ self.capability = []
+ """"can this service capability value can be choosable while creatine network offerings"""
+ self.canchooseservicecapability = None
+ """"the capability name"""
+ self.name = None
+ """"the capability value"""
+ self.value = None
+ """"the service provider name"""
+ self.provider = []
+ """"uuid of the network provider"""
+ self.id = None
+ """"true if individual services can be enabled/disabled"""
+ self.canenableindividualservice = None
+ """"the destination physical network"""
+ self.destinationphysicalnetworkid = None
+ """"the provider name"""
+ self.name = None
+ """"the physical network this belongs to"""
+ self.physicalnetworkid = None
+ """"services for this provider"""
+ self.servicelist = None
+ """"state of the network provider"""
+ self.state = 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/listVirtualMachines.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVirtualMachines.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVirtualMachines.py
new file mode 100644
index 0000000..525532c
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listVirtualMachines.py
@@ -0,0 +1,416 @@
+# 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.
+
+
+"""List the virtual machines owned by the account."""
+from baseCmd import *
+from baseResponse import *
+class listVirtualMachinesCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """list resources by account. Must be used with the domainId parameter."""
+ self.account = None
+ """list vms by affinity group"""
+ self.affinitygroupid = None
+ """comma separated list of host details requested, value can be a list of [all, group, nics, stats, secgrp, tmpl, servoff, iso, volume, min, affgrp]. If no parameter is passed in, the details will be defaulted to all"""
+ self.details = []
+ """list only resources belonging to the domain specified"""
+ self.domainid = None
+ """list by network type; true if need to list vms using Virtual Network, false otherwise"""
+ self.forvirtualnetwork = None
+ """the group ID"""
+ self.groupid = None
+ """the host ID"""
+ self.hostid = None
+ """the target hypervisor for the template"""
+ self.hypervisor = None
+ """the ID of the virtual machine"""
+ self.id = None
+ """list vms by iso"""
+ self.isoid = None
+ """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
+ self.isrecursive = None
+ """List by keyword"""
+ self.keyword = None
+ """If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"""
+ self.listall = None
+ """name of the virtual machine"""
+ self.name = None
+ """list by network id"""
+ self.networkid = None
+ """"""
+ self.page = None
+ """"""
+ self.pagesize = None
+ """the pod ID"""
+ self.podid = None
+ """list objects by project"""
+ self.projectid = None
+ """state of the virtual machine"""
+ self.state = None
+ """the storage ID where vm's volumes belong to"""
+ self.storageid = None
+ """List resources by tags (key/value pairs)"""
+ self.tags = []
+ """list vms by template"""
+ self.templateid = None
+ """list vms by vpc"""
+ self.vpcid = None
+ """the availability zone ID"""
+ self.zoneid = None
+ self.required = []
+
+class listVirtualMachinesResponse (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/listVirtualRouterElements.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVirtualRouterElements.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVirtualRouterElements.py
new file mode 100644
index 0000000..abfe93a
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listVirtualRouterElements.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.
+
+
+"""Lists all available virtual router elements."""
+from baseCmd import *
+from baseResponse import *
+class listVirtualRouterElementsCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """list network offerings by enabled state"""
+ self.enabled = None
+ """list virtual router elements by id"""
+ self.id = None
+ """List by keyword"""
+ self.keyword = None
+ """list virtual router elements by network service provider id"""
+ self.nspid = None
+ """"""
+ self.page = None
+ """"""
+ self.pagesize = None
+ self.required = []
+
+class listVirtualRouterElementsResponse (baseResponse):
+ def __init__(self):
+ """the id of the router"""
+ self.id = None
+ """the account associated with the provider"""
+ self.account = None
+ """the domain associated with the provider"""
+ self.domain = None
+ """the domain ID associated with the provider"""
+ self.domainid = None
+ """Enabled/Disabled the service provider"""
+ self.enabled = None
+ """the physical network service provider id of the provider"""
+ self.nspid = None
+ """the project name of the address"""
+ self.project = None
+ """the project id of the ipaddress"""
+ self.projectid = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listVlanIpRanges.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVlanIpRanges.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVlanIpRanges.py
new file mode 100644
index 0000000..2d7ac4a
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listVlanIpRanges.py
@@ -0,0 +1,99 @@
+# 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.
+
+
+"""Lists all VLAN IP ranges."""
+from baseCmd import *
+from baseResponse import *
+class listVlanIpRangesCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """the account with which the VLAN IP range is associated. Must be used with the domainId parameter."""
+ self.account = None
+ """the domain ID with which the VLAN IP range is associated. If used with the account parameter, returns all VLAN IP ranges for that account in the specified domain."""
+ self.domainid = None
+ """true if VLAN is of Virtual type, false if Direct"""
+ self.forvirtualnetwork = None
+ """the ID of the VLAN IP range"""
+ self.id = None
+ """List by keyword"""
+ self.keyword = None
+ """network id of the VLAN IP range"""
+ self.networkid = None
+ """"""
+ self.page = None
+ """"""
+ self.pagesize = None
+ """physical network id of the VLAN IP range"""
+ self.physicalnetworkid = None
+ """the Pod ID of the VLAN IP range"""
+ self.podid = None
+ """project who will own the VLAN"""
+ self.projectid = None
+ """the ID or VID of the VLAN. Default is an "untagged" VLAN."""
+ self.vlan = None
+ """the Zone ID of the VLAN IP range"""
+ self.zoneid = None
+ self.required = []
+
+class listVlanIpRangesResponse (baseResponse):
+ def __init__(self):
+ """the ID of the VLAN IP range"""
+ self.id = None
+ """the account of the VLAN IP range"""
+ self.account = None
+ """the description of the VLAN IP range"""
+ self.description = None
+ """the domain name of the VLAN IP range"""
+ self.domain = None
+ """the domain ID of the VLAN IP range"""
+ self.domainid = None
+ """the end ip of the VLAN IP range"""
+ self.endip = None
+ """the end ipv6 of the VLAN IP range"""
+ self.endipv6 = None
+ """the virtual network for the VLAN IP range"""
+ self.forvirtualnetwork = None
+ """the gateway of the VLAN IP range"""
+ self.gateway = None
+ """the cidr of IPv6 network"""
+ self.ip6cidr = None
+ """the gateway of IPv6 network"""
+ self.ip6gateway = None
+ """the netmask of the VLAN IP range"""
+ self.netmask = None
+ """the network id of vlan range"""
+ self.networkid = None
+ """the physical network this belongs to"""
+ self.physicalnetworkid = None
+ """the Pod ID for the VLAN IP range"""
+ self.podid = None
+ """the Pod name for the VLAN IP range"""
+ self.podname = None
+ """the project name of the vlan range"""
+ self.project = None
+ """the project id of the vlan range"""
+ self.projectid = None
+ """the start ip of the VLAN IP range"""
+ self.startip = None
+ """the start ipv6 of the VLAN IP range"""
+ self.startipv6 = None
+ """the ID or VID of the VLAN."""
+ self.vlan = None
+ """the Zone ID of the VLAN IP range"""
+ self.zoneid = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listVolumes.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVolumes.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVolumes.py
new file mode 100644
index 0000000..39f514b
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listVolumes.py
@@ -0,0 +1,172 @@
+# 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.
+
+
+"""Lists all volumes."""
+from baseCmd import *
+from baseResponse import *
+class listVolumesCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """list resources by account. Must be used with the domainId parameter."""
+ self.account = None
+ """list only resources belonging to the domain specified"""
+ self.domainid = None
+ """list volumes on specified host"""
+ self.hostid = None
+ """the ID of the disk volume"""
+ self.id = None
+ """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
+ self.isrecursive = None
+ """List by keyword"""
+ self.keyword = None
+ """If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"""
+ self.listall = None
+ """the name of the disk volume"""
+ self.name = None
+ """"""
+ self.page = None
+ """"""
+ self.pagesize = None
+ """the pod id the disk volume belongs to"""
+ self.podid = None
+ """list objects by project"""
+ self.projectid = None
+ """List resources by tags (key/value pairs)"""
+ self.tags = []
+ """the type of disk volume"""
+ self.type = None
+ """the ID of the virtual machine"""
+ self.virtualmachineid = None
+ """the ID of the availability zone"""
+ self.zoneid = None
+ self.required = []
+
+class listVolumesResponse (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/listVpnConnections.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnConnections.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnConnections.py
new file mode 100644
index 0000000..db94bca
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnConnections.py
@@ -0,0 +1,89 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+"""Lists site to site vpn connection gateways"""
+from baseCmd import *
+from baseResponse import *
+class listVpnConnectionsCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """list resources by account. Must be used with the domainId parameter."""
+ self.account = None
+ """list only resources belonging to the domain specified"""
+ self.domainid = None
+ """id of the vpn connection"""
+ self.id = None
+ """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
+ self.isrecursive = None
+ """List by keyword"""
+ self.keyword = None
+ """If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"""
+ self.listall = None
+ """"""
+ self.page = None
+ """"""
+ self.pagesize = None
+ """list objects by project"""
+ self.projectid = None
+ """id of vpc"""
+ self.vpcid = None
+ self.required = []
+
+class listVpnConnectionsResponse (baseResponse):
+ def __init__(self):
+ """the vpn gateway ID"""
+ self.id = None
+ """the owner"""
+ self.account = None
+ """guest cidr list of the customer gateway"""
+ self.cidrlist = None
+ """the date and time the host was created"""
+ self.created = None
+ """the domain name of the owner"""
+ self.domain = None
+ """the domain id of the owner"""
+ self.domainid = None
+ """if DPD is enabled for customer gateway"""
+ self.dpd = None
+ """Lifetime of ESP SA of customer gateway"""
+ self.esplifetime = None
+ """ESP policy of the customer gateway"""
+ self.esppolicy = None
+ """public ip address id of the customer gateway"""
+ self.gateway = None
+ """Lifetime of IKE SA of customer gateway"""
+ self.ikelifetime = None
+ """IKE policy of the customer gateway"""
+ self.ikepolicy = None
+ """IPsec Preshared-Key of the customer gateway"""
+ self.ipsecpsk = None
+ """the project name"""
+ self.project = None
+ """the project id"""
+ self.projectid = None
+ """the public IP address"""
+ self.publicip = None
+ """the date and time the host was removed"""
+ self.removed = None
+ """the customer gateway ID"""
+ self.s2scustomergatewayid = None
+ """the vpn gateway ID"""
+ self.s2svpngatewayid = None
+ """State of vpn connection"""
+ self.state = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnCustomerGateways.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnCustomerGateways.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnCustomerGateways.py
new file mode 100644
index 0000000..c730db3
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnCustomerGateways.py
@@ -0,0 +1,81 @@
+# 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.
+
+
+"""Lists site to site vpn customer gateways"""
+from baseCmd import *
+from baseResponse import *
+class listVpnCustomerGatewaysCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """list resources by account. Must be used with the domainId parameter."""
+ self.account = None
+ """list only resources belonging to the domain specified"""
+ self.domainid = None
+ """id of the customer gateway"""
+ self.id = None
+ """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
+ self.isrecursive = None
+ """List by keyword"""
+ self.keyword = None
+ """If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"""
+ self.listall = None
+ """"""
+ self.page = None
+ """"""
+ self.pagesize = None
+ """list objects by project"""
+ self.projectid = None
+ self.required = []
+
+class listVpnCustomerGatewaysResponse (baseResponse):
+ def __init__(self):
+ """the vpn gateway ID"""
+ self.id = None
+ """the owner"""
+ self.account = None
+ """guest cidr list of the customer gateway"""
+ self.cidrlist = None
+ """the domain name of the owner"""
+ self.domain = None
+ """the domain id of the owner"""
+ self.domainid = None
+ """if DPD is enabled for customer gateway"""
+ self.dpd = None
+ """Lifetime of ESP SA of customer gateway"""
+ self.esplifetime = None
+ """IPsec policy of customer gateway"""
+ self.esppolicy = None
+ """public ip address id of the customer gateway"""
+ self.gateway = None
+ """Lifetime of IKE SA of customer gateway"""
+ self.ikelifetime = None
+ """IKE policy of customer gateway"""
+ self.ikepolicy = None
+ """guest ip of the customer gateway"""
+ self.ipaddress = None
+ """IPsec preshared-key of customer gateway"""
+ self.ipsecpsk = None
+ """name of the customer gateway"""
+ self.name = None
+ """the project name"""
+ self.project = None
+ """the project id"""
+ self.projectid = None
+ """the date and time the host was removed"""
+ self.removed = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnGateways.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnGateways.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnGateways.py
new file mode 100644
index 0000000..14fcb8f
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnGateways.py
@@ -0,0 +1,67 @@
+# 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.
+
+
+"""Lists site 2 site vpn gateways"""
+from baseCmd import *
+from baseResponse import *
+class listVpnGatewaysCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """list resources by account. Must be used with the domainId parameter."""
+ self.account = None
+ """list only resources belonging to the domain specified"""
+ self.domainid = None
+ """id of the vpn gateway"""
+ self.id = None
+ """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
+ self.isrecursive = None
+ """List by keyword"""
+ self.keyword = None
+ """If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"""
+ self.listall = None
+ """"""
+ self.page = None
+ """"""
+ self.pagesize = None
+ """list objects by project"""
+ self.projectid = None
+ """id of vpc"""
+ self.vpcid = None
+ self.required = []
+
+class listVpnGatewaysResponse (baseResponse):
+ def __init__(self):
+ """the vpn gateway ID"""
+ self.id = None
+ """the owner"""
+ self.account = None
+ """the domain name of the owner"""
+ self.domain = None
+ """the domain id of the owner"""
+ self.domainid = None
+ """the project name"""
+ self.project = None
+ """the project id"""
+ self.projectid = None
+ """the public IP address"""
+ self.publicip = None
+ """the date and time the host was removed"""
+ self.removed = None
+ """the vpc id of this gateway"""
+ self.vpcid = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnUsers.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnUsers.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnUsers.py
new file mode 100644
index 0000000..79ae68a
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listVpnUsers.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.
+
+
+"""Lists vpn users"""
+from baseCmd import *
+from baseResponse import *
+class listVpnUsersCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """list resources by account. Must be used with the domainId parameter."""
+ self.account = None
+ """list only resources belonging to the domain specified"""
+ self.domainid = None
+ """The uuid of the Vpn user"""
+ self.id = None
+ """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
+ self.isrecursive = None
+ """List by keyword"""
+ self.keyword = None
+ """If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"""
+ self.listall = None
+ """"""
+ self.page = None
+ """"""
+ self.pagesize = None
+ """list objects by project"""
+ self.projectid = None
+ """the username of the vpn user."""
+ self.username = None
+ self.required = []
+
+class listVpnUsersResponse (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/listZones.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listZones.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listZones.py
new file mode 100644
index 0000000..5e6ed5d
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listZones.py
@@ -0,0 +1,141 @@
+# 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.
+
+
+"""Lists zones"""
+from baseCmd import *
+from baseResponse import *
+class listZonesCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """true if you want to retrieve all available Zones. False if you only want to return the Zones from which you have at least one VM. Default is false."""
+ self.available = None
+ """the ID of the domain associated with the zone"""
+ self.domainid = None
+ """the ID of the zone"""
+ self.id = None
+ """List by keyword"""
+ self.keyword = None
+ """the name of the zone"""
+ self.name = None
+ """the network type of the zone that the virtual machine belongs to"""
+ self.networktype = None
+ """"""
+ self.page = None
+ """"""
+ self.pagesize = None
+ """flag to display the capacity of the zones"""
+ self.showcapacities = None
+ """List zones by resource tags (key/value pairs)"""
+ self.tags = []
+ self.required = []
+
+class listZonesResponse (baseResponse):
+ def __init__(self):
+ """Zone id"""
+ self.id = None
+ """the allocation state of the cluster"""
+ self.allocationstate = None
+ """Zone description"""
+ self.description = None
+ """the dhcp Provider for the Zone"""
+ self.dhcpprovider = None
+ """the display text of the zone"""
+ self.displaytext = None
+ """the first DNS for the Zone"""
+ self.dns1 = None
+ """the second DNS for the Zone"""
+ self.dns2 = None
+ """Network domain name for the networks in the zone"""
+ self.domain = None
+ """the UUID of the containing domain, null for public zones"""
+ self.domainid = None
+ """the name of the containing domain, null for public zones"""
+ self.domainname = None
+ """the guest CIDR address for the Zone"""
+ self.guestcidraddress = None
+ """the first internal DNS for the Zone"""
+ self.internaldns1 = None
+ """the second internal DNS for the Zone"""
+ self.internaldns2 = None
+ """the first IPv6 DNS for the Zone"""
+ self.ip6dns1 = None
+ """the second IPv6 DNS for the Zone"""
+ self.ip6dns2 = None
+ """true if local storage offering enabled, false otherwise"""
+ self.localstorageenabled = None
+ """Zone name"""
+ self.name = None
+ """the network type of the zone; can be Basic or Advanced"""
+ self.networktype = None
+ """true if security groups support is enabled, false otherwise"""
+ self.securitygroupsenabled = None
+ """the vlan range of the zone"""
+ self.vlan = None
+ """Zone Token"""
+ self.zonetoken = None
+ """the capacity of the Zone"""
+ self.capacity = []
+ """the list of resource tags associated with zone."""
+ self.tags = []
+
+class capacity:
+ def __init__(self):
+ """"the total capacity available"""
+ self.capacitytotal = None
+ """"the capacity currently in use"""
+ self.capacityused = None
+ """"the Cluster ID"""
+ self.clusterid = None
+ """"the Cluster name"""
+ self.clustername = None
+ """"the percentage of capacity currently in use"""
+ self.percentused = None
+ """"the Pod ID"""
+ self.podid = None
+ """"the Pod name"""
+ self.podname = None
+ """"the capacity type"""
+ self.type = None
+ """"the Zone ID"""
+ self.zoneid = None
+ """"the Zone name"""
+ self.zonename = 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/lockAccount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/lockAccount.py b/tools/marvin/build/lib/marvin/cloudstackAPI/lockAccount.py
new file mode 100644
index 0000000..d33f898
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/lockAccount.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.
+
+
+"""Locks an account"""
+from baseCmd import *
+from baseResponse import *
+class lockAccountCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """Locks the specified account."""
+ """Required"""
+ self.account = None
+ """Locks the specified account on this domain."""
+ """Required"""
+ self.domainid = None
+ self.required = ["account","domainid",]
+
+class lockAccountResponse (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/lockUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/lockUser.py b/tools/marvin/build/lib/marvin/cloudstackAPI/lockUser.py
new file mode 100644
index 0000000..0372547
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/lockUser.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.
+
+
+"""Locks a user account"""
+from baseCmd import *
+from baseResponse import *
+class lockUserCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """Locks user by user ID."""
+ """Required"""
+ self.id = None
+ self.required = ["id",]
+
+class lockUserResponse (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/login.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/login.py b/tools/marvin/build/lib/marvin/cloudstackAPI/login.py
new file mode 100644
index 0000000..003bd11
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/login.py
@@ -0,0 +1,63 @@
+# 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.
+
+
+"""Logs a user into the CloudStack. A successful login attempt will generate a JSESSIONID cookie value that can be passed in subsequent Query command calls until the "logout" command has been issued or the session has expired."""
+from baseCmd import *
+from baseResponse import *
+class loginCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """Username"""
+ """Required"""
+ self.username = None
+ """Hashed password (Default is MD5). If you wish to use any other hashing algorithm, you would need to write a custom authentication adapter See Docs section."""
+ """Required"""
+ self.password = None
+ """path of the domain that the user belongs to. Example: domain=/com/cloud/internal. If no domain is passed in, the ROOT domain is assumed."""
+ self.domain = None
+ """id of the domain that the user belongs to. If both domain and domainId are passed in, "domainId" parameter takes precendence"""
+ self.domainId = None
+ self.required = ["username","password",]
+
+class loginResponse (baseResponse):
+ def __init__(self):
+ """Username"""
+ self.username = None
+ """User id"""
+ self.userid = None
+ """Password"""
+ self.password = None
+ """domain ID that the user belongs to"""
+ self.domainid = None
+ """the time period before the session has expired"""
+ self.timeout = None
+ """the account name the user belongs to"""
+ self.account = None
+ """first name of the user"""
+ self.firstname = None
+ """last name of the user"""
+ self.lastname = None
+ """the account type (admin, domain-admin, read-only-admin, user)"""
+ self.type = None
+ """user time zone"""
+ self.timezone = None
+ """user time zone offset from UTC 00:00"""
+ self.timezoneoffset = None
+ """Session key that can be passed in subsequent Query command calls"""
+ self.sessionkey = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/logout.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/logout.py b/tools/marvin/build/lib/marvin/cloudstackAPI/logout.py
new file mode 100644
index 0000000..6bd4332
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/logout.py
@@ -0,0 +1,31 @@
+# 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.
+
+
+"""Logs out the user"""
+from baseCmd import *
+from baseResponse import *
+class logoutCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ self.required = []
+
+class logoutResponse (baseResponse):
+ def __init__(self):
+ """success if the logout action succeeded"""
+ self.description = None
+