mirror of https://github.com/apache/cloudstack.git
232 lines
6.9 KiB
Python
232 lines
6.9 KiB
Python
# -*- encoding: utf-8 -*-
|
|
#
|
|
# Copyright (c) 2012 Citrix. All rights reserved.
|
|
#
|
|
|
|
"""Common functions
|
|
"""
|
|
|
|
#Import Local Modules
|
|
from cloudstackTestCase import *
|
|
from cloudstackAPI import *
|
|
import remoteSSHClient
|
|
from utils import *
|
|
from base import *
|
|
|
|
#Import System modules
|
|
import time
|
|
|
|
def get_zone(apiclient, services=None):
|
|
"Returns a default zone"
|
|
|
|
cmd = listZones.listZonesCmd()
|
|
if services:
|
|
if "zoneid" in services:
|
|
cmd.id = services["zoneid"]
|
|
return apiclient.listZones(cmd)[0]
|
|
|
|
def get_pod(apiclient, zoneid, services=None):
|
|
"Returns a default pod for specified zone"
|
|
|
|
cmd = listPods.listPodsCmd()
|
|
cmd.zoneid = zoneid
|
|
|
|
if services:
|
|
if "podid" in services:
|
|
cmd.id = services["podid"]
|
|
|
|
return apiclient.listPods(cmd)[0]
|
|
|
|
def get_template(apiclient, zoneid, ostypeid=12, services=None):
|
|
"Returns a template"
|
|
|
|
cmd = listTemplates.listTemplatesCmd()
|
|
cmd.templatefilter = 'featured'
|
|
cmd.zoneid = zoneid
|
|
|
|
if services:
|
|
if "template" in services:
|
|
cmd.id = services["template"]
|
|
|
|
list_templates = apiclient.listTemplates(cmd)
|
|
|
|
for template in list_templates:
|
|
if template.ostypeid == ostypeid:
|
|
return template
|
|
|
|
def list_routers(apiclient, **kwargs):
|
|
"""List all Routers matching criteria"""
|
|
|
|
cmd = listRouters.listRoutersCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listRouters(cmd))
|
|
|
|
def list_zones(apiclient, **kwargs):
|
|
"""List all Zones matching criteria"""
|
|
|
|
cmd = listZones.listZonesCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listZones(cmd))
|
|
|
|
def list_networks(apiclient, **kwargs):
|
|
"""List all Networks matching criteria"""
|
|
|
|
cmd = listNetworks.listNetworksCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listNetworks(cmd))
|
|
|
|
def list_clusters(apiclient, **kwargs):
|
|
"""List all Clusters matching criteria"""
|
|
|
|
cmd = listClusters.listClustersCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listClusters(cmd))
|
|
|
|
def list_ssvms(apiclient, **kwargs):
|
|
"""List all SSVMs matching criteria"""
|
|
|
|
cmd = listSystemVms.listSystemVmsCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listSystemVms(cmd))
|
|
|
|
def list_storage_pools(apiclient, **kwargs):
|
|
"""List all storage pools matching criteria"""
|
|
|
|
cmd = listStoragePools.listStoragePoolsCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listStoragePools(cmd))
|
|
|
|
def list_virtual_machines(apiclient, **kwargs):
|
|
"""List all VMs matching criteria"""
|
|
|
|
cmd = listVirtualMachines.listVirtualMachinesCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listVirtualMachines(cmd))
|
|
|
|
def list_hosts(apiclient, **kwargs):
|
|
"""List all Hosts matching criteria"""
|
|
|
|
cmd = listHosts.listHostsCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listHosts(cmd))
|
|
|
|
def list_configurations(apiclient, **kwargs):
|
|
"""List configuration with specified name"""
|
|
|
|
cmd = listConfigurations.listConfigurationsCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listConfigurations(cmd))
|
|
|
|
def list_publicIP(apiclient, **kwargs):
|
|
"""List all Public IPs matching criteria"""
|
|
|
|
cmd = listPublicIpAddresses.listPublicIpAddressesCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listPublicIpAddresses(cmd))
|
|
|
|
def list_nat_rules(apiclient, **kwargs):
|
|
"""List all NAT rules matching criteria"""
|
|
|
|
cmd = listPortForwardingRules.listPortForwardingRulesCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listPortForwardingRules(cmd))
|
|
|
|
def list_lb_rules(apiclient, **kwargs):
|
|
"""List all Load balancing rules matching criteria"""
|
|
|
|
cmd = listLoadBalancerRules.listLoadBalancerRulesCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listLoadBalancerRules(cmd))
|
|
|
|
def list_lb_instances(apiclient, **kwargs):
|
|
"""List all Load balancing instances matching criteria"""
|
|
|
|
cmd = listLoadBalancerRuleInstances.listLoadBalancerRuleInstancesCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listLoadBalancerRuleInstances(cmd))
|
|
|
|
def list_firewall_rules(apiclient, **kwargs):
|
|
"""List all Firewall Rules matching criteria"""
|
|
|
|
cmd = listFirewallRules.listFirewallRulesCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listFirewallRules(cmd))
|
|
|
|
def list_volumes(apiclient, **kwargs):
|
|
"""List all volumes matching criteria"""
|
|
|
|
cmd = listVolumes.listVolumesCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listVolumes(cmd))
|
|
|
|
def list_isos(apiclient, **kwargs):
|
|
"""Lists all available ISO files."""
|
|
|
|
cmd = listIsos.listIsosCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listIsos(cmd))
|
|
|
|
def list_snapshots(apiclient, **kwargs):
|
|
"""List all snapshots matching criteria"""
|
|
|
|
cmd = listSnapshots.listSnapshotsCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listSnapshots(cmd))
|
|
|
|
def list_templates(apiclient, **kwargs):
|
|
"""List all templates matching criteria"""
|
|
|
|
cmd = listTemplates.listTemplatesCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listTemplates(cmd))
|
|
|
|
def list_accounts(apiclient, **kwargs):
|
|
"""Lists accounts and provides detailed account information for
|
|
listed accounts"""
|
|
|
|
cmd = listAccounts.listAccountsCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listAccounts(cmd))
|
|
|
|
def list_snapshot_policy(apiclient, **kwargs):
|
|
"""Lists snapshot policies."""
|
|
|
|
cmd = listSnapshotPolicies.listSnapshotPoliciesCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listSnapshotPolicies(cmd))
|
|
|
|
def list_events(apiclient, **kwargs):
|
|
"""Lists events"""
|
|
|
|
cmd = listEvents.listEventsCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listEvents(cmd))
|
|
|
|
def list_disk_offering(apiclient, **kwargs):
|
|
"""Lists all available disk offerings."""
|
|
|
|
cmd = listDiskOfferings.listDiskOfferingsCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listDiskOfferings(cmd))
|
|
|
|
def list_service_offering(apiclient, **kwargs):
|
|
"""Lists all available service offerings."""
|
|
|
|
cmd = listServiceOfferings.listServiceOfferingsCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listServiceOfferings(cmd))
|
|
|
|
def list_vlan_ipranges(apiclient, **kwargs):
|
|
"""Lists all VLAN IP ranges."""
|
|
|
|
cmd = listVlanIpRanges.listVlanIpRangesCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listVlanIpRanges(cmd))
|
|
|
|
def list_usage_records(apiclient, **kwargs):
|
|
"""Lists usage records for accounts"""
|
|
|
|
cmd = listUsageRecords.listUsageRecordsCmd()
|
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
|
return(apiclient.listUsageRecords(cmd))
|