NAME
    Net::CloudStack::API - Basic request and response handling for calls to
    a CloudStack service.

VERSION
      This document describes v0.02 of Net::CloudStack::API - released July 13, 2012 as part of Net-CloudStack-API.

SYNOPSIS
      use Net::CloudStack::API;
      my $cs = Net::CloudStack::API->new;
      $cs->api( 'see Net::CloudStack docs for setup details' );
      print $cs->listVolumes;

      use Net::CloudStack::API 'listVolumes';
      Net::CloudStack::API::api( 'see Net::CloudStack docs for setup details' );
      print listVolume();

      use Net::CloudStack::API ':Volume';
      Net::CloudStack::API::api( 'see Net::CloudStack docs for setup details' );
      print listVolumes();

DESCRIPTION
    This module handles parameter checking for the various calls available
    from a cloudstack service.

    Probably should include some explanatory text here about how this file
    is generated.

METHODS
    Something about how these are the methods available.

    (A) indicates the method is asynchronous.

    Include text and reference here for async calls from docs.

Account Methods
  createAccount
    Creates an account

    User Level: 3 (FIXME: this needs to be improved)

   Request
   Required Parameters
    accounttype
        Type of the account. Specify 0 for user, 1 for root admin, and 2 for
        domain admin

    email
        email

    firstname
        firstname

    lastname
        lastname

    password
        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.

    username
        Unique username.

   Optional Parameters
    account
        Creates the user under the specified account. If no account is
        specified, the username will be used as the account name.

    domainid
        Creates the user under the specified domain.

    networkdomain
        Network domain for the account's networks

    timezone
        Specifies a timezone for this command. For more information on the
        timezone parameter, see Time Zone Format.

   Response
    account
        the account name of the user

    accounttype
        the account type of the user

    apikey
        the api key of the user

    created
        the date and time the user account was created

    domain
        the domain name of the user

    domainid
        the domain ID of the user

    email
        the user email address

    firstname
        the user firstname

    id  the user ID

    lastname
        the user lastname

    secretkey
        the secret key of the user

    state
        the user state

    timezone
        the timezone user was created in

    username
        the user name

  deleteAccount
    Deletes a account, and all users associated with this account

    User Level: 3 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  Account id

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  updateAccount (A)
    Updates account information for the authenticated user

    User Level: 3 (FIXME: this needs to be improved)

   Request
   Required Parameters
    account
        the current account name

    domainid
        the ID of the domain where the account exists

    newname
        new name for the account

   Optional Parameters
    networkdomain
        Network domain for the account's networks

   Response
    accounttype
        account type (admin, domain-admin, user)

    domain
        name of the Domain the account belongs too

    domainid
        id of the Domain the account belongs too

    id  the id of the account

    ipavailable
        the total number of public ip addresses available for this account
        to acquire

    iplimit
        the total number of public ip addresses this account can acquire

    iptotal
        the total number of public ip addresses allocated for this account

    iscleanuprequired
        true if the account requires cleanup

    name
        the name of the account

    networkdomain
        the network domain

    receivedbytes
        the total number of network traffic bytes received

    sentbytes
        the total number of network traffic bytes sent

    snapshotavailable
        the total number of snapshots available for this account

    snapshotlimit
        the total number of snapshots which can be stored by this account

    snapshottotal
        the total number of snapshots stored by this account

    state
        the state of the account

    templateavailable
        the total number of templates available to be created by this
        account

    templatelimit
        the total number of templates which can be created by this account

    templatetotal
        the total number of templates which have been created by this
        account

    user(*)
        the list of users associated with account

    vmavailable
        the total number of virtual machines available for this account to
        acquire

    vmlimit
        the total number of virtual machines that can be deployed by this
        account

    vmrunning
        the total number of virtual machines running for this account

    vmstopped
        the total number of virtual machines stopped for this account

    vmtotal
        the total number of virtual machines deployed by this account

    volumeavailable
        the total volume available for this account

    volumelimit
        the total volume which can be used by this account

    volumetotal
        the total volume being used by this account

  disableAccount
    Disables an account

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Required Parameters
    account
        Disables specified account.

    domainid
        Disables specified account in this domain.

    lock
        If true, only lock the account; else disable the account

   Response
    accounttype
        account type (admin, domain-admin, user)

    domain
        name of the Domain the account belongs too

    domainid
        id of the Domain the account belongs too

    id  the id of the account

    ipavailable
        the total number of public ip addresses available for this account
        to acquire

    iplimit
        the total number of public ip addresses this account can acquire

    iptotal
        the total number of public ip addresses allocated for this account

    iscleanuprequired
        true if the account requires cleanup

    name
        the name of the account

    networkdomain
        the network domain

    receivedbytes
        the total number of network traffic bytes received

    sentbytes
        the total number of network traffic bytes sent

    snapshotavailable
        the total number of snapshots available for this account

    snapshotlimit
        the total number of snapshots which can be stored by this account

    snapshottotal
        the total number of snapshots stored by this account

    state
        the state of the account

    templateavailable
        the total number of templates available to be created by this
        account

    templatelimit
        the total number of templates which can be created by this account

    templatetotal
        the total number of templates which have been created by this
        account

    user(*)
        the list of users associated with account

    vmavailable
        the total number of virtual machines available for this account to
        acquire

    vmlimit
        the total number of virtual machines that can be deployed by this
        account

    vmrunning
        the total number of virtual machines running for this account

    vmstopped
        the total number of virtual machines stopped for this account

    vmtotal
        the total number of virtual machines deployed by this account

    volumeavailable
        the total volume available for this account

    volumelimit
        the total volume which can be used by this account

    volumetotal
        the total volume being used by this account

  enableAccount (A)
    Enables an account

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Required Parameters
    account
        Enables specified account.

    domainid
        Enables specified account in this domain.

   Response
    accounttype
        account type (admin, domain-admin, user)

    domain
        name of the Domain the account belongs too

    domainid
        id of the Domain the account belongs too

    id  the id of the account

    ipavailable
        the total number of public ip addresses available for this account
        to acquire

    iplimit
        the total number of public ip addresses this account can acquire

    iptotal
        the total number of public ip addresses allocated for this account

    iscleanuprequired
        true if the account requires cleanup

    name
        the name of the account

    networkdomain
        the network domain

    receivedbytes
        the total number of network traffic bytes received

    sentbytes
        the total number of network traffic bytes sent

    snapshotavailable
        the total number of snapshots available for this account

    snapshotlimit
        the total number of snapshots which can be stored by this account

    snapshottotal
        the total number of snapshots stored by this account

    state
        the state of the account

    templateavailable
        the total number of templates available to be created by this
        account

    templatelimit
        the total number of templates which can be created by this account

    templatetotal
        the total number of templates which have been created by this
        account

    user(*)
        the list of users associated with account

    vmavailable
        the total number of virtual machines available for this account to
        acquire

    vmlimit
        the total number of virtual machines that can be deployed by this
        account

    vmrunning
        the total number of virtual machines running for this account

    vmstopped
        the total number of virtual machines stopped for this account

    vmtotal
        the total number of virtual machines deployed by this account

    volumeavailable
        the total volume available for this account

    volumelimit
        the total volume which can be used by this account

    volumetotal
        the total volume being used by this account

  listAccounts
    Lists accounts and provides detailed account information for listed
    accounts

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    accounttype
        list accounts by account type. Valid account types are 1 (admin), 2
        (domain-admin), and 0 (user).

    domainid
        list all accounts in specified domain. If used with the name
        parameter, retrieves account information for the account with
        specified name in specified domain.

    id  list account by account ID

    iscleanuprequired
        list accounts by cleanuprequred attribute (values are true or false)

    isrecursive
        defaults to false, but if true, lists all accounts from the parent
        specified by the domain id till leaves.

    keyword
        List by keyword

    name
        list account by account name

    page
        no description

    pagesize
        no description

    state
        list accounts by state. Valid states are enabled, disabled, and
        locked.

   Response
    accounttype
        account type (admin, domain-admin, user)

    domain
        name of the Domain the account belongs too

    domainid
        id of the Domain the account belongs too

    id  the id of the account

    ipavailable
        the total number of public ip addresses available for this account
        to acquire

    iplimit
        the total number of public ip addresses this account can acquire

    iptotal
        the total number of public ip addresses allocated for this account

    iscleanuprequired
        true if the account requires cleanup

    name
        the name of the account

    networkdomain
        the network domain

    receivedbytes
        the total number of network traffic bytes received

    sentbytes
        the total number of network traffic bytes sent

    snapshotavailable
        the total number of snapshots available for this account

    snapshotlimit
        the total number of snapshots which can be stored by this account

    snapshottotal
        the total number of snapshots stored by this account

    state
        the state of the account

    templateavailable
        the total number of templates available to be created by this
        account

    templatelimit
        the total number of templates which can be created by this account

    templatetotal
        the total number of templates which have been created by this
        account

    user(*)
        the list of users associated with account

    vmavailable
        the total number of virtual machines available for this account to
        acquire

    vmlimit
        the total number of virtual machines that can be deployed by this
        account

    vmrunning
        the total number of virtual machines running for this account

    vmstopped
        the total number of virtual machines stopped for this account

    vmtotal
        the total number of virtual machines deployed by this account

    volumeavailable
        the total volume available for this account

    volumelimit
        the total volume which can be used by this account

    volumetotal
        the total volume being used by this account

Address Methods
  associateIpAddress
    Acquires and associates a public IP to an account.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    zoneid
        the ID of the availability zone you want to acquire an public IP
        address from

   Optional Parameters
    account
        the account to associate with this IP address

    domainid
        the ID of the domain to associate with this IP address

    networkid
        The network this ip address should be associated to.

   Response
    account
        the account the public IP address is associated with

    allocated
        date the public IP address was acquired

    associatednetworkid
        the ID of the Network associated with the IP address

    domain
        the domain the public IP address is associated with

    domainid
        the domain ID the public IP address is associated with

    forvirtualnetwork
        the virtual network for the IP address

    id  public IP address id

    ipaddress
        public IP address

    issourcenat
        true if the IP address is a source nat address, false otherwise

    isstaticnat
        true if this ip is for static nat, false otherwise

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the volume

    jobstatus
        shows the current pending asynchronous job status

    networkid
        the ID of the Network where ip belongs to

    state
        State of the ip address. Can be: Allocatin, Allocated and Releasing

    virtualmachinedisplayname
        virutal machine display name the ip address is assigned to (not null
        only for static nat Ip)

    virtualmachineid
        virutal machine id the ip address is assigned to (not null only for
        static nat Ip)

    virtualmachinename
        virutal machine name the ip address is assigned to (not null only
        for static nat Ip)

    vlanid
        the ID of the VLAN associated with the IP address

    vlanname
        the VLAN associated with the IP address

    zoneid
        the ID of the zone the public IP address belongs to

    zonename
        the name of the zone the public IP address belongs to

  disassociateIpAddress (A)
    Disassociates an ip address from the account.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the id of the public ip address to disassociate

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listPublicIpAddresses (A)
    Lists all public ip addresses

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        lists all public IP addresses by account. Must be used with the
        domainId parameter.

    allocatedonly
        limits search results to allocated public IP addresses

    domainid
        lists all public IP addresses by domain ID. If used with the account
        parameter, lists all public IP addresses by account for specified
        domain.

    forloadbalancing
        list only ips used for load balancing

    forvirtualnetwork
        the virtual network for the IP address

    id  lists ip address by id

    ipaddress
        lists the specified IP address

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

    vlanid
        lists all public IP addresses by VLAN ID

    zoneid
        lists all public IP addresses by Zone ID

   Response
    account
        the account the public IP address is associated with

    allocated
        date the public IP address was acquired

    associatednetworkid
        the ID of the Network associated with the IP address

    domain
        the domain the public IP address is associated with

    domainid
        the domain ID the public IP address is associated with

    forvirtualnetwork
        the virtual network for the IP address

    id  public IP address id

    ipaddress
        public IP address

    issourcenat
        true if the IP address is a source nat address, false otherwise

    isstaticnat
        true if this ip is for static nat, false otherwise

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the volume

    jobstatus
        shows the current pending asynchronous job status

    networkid
        the ID of the Network where ip belongs to

    state
        State of the ip address. Can be: Allocatin, Allocated and Releasing

    virtualmachinedisplayname
        virutal machine display name the ip address is assigned to (not null
        only for static nat Ip)

    virtualmachineid
        virutal machine id the ip address is assigned to (not null only for
        static nat Ip)

    virtualmachinename
        virutal machine name the ip address is assigned to (not null only
        for static nat Ip)

    vlanid
        the ID of the VLAN associated with the IP address

    vlanname
        the VLAN associated with the IP address

    zoneid
        the ID of the zone the public IP address belongs to

    zonename
        the name of the zone the public IP address belongs to

Alerts Methods
  listAlerts
    Lists all alerts.

    User Level: 3 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    id  the ID of the alert

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

    type
        list by alert type

   Response
    description
        description of the alert

    id  the id of the alert

    sent
        the date and time the alert was sent

    type
        the alert type

AsyncQuery Methods
  queryAsyncJobResult
    Retrieves the current status of asynchronous job.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    jobid
        the ID of the asychronous job

   Response
    accountid
        the account that executed the async command

    cmd the async command executed

    created
        the created date of the job

    jobid
        async job ID

    jobinstanceid
        the unique ID of the instance/entity object related to the job

    jobinstancetype
        the instance/entity object related to the job

    jobprocstatus
        the progress information of the PENDING job

    jobresult
        the result reason

    jobresultcode
        the result code for the job

    jobresulttype
        the result type

    jobstatus
        the current job status-should be 0 for PENDING

    userid
        the user that executed the async command

  listAsyncJobs
    Lists all pending asynchronous jobs for the account.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        the account associated with the async job. Must be used with the
        domainId parameter.

    domainid
        the domain ID associated with the async job. If used with the
        account parameter, returns async jobs for the account in the
        specified domain.

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

    startdate
        the start date of the async job

   Response
    accountid
        the account that executed the async command

    cmd the async command executed

    created
        the created date of the job

    jobid
        async job ID

    jobinstanceid
        the unique ID of the instance/entity object related to the job

    jobinstancetype
        the instance/entity object related to the job

    jobprocstatus
        the progress information of the PENDING job

    jobresult
        the result reason

    jobresultcode
        the result code for the job

    jobresulttype
        the result type

    jobstatus
        the current job status-should be 0 for PENDING

    userid
        the user that executed the async command

Certificate Methods
  uploadCustomCertificate
    Uploads custom certificate

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    certificate
        the custom cert to be uploaded

    domainsuffix
        DNS domain suffix that the certificate is granted for

   Optional Parameters
    id  the custom cert id in the chain

    name
        the alias of the certificate

    privatekey
        the private key for the certificate

   Response
    message
        message of the certificate upload operation

CloudIdentifier Methods
  getCloudIdentifier (A)
    Retrieves a cloud identifier.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    userid
        the user ID for the cloud identifier

   Response
    cloudidentifier
        the cloud identifier

    signature
        the signed response for the cloud identifier

    userid
        the user ID for the cloud identifier

Configuration Methods
  updateConfiguration
    Updates a configuration.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    name
        the name of the configuration

   Optional Parameters
    value
        the value of the configuration

   Response
    category
        the category of the configuration

    description
        the description of the configuration

    name
        the name of the configuration

    value
        the value of the configuration

  listConfigurations
    Lists all configurations.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    category
        lists configurations by category

    keyword
        List by keyword

    name
        lists configuration by name

    page
        no description

    pagesize
        no description

   Response
    category
        the category of the configuration

    description
        the description of the configuration

    name
        the name of the configuration

    value
        the value of the configuration

  createConfiguration
    Adds configuration value

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    category
        component's category

    component
        the component of the configuration

    instance
        the instance of the configuration

    name
        the name of the configuration

   Optional Parameters
    description
        the description of the configuration

    value
        the value of the configuration

   Response
    category
        the category of the configuration

    description
        the description of the configuration

    name
        the name of the configuration

    value
        the value of the configuration

  listCapabilities
    Lists capabilities

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Response
    cloudstackversion
        version of the cloud stack

    firewallRuleUiEnabled
        true if the firewall rule UI is enabled

    securitygroupsenabled
        true if security groups support is enabled, false otherwise

    supportELB
        true if region supports elastic load balancer on basic zones

    userpublictemplateenabled
        true if user and domain admins can set templates to be shared, false
        otherwise

DiskOffering Methods
  createDiskOffering
    Creates a disk offering.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    displaytext
        alternate display text of the disk offering

    name
        name of the disk offering

   Optional Parameters
    customized
        whether disk offering is custom or not

    disksize
        size of the disk offering in GB

    domainid
        the ID of the containing domain, null for public offerings

    tags
        tags for the disk offering

   Response
    created
        the date this disk offering was created

    disksize
        the size of the disk offering in GB

    displaytext
        an alternate display text of the disk offering.

    domain
        the domain name this disk offering belongs to. Ignore this
        information as it is not currently applicable.

    domainid
        the domain ID this disk offering belongs to. Ignore this information
        as it is not currently applicable.

    id  unique ID of the disk offering

    iscustomized
        true if disk offering uses custom size, false otherwise

    name
        the name of the disk offering

    tags
        the tags for the disk offering

  updateDiskOffering
    Updates a disk offering.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  ID of the disk offering

   Optional Parameters
    displaytext
        updates alternate display text of the disk offering with this value

    name
        updates name of the disk offering with this value

   Response
    created
        the date this disk offering was created

    disksize
        the size of the disk offering in GB

    displaytext
        an alternate display text of the disk offering.

    domain
        the domain name this disk offering belongs to. Ignore this
        information as it is not currently applicable.

    domainid
        the domain ID this disk offering belongs to. Ignore this information
        as it is not currently applicable.

    id  unique ID of the disk offering

    iscustomized
        true if disk offering uses custom size, false otherwise

    name
        the name of the disk offering

    tags
        the tags for the disk offering

  deleteDiskOffering
    Updates a disk offering.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  ID of the disk offering

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listDiskOfferings
    Lists all available disk offerings.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    domainid
        the ID of the domain of the disk offering.

    id  ID of the disk offering

    keyword
        List by keyword

    name
        name of the disk offering

    page
        no description

    pagesize
        no description

   Response
    created
        the date this disk offering was created

    disksize
        the size of the disk offering in GB

    displaytext
        an alternate display text of the disk offering.

    domain
        the domain name this disk offering belongs to. Ignore this
        information as it is not currently applicable.

    domainid
        the domain ID this disk offering belongs to. Ignore this information
        as it is not currently applicable.

    id  unique ID of the disk offering

    iscustomized
        true if disk offering uses custom size, false otherwise

    name
        the name of the disk offering

    tags
        the tags for the disk offering

Domain Methods
  createDomain
    Creates a domain

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    name
        creates domain with this name

   Optional Parameters
    networkdomain
        Network domain for networks in the domain

    parentdomainid
        assigns new domain a parent domain by domain ID of the parent. If no
        parent domain is specied, the ROOT domain is assumed.

   Response
    haschild
        whether the domain has one or more sub-domains

    id  the ID of the domain

    level
        the level of the domain

    name
        the name of the domain

    networkdomain
        the network domain

    parentdomainid
        the domain ID of the parent domain

    parentdomainname
        the domain name of the parent domain

    path
        the path of the domain

  updateDomain
    Updates a domain with a new name

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  ID of domain to update

   Optional Parameters
    name
        updates domain with this name

    networkdomain
        Network domain for the domain's networks

   Response
    haschild
        whether the domain has one or more sub-domains

    id  the ID of the domain

    level
        the level of the domain

    name
        the name of the domain

    networkdomain
        the network domain

    parentdomainid
        the domain ID of the parent domain

    parentdomainname
        the domain name of the parent domain

    path
        the path of the domain

  deleteDomain
    Deletes a specified domain

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  ID of domain to delete

   Optional Parameters
    cleanup
        true if all domain resources (child domains, accounts) have to be
        cleaned up, false otherwise

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listDomains (A)
    Lists domains and provides detailed information for listed domains

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    id  List domain by domain ID.

    keyword
        List by keyword

    level
        List domains by domain level.

    name
        List domain by domain name.

    page
        no description

    pagesize
        no description

   Response
    haschild
        whether the domain has one or more sub-domains

    id  the ID of the domain

    level
        the level of the domain

    name
        the name of the domain

    networkdomain
        the network domain

    parentdomainid
        the domain ID of the parent domain

    parentdomainname
        the domain name of the parent domain

    path
        the path of the domain

  listDomainChildren
    Lists all children domains belonging to a specified domain

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    id  list children domain by parent domain ID.

    isrecursive
        to return the entire tree, use the value "true". To return the first
        level children, use the value "false".

    keyword
        List by keyword

    name
        list children domains by name

    page
        no description

    pagesize
        no description

   Response
    haschild
        whether the domain has one or more sub-domains

    id  the ID of the domain

    level
        the level of the domain

    name
        the name of the domain

    networkdomain
        the network domain

    parentdomainid
        the domain ID of the parent domain

    parentdomainname
        the domain name of the parent domain

    path
        the path of the domain

Events Methods
  listEvents
    A command to list events.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        the account for the event. Must be used with the domainId parameter.

    domainid
        the domain ID for the event. If used with the account parameter,
        returns all events for an account in the specified domain ID.

    duration
        the duration of the event

    enddate
        the end date range of the list you want to retrieve (use format
        "yyyy-MM-dd" or the new format "yyyy-MM-dd HH:mm:ss")

    entrytime
        the time the event was entered

    id  the ID of the event

    keyword
        List by keyword

    level
        the event level (INFO, WARN, ERROR)

    page
        no description

    pagesize
        no description

    startdate
        the start date range of the list you want to retrieve (use format
        "yyyy-MM-dd" or the new format "yyyy-MM-dd HH:mm:ss")

    type
        the event type (see event types)

   Response
    account
        the account name for the account that owns the object being acted on
        in the event (e.g. the owner of the virtual machine, ip address, or
        security group)

    created
        the date the event was created

    description
        a brief description of the event

    domain
        the name of the account's domain

    domainid
        the id of the account's domain

    id  the ID of the event

    level
        the event level (INFO, WARN, ERROR)

    parentid
        whether the event is parented

    state
        the state of the event

    type
        the type of the event (see event types)

    username
        the name of the user who performed the action (can be different from
        the account if an admin is performing an action for a user, e.g.
        starting/stopping a user's virtual machine)

  listEventTypes
    List Event Types

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Response
    name
        Event Type

ExternalFirewall Methods
  addExternalFirewall
    Adds an external firewall appliance

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    password
        Password of the external firewall appliance.

    url URL of the external firewall appliance.

    username
        Username of the external firewall appliance.

    zoneid
        Zone in which to add the external firewall appliance.

   Response
    id  the ID of the external firewall

    ipaddress
        the management IP address of the external firewall

    numretries
        the number of times to retry requests to the external firewall

    privateinterface
        the private interface of the external firewall

    privatezone
        the private security zone of the external firewall

    publicinterface
        the public interface of the external firewall

    publiczone
        the public security zone of the external firewall

    timeout
        the timeout (in seconds) for requests to the external firewall

    usageinterface
        the usage interface of the external firewall

    username
        the username that's used to log in to the external firewall

    zoneid
        the zone ID of the external firewall

  deleteExternalFirewall
    Deletes an external firewall appliance.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  Id of the external firewall appliance.

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listExternalFirewalls
    List external firewall appliances.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    zoneid
        zone Id

   Optional Parameters
    keyword
        List by keyword

    page
        no description

    pagesize
        no description

   Response
    id  the ID of the external firewall

    ipaddress
        the management IP address of the external firewall

    numretries
        the number of times to retry requests to the external firewall

    privateinterface
        the private interface of the external firewall

    privatezone
        the private security zone of the external firewall

    publicinterface
        the public interface of the external firewall

    publiczone
        the public security zone of the external firewall

    timeout
        the timeout (in seconds) for requests to the external firewall

    usageinterface
        the usage interface of the external firewall

    username
        the username that's used to log in to the external firewall

    zoneid
        the zone ID of the external firewall

ExternalLoadBalancer Methods
  addExternalLoadBalancer
    Adds an external load balancer appliance.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    password
        Password of the external load balancer appliance.

    url URL of the external load balancer appliance.

    username
        Username of the external load balancer appliance.

    zoneid
        Zone in which to add the external load balancer appliance.

   Response
    id  the ID of the external load balancer

    inline
        configures the external load balancer to be inline with an external
        firewall

    ipaddress
        the management IP address of the external load balancer

    numretries
        the number of times to retry requests to the external load balancer

    privateinterface
        the private interface of the external load balancer

    publicinterface
        the public interface of the external load balancer

    username
        the username that's used to log in to the external load balancer

    zoneid
        the zone ID of the external load balancer

  deleteExternalLoadBalancer
    Deletes an external load balancer appliance.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  Id of the external loadbalancer appliance.

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listExternalLoadBalancers
    List external load balancer appliances.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    keyword
        List by keyword

    page
        no description

    pagesize
        no description

    zoneid
        zone Id

   Response
    allocationstate
        the allocation state of the host

    averageload
        the cpu average load on the host

    capabilities
        capabilities of the host

    clusterid
        the cluster ID of the host

    clustername
        the cluster name of the host

    clustertype
        the cluster type of the cluster that host belongs to

    cpuallocated
        the amount of the host's CPU currently allocated

    cpunumber
        the CPU number of the host

    cpuspeed
        the CPU speed of the host

    cpuused
        the amount of the host's CPU currently used

    cpuwithoverprovisioning
        the amount of the host's CPU after applying the
        cpu.overprovisioning.factor

    created
        the date and time the host was created

    disconnected
        true if the host is disconnected. False otherwise.

    disksizeallocated
        the host's currently allocated disk size

    disksizetotal
        the total disk size of the host

    events
        events available for the host

    hasEnoughCapacity
        true if this host has enough CPU and RAM capacity to migrate a VM to
        it, false otherwise

    hosttags
        comma-separated list of tags for the host

    hypervisor
        the host hypervisor

    id  the ID of the host

    ipaddress
        the IP address of the host

    islocalstorageactive
        true if local storage is active, false otherwise

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the host

    jobstatus
        shows the current pending asynchronous job status

    lastpinged
        the date and time the host was last pinged

    managementserverid
        the management server ID of the host

    memoryallocated
        the amount of the host's memory currently allocated

    memorytotal
        the memory total of the host

    memoryused
        the amount of the host's memory currently used

    name
        the name of the host

    networkkbsread
        the incoming network traffic on the host

    networkkbswrite
        the outgoing network traffic on the host

    oscategoryid
        the OS category ID of the host

    oscategoryname
        the OS category name of the host

    podid
        the Pod ID of the host

    podname
        the Pod name of the host

    removed
        the date and time the host was removed

    state
        the state of the host

    type
        the host type

    version
        the host version

    zoneid
        the Zone ID of the host

    zonename
        the Zone name of the host

Firewall Methods
  listPortForwardingRules
    Lists all port forwarding rules for an IP address.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        account. Must be used with the domainId parameter.

    domainid
        the domain ID. If used with the account parameter, lists port
        forwarding rules for the specified account in this domain.

    id  Lists rule with the specified ID.

    ipaddressid
        the id of IP address of the port forwarding services

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

   Response
    cidrlist
        the cidr list to forward traffic from

    id  the ID of the port forwarding rule

    ipaddress
        the public ip address for the port forwarding rule

    ipaddressid
        the public ip address id for the port forwarding rule

    privateendport
        the ending port of port forwarding rule's private port range

    privateport
        the starting port of port forwarding rule's private port range

    protocol
        the protocol of the port forwarding rule

    publicendport
        the ending port of port forwarding rule's private port range

    publicport
        the starting port of port forwarding rule's public port range

    state
        the state of the rule

    virtualmachinedisplayname
        the VM display name for the port forwarding rule

    virtualmachineid
        the VM ID for the port forwarding rule

    virtualmachinename
        the VM name for the port forwarding rule

  createPortForwardingRule
    Creates a port forwarding rule

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    ipaddressid
        the IP address id of the port forwarding rule

    privateport
        the starting port of port forwarding rule's private port range

    protocol
        the protocol for the port fowarding rule. Valid values are TCP or
        UDP.

    publicport
        the starting port of port forwarding rule's public port range

    virtualmachineid
        the ID of the virtual machine for the port forwarding rule

   Optional Parameters
    cidrlist
        the cidr list to forward traffic from

    openfirewall
        if true, firewall rule for source/end pubic port is automatically
        created; if false - firewall rule has to be created explicitely. Has
        value true by default

    privateendport
        the ending port of port forwarding rule's private port range

    publicendport
        the ending port of port forwarding rule's private port range

   Response
    cidrlist
        the cidr list to forward traffic from

    id  the ID of the port forwarding rule

    ipaddress
        the public ip address for the port forwarding rule

    ipaddressid
        the public ip address id for the port forwarding rule

    privateendport
        the ending port of port forwarding rule's private port range

    privateport
        the starting port of port forwarding rule's private port range

    protocol
        the protocol of the port forwarding rule

    publicendport
        the ending port of port forwarding rule's private port range

    publicport
        the starting port of port forwarding rule's public port range

    state
        the state of the rule

    virtualmachinedisplayname
        the VM display name for the port forwarding rule

    virtualmachineid
        the VM ID for the port forwarding rule

    virtualmachinename
        the VM name for the port forwarding rule

  deletePortForwardingRule (A)
    Deletes a port forwarding rule

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the port forwarding rule

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  createFirewallRule (A)
    Creates a firewall rule for a given ip address

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    ipaddressid
        the IP address id of the port forwarding rule

    protocol
        the protocol for the firewall rule. Valid values are TCP/UDP/ICMP.

   Optional Parameters
    cidrlist
        the cidr list to forward traffic from

    endport
        the ending port of firewall rule

    icmpcode
        error code for this icmp message

    icmptype
        type of the icmp message being sent

    startport
        the starting port of firewall rule

   Response
    cidrlist
        the cidr list to forward traffic from

    endport
        the ending port of firewall rule's port range

    icmpcode
        error code for this icmp message

    icmptype
        type of the icmp message being sent

    id  the ID of the firewall rule

    ipaddress
        the public ip address for the port forwarding rule

    ipaddressid
        the public ip address id for the port forwarding rule

    protocol
        the protocol of the firewall rule

    startport
        the starting port of firewall rule's port range

    state
        the state of the rule

  deleteFirewallRule (A)
    Deletes a firewall rule

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the firewall rule

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listFirewallRules (A)
    Lists all firewall rules for an IP address.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        account. Must be used with the domainId parameter.

    domainid
        the domain ID. If used with the account parameter, lists firewall
        rules for the specified account in this domain.

    id  Lists rule with the specified ID.

    ipaddressid
        the id of IP address of the firwall services

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

   Response
    cidrlist
        the cidr list to forward traffic from

    endport
        the ending port of firewall rule's port range

    icmpcode
        error code for this icmp message

    icmptype
        type of the icmp message being sent

    id  the ID of the firewall rule

    ipaddress
        the public ip address for the port forwarding rule

    ipaddressid
        the public ip address id for the port forwarding rule

    protocol
        the protocol of the firewall rule

    startport
        the starting port of firewall rule's port range

    state
        the state of the rule

GuestOS Methods
  listOsTypes
    Lists all supported OS types for this cloud.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    id  list by Os type Id

    keyword
        List by keyword

    oscategoryid
        list by Os Category id

    page
        no description

    pagesize
        no description

   Response
    description
        the name/description of the OS type

    id  the ID of the OS type

    oscategoryid
        the ID of the OS category

  listOsCategories
    Lists all supported OS categories for this cloud.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    id  list Os category by id

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

   Response
    id  the ID of the OS category

    name
        the name of the OS category

Host Methods
  addHost
    Adds a new host.

    User Level: 3 (FIXME: this needs to be improved)

   Request
   Required Parameters
    hypervisor
        hypervisor type of the host

    password
        the password for the host

    url the host URL

    username
        the username for the host

    zoneid
        the Zone ID for the host

   Optional Parameters
    allocationstate
        Allocation state of this Host for allocation of new resources

    clusterid
        the cluster ID for the host

    clustername
        the cluster name for the host

    hosttags
        list of tags to be added to the host

    podid
        the Pod ID for the host

   Response
    allocationstate
        the allocation state of the host

    averageload
        the cpu average load on the host

    capabilities
        capabilities of the host

    clusterid
        the cluster ID of the host

    clustername
        the cluster name of the host

    clustertype
        the cluster type of the cluster that host belongs to

    cpuallocated
        the amount of the host's CPU currently allocated

    cpunumber
        the CPU number of the host

    cpuspeed
        the CPU speed of the host

    cpuused
        the amount of the host's CPU currently used

    cpuwithoverprovisioning
        the amount of the host's CPU after applying the
        cpu.overprovisioning.factor

    created
        the date and time the host was created

    disconnected
        true if the host is disconnected. False otherwise.

    disksizeallocated
        the host's currently allocated disk size

    disksizetotal
        the total disk size of the host

    events
        events available for the host

    hasEnoughCapacity
        true if this host has enough CPU and RAM capacity to migrate a VM to
        it, false otherwise

    hosttags
        comma-separated list of tags for the host

    hypervisor
        the host hypervisor

    id  the ID of the host

    ipaddress
        the IP address of the host

    islocalstorageactive
        true if local storage is active, false otherwise

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the host

    jobstatus
        shows the current pending asynchronous job status

    lastpinged
        the date and time the host was last pinged

    managementserverid
        the management server ID of the host

    memoryallocated
        the amount of the host's memory currently allocated

    memorytotal
        the memory total of the host

    memoryused
        the amount of the host's memory currently used

    name
        the name of the host

    networkkbsread
        the incoming network traffic on the host

    networkkbswrite
        the outgoing network traffic on the host

    oscategoryid
        the OS category ID of the host

    oscategoryname
        the OS category name of the host

    podid
        the Pod ID of the host

    podname
        the Pod name of the host

    removed
        the date and time the host was removed

    state
        the state of the host

    type
        the host type

    version
        the host version

    zoneid
        the Zone ID of the host

    zonename
        the Zone name of the host

  addCluster
    Adds a new cluster

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    clustername
        the cluster name

    clustertype
        type of the cluster: CloudManaged, ExternalManaged

    hypervisor
        hypervisor type of the cluster:
        XenServer,KVM,VMware,Hyperv,BareMetal,Simulator

    zoneid
        the Zone ID for the cluster

   Optional Parameters
    allocationstate
        Allocation state of this cluster for allocation of new resources

    password
        the password for the host

    podid
        the Pod ID for the host

    url the URL

    username
        the username for the cluster

   Response
    allocationstate
        the allocation state of the cluster

    clustertype
        the type of the cluster

    hypervisortype
        the hypervisor type of the cluster

    id  the cluster ID

    managedstate
        whether this cluster is managed by cloudstack

    name
        the cluster name

    podid
        the Pod ID of the cluster

    podname
        the Pod name of the cluster

    zoneid
        the Zone ID of the cluster

    zonename
        the Zone name of the cluster

  deleteCluster
    Deletes a cluster.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the cluster ID

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  updateCluster
    Updates an existing cluster

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the Cluster

   Optional Parameters
    allocationstate
        Allocation state of this cluster for allocation of new resources

    clustername
        the cluster name

    clustertype
        hypervisor type of the cluster

    hypervisor
        hypervisor type of the cluster

    managedstate
        whether this cluster is managed by cloudstack

   Response
    allocationstate
        the allocation state of the cluster

    clustertype
        the type of the cluster

    hypervisortype
        the hypervisor type of the cluster

    id  the cluster ID

    managedstate
        whether this cluster is managed by cloudstack

    name
        the cluster name

    podid
        the Pod ID of the cluster

    podname
        the Pod name of the cluster

    zoneid
        the Zone ID of the cluster

    zonename
        the Zone name of the cluster

  reconnectHost
    Reconnects a host.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the host ID

   Response
    allocationstate
        the allocation state of the host

    averageload
        the cpu average load on the host

    capabilities
        capabilities of the host

    clusterid
        the cluster ID of the host

    clustername
        the cluster name of the host

    clustertype
        the cluster type of the cluster that host belongs to

    cpuallocated
        the amount of the host's CPU currently allocated

    cpunumber
        the CPU number of the host

    cpuspeed
        the CPU speed of the host

    cpuused
        the amount of the host's CPU currently used

    cpuwithoverprovisioning
        the amount of the host's CPU after applying the
        cpu.overprovisioning.factor

    created
        the date and time the host was created

    disconnected
        true if the host is disconnected. False otherwise.

    disksizeallocated
        the host's currently allocated disk size

    disksizetotal
        the total disk size of the host

    events
        events available for the host

    hasEnoughCapacity
        true if this host has enough CPU and RAM capacity to migrate a VM to
        it, false otherwise

    hosttags
        comma-separated list of tags for the host

    hypervisor
        the host hypervisor

    id  the ID of the host

    ipaddress
        the IP address of the host

    islocalstorageactive
        true if local storage is active, false otherwise

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the host

    jobstatus
        shows the current pending asynchronous job status

    lastpinged
        the date and time the host was last pinged

    managementserverid
        the management server ID of the host

    memoryallocated
        the amount of the host's memory currently allocated

    memorytotal
        the memory total of the host

    memoryused
        the amount of the host's memory currently used

    name
        the name of the host

    networkkbsread
        the incoming network traffic on the host

    networkkbswrite
        the outgoing network traffic on the host

    oscategoryid
        the OS category ID of the host

    oscategoryname
        the OS category name of the host

    podid
        the Pod ID of the host

    podname
        the Pod name of the host

    removed
        the date and time the host was removed

    state
        the state of the host

    type
        the host type

    version
        the host version

    zoneid
        the Zone ID of the host

    zonename
        the Zone name of the host

  updateHost (A)
    Updates a host.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the host to update

   Optional Parameters
    allocationstate
        Allocation state of this Host for allocation of new resources

    hosttags
        list of tags to be added to the host

    oscategoryid
        the id of Os category to update the host with

   Response
    allocationstate
        the allocation state of the host

    averageload
        the cpu average load on the host

    capabilities
        capabilities of the host

    clusterid
        the cluster ID of the host

    clustername
        the cluster name of the host

    clustertype
        the cluster type of the cluster that host belongs to

    cpuallocated
        the amount of the host's CPU currently allocated

    cpunumber
        the CPU number of the host

    cpuspeed
        the CPU speed of the host

    cpuused
        the amount of the host's CPU currently used

    cpuwithoverprovisioning
        the amount of the host's CPU after applying the
        cpu.overprovisioning.factor

    created
        the date and time the host was created

    disconnected
        true if the host is disconnected. False otherwise.

    disksizeallocated
        the host's currently allocated disk size

    disksizetotal
        the total disk size of the host

    events
        events available for the host

    hasEnoughCapacity
        true if this host has enough CPU and RAM capacity to migrate a VM to
        it, false otherwise

    hosttags
        comma-separated list of tags for the host

    hypervisor
        the host hypervisor

    id  the ID of the host

    ipaddress
        the IP address of the host

    islocalstorageactive
        true if local storage is active, false otherwise

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the host

    jobstatus
        shows the current pending asynchronous job status

    lastpinged
        the date and time the host was last pinged

    managementserverid
        the management server ID of the host

    memoryallocated
        the amount of the host's memory currently allocated

    memorytotal
        the memory total of the host

    memoryused
        the amount of the host's memory currently used

    name
        the name of the host

    networkkbsread
        the incoming network traffic on the host

    networkkbswrite
        the outgoing network traffic on the host

    oscategoryid
        the OS category ID of the host

    oscategoryname
        the OS category name of the host

    podid
        the Pod ID of the host

    podname
        the Pod name of the host

    removed
        the date and time the host was removed

    state
        the state of the host

    type
        the host type

    version
        the host version

    zoneid
        the Zone ID of the host

    zonename
        the Zone name of the host

  deleteHost
    Deletes a host.

    User Level: 3 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the host ID

   Optional Parameters
    forced
        Force delete the host. All HA enabled vms running on the host will
        be put to HA; HA disabled ones will be stopped

    forcedestroylocalstorage
        Force destroy local storage on this host. All VMs created on this
        local storage will be destroyed

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  prepareHostForMaintenance
    Prepares a host for maintenance.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the host ID

   Response
    allocationstate
        the allocation state of the host

    averageload
        the cpu average load on the host

    capabilities
        capabilities of the host

    clusterid
        the cluster ID of the host

    clustername
        the cluster name of the host

    clustertype
        the cluster type of the cluster that host belongs to

    cpuallocated
        the amount of the host's CPU currently allocated

    cpunumber
        the CPU number of the host

    cpuspeed
        the CPU speed of the host

    cpuused
        the amount of the host's CPU currently used

    cpuwithoverprovisioning
        the amount of the host's CPU after applying the
        cpu.overprovisioning.factor

    created
        the date and time the host was created

    disconnected
        true if the host is disconnected. False otherwise.

    disksizeallocated
        the host's currently allocated disk size

    disksizetotal
        the total disk size of the host

    events
        events available for the host

    hasEnoughCapacity
        true if this host has enough CPU and RAM capacity to migrate a VM to
        it, false otherwise

    hosttags
        comma-separated list of tags for the host

    hypervisor
        the host hypervisor

    id  the ID of the host

    ipaddress
        the IP address of the host

    islocalstorageactive
        true if local storage is active, false otherwise

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the host

    jobstatus
        shows the current pending asynchronous job status

    lastpinged
        the date and time the host was last pinged

    managementserverid
        the management server ID of the host

    memoryallocated
        the amount of the host's memory currently allocated

    memorytotal
        the memory total of the host

    memoryused
        the amount of the host's memory currently used

    name
        the name of the host

    networkkbsread
        the incoming network traffic on the host

    networkkbswrite
        the outgoing network traffic on the host

    oscategoryid
        the OS category ID of the host

    oscategoryname
        the OS category name of the host

    podid
        the Pod ID of the host

    podname
        the Pod name of the host

    removed
        the date and time the host was removed

    state
        the state of the host

    type
        the host type

    version
        the host version

    zoneid
        the Zone ID of the host

    zonename
        the Zone name of the host

  cancelHostMaintenance (A)
    Cancels host maintenance.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the host ID

   Response
    allocationstate
        the allocation state of the host

    averageload
        the cpu average load on the host

    capabilities
        capabilities of the host

    clusterid
        the cluster ID of the host

    clustername
        the cluster name of the host

    clustertype
        the cluster type of the cluster that host belongs to

    cpuallocated
        the amount of the host's CPU currently allocated

    cpunumber
        the CPU number of the host

    cpuspeed
        the CPU speed of the host

    cpuused
        the amount of the host's CPU currently used

    cpuwithoverprovisioning
        the amount of the host's CPU after applying the
        cpu.overprovisioning.factor

    created
        the date and time the host was created

    disconnected
        true if the host is disconnected. False otherwise.

    disksizeallocated
        the host's currently allocated disk size

    disksizetotal
        the total disk size of the host

    events
        events available for the host

    hasEnoughCapacity
        true if this host has enough CPU and RAM capacity to migrate a VM to
        it, false otherwise

    hosttags
        comma-separated list of tags for the host

    hypervisor
        the host hypervisor

    id  the ID of the host

    ipaddress
        the IP address of the host

    islocalstorageactive
        true if local storage is active, false otherwise

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the host

    jobstatus
        shows the current pending asynchronous job status

    lastpinged
        the date and time the host was last pinged

    managementserverid
        the management server ID of the host

    memoryallocated
        the amount of the host's memory currently allocated

    memorytotal
        the memory total of the host

    memoryused
        the amount of the host's memory currently used

    name
        the name of the host

    networkkbsread
        the incoming network traffic on the host

    networkkbswrite
        the outgoing network traffic on the host

    oscategoryid
        the OS category ID of the host

    oscategoryname
        the OS category name of the host

    podid
        the Pod ID of the host

    podname
        the Pod name of the host

    removed
        the date and time the host was removed

    state
        the state of the host

    type
        the host type

    version
        the host version

    zoneid
        the Zone ID of the host

    zonename
        the Zone name of the host

  listHosts (A)
    Lists hosts.

    User Level: 3 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    allocationstate
        list hosts by allocation state

    clusterid
        lists hosts existing in particular cluster

    details
        give details. 1 = minimal; 2 = include static info; 3 = include
        events; 4 = include allocation and statistics

    id  the id of the host

    keyword
        List by keyword

    name
        the name of the host

    page
        no description

    pagesize
        no description

    podid
        the Pod ID for the host

    state
        the state of the host

    type
        the host type

    virtualmachineid
        lists hosts in the same cluster as this VM and flag hosts with
        enough CPU/RAm to host this VM

    zoneid
        the Zone ID for the host

   Response
    allocationstate
        the allocation state of the host

    averageload
        the cpu average load on the host

    capabilities
        capabilities of the host

    clusterid
        the cluster ID of the host

    clustername
        the cluster name of the host

    clustertype
        the cluster type of the cluster that host belongs to

    cpuallocated
        the amount of the host's CPU currently allocated

    cpunumber
        the CPU number of the host

    cpuspeed
        the CPU speed of the host

    cpuused
        the amount of the host's CPU currently used

    cpuwithoverprovisioning
        the amount of the host's CPU after applying the
        cpu.overprovisioning.factor

    created
        the date and time the host was created

    disconnected
        true if the host is disconnected. False otherwise.

    disksizeallocated
        the host's currently allocated disk size

    disksizetotal
        the total disk size of the host

    events
        events available for the host

    hasEnoughCapacity
        true if this host has enough CPU and RAM capacity to migrate a VM to
        it, false otherwise

    hosttags
        comma-separated list of tags for the host

    hypervisor
        the host hypervisor

    id  the ID of the host

    ipaddress
        the IP address of the host

    islocalstorageactive
        true if local storage is active, false otherwise

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the host

    jobstatus
        shows the current pending asynchronous job status

    lastpinged
        the date and time the host was last pinged

    managementserverid
        the management server ID of the host

    memoryallocated
        the amount of the host's memory currently allocated

    memorytotal
        the memory total of the host

    memoryused
        the amount of the host's memory currently used

    name
        the name of the host

    networkkbsread
        the incoming network traffic on the host

    networkkbswrite
        the outgoing network traffic on the host

    oscategoryid
        the OS category ID of the host

    oscategoryname
        the OS category name of the host

    podid
        the Pod ID of the host

    podname
        the Pod name of the host

    removed
        the date and time the host was removed

    state
        the state of the host

    type
        the host type

    version
        the host version

    zoneid
        the Zone ID of the host

    zonename
        the Zone name of the host

  addSecondaryStorage
    Adds secondary storage.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    url the URL for the secondary storage

   Optional Parameters
    zoneid
        the Zone ID for the secondary storage

   Response
    allocationstate
        the allocation state of the host

    averageload
        the cpu average load on the host

    capabilities
        capabilities of the host

    clusterid
        the cluster ID of the host

    clustername
        the cluster name of the host

    clustertype
        the cluster type of the cluster that host belongs to

    cpuallocated
        the amount of the host's CPU currently allocated

    cpunumber
        the CPU number of the host

    cpuspeed
        the CPU speed of the host

    cpuused
        the amount of the host's CPU currently used

    cpuwithoverprovisioning
        the amount of the host's CPU after applying the
        cpu.overprovisioning.factor

    created
        the date and time the host was created

    disconnected
        true if the host is disconnected. False otherwise.

    disksizeallocated
        the host's currently allocated disk size

    disksizetotal
        the total disk size of the host

    events
        events available for the host

    hasEnoughCapacity
        true if this host has enough CPU and RAM capacity to migrate a VM to
        it, false otherwise

    hosttags
        comma-separated list of tags for the host

    hypervisor
        the host hypervisor

    id  the ID of the host

    ipaddress
        the IP address of the host

    islocalstorageactive
        true if local storage is active, false otherwise

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the host

    jobstatus
        shows the current pending asynchronous job status

    lastpinged
        the date and time the host was last pinged

    managementserverid
        the management server ID of the host

    memoryallocated
        the amount of the host's memory currently allocated

    memorytotal
        the memory total of the host

    memoryused
        the amount of the host's memory currently used

    name
        the name of the host

    networkkbsread
        the incoming network traffic on the host

    networkkbswrite
        the outgoing network traffic on the host

    oscategoryid
        the OS category ID of the host

    oscategoryname
        the OS category name of the host

    podid
        the Pod ID of the host

    podname
        the Pod name of the host

    removed
        the date and time the host was removed

    state
        the state of the host

    type
        the host type

    version
        the host version

    zoneid
        the Zone ID of the host

    zonename
        the Zone name of the host

  updateHostPassword
    Update password of a host/pool on management server.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    password
        the new password for the host/cluster

    username
        the username for the host/cluster

   Optional Parameters
    clusterid
        the cluster ID. Either this parameter, or hostId has to be passed in

    hostid
        the host ID. Either this parameter, or clusterId has to be passed in

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

ISO Methods
  attachIso
    Attaches an ISO to a virtual machine.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the ISO file

    virtualmachineid
        the ID of the virtual machine

   Response
    account
        the account associated with the virtual machine

    cpunumber
        the number of cpu this virtual machine is running with

    cpuspeed
        the speed of each cpu

    cpuused
        the amount of the vm's CPU currently used

    created
        the date when this virtual machine was created

    displayname
        user generated name. The name of the virtual machine is returned if
        no displayname exists.

    domain
        the name of the domain in which the virtual machine exists

    domainid
        the ID of the domain in which the virtual machine exists

    forvirtualnetwork
        the virtual network for the service offering

    group
        the group name of the virtual machine

    groupid
        the group ID of the virtual machine

    guestosid
        Os type ID of the virtual machine

    haenable
        true if high-availability is enabled, false otherwise

    hostid
        the ID of the host for the virtual machine

    hostname
        the name of the host for the virtual machine

    hypervisor
        the hypervisor on which the template runs

    id  the ID of the virtual machine

    ipaddress
        the ip address of the virtual machine

    isodisplaytext
        an alternate display text of the ISO attached to the virtual machine

    isoid
        the ID of the ISO attached to the virtual machine

    isoname
        the name of the ISO attached to the virtual machine

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the virtual
        machine

    jobstatus
        shows the current pending asynchronous job status

    memory
        the memory allocated for the virtual machine

    name
        the name of the virtual machine

    networkkbsread
        the incoming network traffic on the vm

    networkkbswrite
        the outgoing network traffic on the host

    nic(*)
        the list of nics associated with vm

    password
        the password (if exists) of the virtual machine

    passwordenabled
        true if the password rest feature is enabled, false otherwise

    rootdeviceid
        device ID of the root volume

    rootdevicetype
        device type of the root volume

    securitygroup(*)
        list of security groups associated with the virtual machine

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the virtual machine

    templatedisplaytext
        an alternate display text of the template for the virtual machine

    templateid
        the ID of the template for the virtual machine. A -1 is returned if
        the virtual machine was created from an ISO file.

    templatename
        the name of the template for the virtual machine

    zoneid
        the ID of the availablility zone for the virtual machine

    zonename
        the name of the availability zone for the virtual machine

  detachIso (A)
    Detaches any ISO file (if any) currently attached to a virtual machine.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    virtualmachineid
        The ID of the virtual machine

   Response
    account
        the account associated with the virtual machine

    cpunumber
        the number of cpu this virtual machine is running with

    cpuspeed
        the speed of each cpu

    cpuused
        the amount of the vm's CPU currently used

    created
        the date when this virtual machine was created

    displayname
        user generated name. The name of the virtual machine is returned if
        no displayname exists.

    domain
        the name of the domain in which the virtual machine exists

    domainid
        the ID of the domain in which the virtual machine exists

    forvirtualnetwork
        the virtual network for the service offering

    group
        the group name of the virtual machine

    groupid
        the group ID of the virtual machine

    guestosid
        Os type ID of the virtual machine

    haenable
        true if high-availability is enabled, false otherwise

    hostid
        the ID of the host for the virtual machine

    hostname
        the name of the host for the virtual machine

    hypervisor
        the hypervisor on which the template runs

    id  the ID of the virtual machine

    ipaddress
        the ip address of the virtual machine

    isodisplaytext
        an alternate display text of the ISO attached to the virtual machine

    isoid
        the ID of the ISO attached to the virtual machine

    isoname
        the name of the ISO attached to the virtual machine

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the virtual
        machine

    jobstatus
        shows the current pending asynchronous job status

    memory
        the memory allocated for the virtual machine

    name
        the name of the virtual machine

    networkkbsread
        the incoming network traffic on the vm

    networkkbswrite
        the outgoing network traffic on the host

    nic(*)
        the list of nics associated with vm

    password
        the password (if exists) of the virtual machine

    passwordenabled
        true if the password rest feature is enabled, false otherwise

    rootdeviceid
        device ID of the root volume

    rootdevicetype
        device type of the root volume

    securitygroup(*)
        list of security groups associated with the virtual machine

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the virtual machine

    templatedisplaytext
        an alternate display text of the template for the virtual machine

    templateid
        the ID of the template for the virtual machine. A -1 is returned if
        the virtual machine was created from an ISO file.

    templatename
        the name of the template for the virtual machine

    zoneid
        the ID of the availablility zone for the virtual machine

    zonename
        the name of the availability zone for the virtual machine

  listIsos (A)
    Lists all available ISO files.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        the account of the ISO file. Must be used with the domainId
        parameter.

    bootable
        true if the ISO is bootable, false otherwise

    domainid
        lists all available ISO files by ID of a domain. If used with the
        account parameter, lists all available ISO files for the account in
        the ID of a domain.

    hypervisor
        the hypervisor for which to restrict the search

    id  list all isos by id

    isofilter
        possible values are "featured", "self",
        "self-executable","executable", and "community". * featured-ISOs
        that are featured and are publicself-ISOs that have been
        registered/created by the owner. * selfexecutable-ISOs that have
        been registered/created by the owner that can be used to deploy a
        new VM. * executable-all ISOs that can be used to deploy a new VM *
        community-ISOs that are public.

    ispublic
        true if the ISO is publicly available to all users, false otherwise.

    isready
        true if this ISO is ready to be deployed

    keyword
        List by keyword

    name
        list all isos by name

    page
        no description

    pagesize
        no description

    zoneid
        the ID of the zone

   Response
    account
        the account name to which the template belongs

    accountid
        the account id to which the template belongs

    bootable
        true if the ISO is bootable, false otherwise

    checksum
        checksum of the template

    created
        the date this template was created

    crossZones
        true if the template is managed across all Zones, false otherwise

    details
        additional key/value details tied with template

    displaytext
        the template display text

    domain
        the name of the domain to which the template belongs

    domainid
        the ID of the domain to which the template belongs

    format
        the format of the template.

    hostid
        the ID of the secondary storage host for the template

    hostname
        the name of the secondary storage host for the template

    hypervisor
        the hypervisor on which the template runs

    id  the template ID

    isextractable
        true if the template is extractable, false otherwise

    isfeatured
        true if this template is a featured template, false otherwise

    ispublic
        true if this template is a public template, false otherwise

    isready
        true if the template is ready to be deployed from, false otherwise.

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the template

    jobstatus
        shows the current pending asynchronous job status

    name
        the template name

    ostypeid
        the ID of the OS type for this template.

    ostypename
        the name of the OS type for this template.

    passwordenabled
        true if the reset password feature is enabled, false otherwise

    removed
        the date this template was removed

    size
        the size of the template

    sourcetemplateid
        the template ID of the parent template if present

    status
        the status of the template

    templatetag
        the tag of this template

    templatetype
        the type of the template

    zoneid
        the ID of the zone for this template

    zonename
        the name of the zone for this template

  registerIso
    Registers an existing ISO into the Cloud.com Cloud.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    displaytext
        the display text of the ISO. This is usually used for display
        purposes.

    name
        the name of the ISO

    url the URL to where the ISO is currently being hosted

    zoneid
        the ID of the zone you wish to register the ISO to.

   Optional Parameters
    account
        an optional account name. Must be used with domainId.

    bootable
        true if this ISO is bootable

    domainid
        an optional domainId. If the account parameter is used, domainId
        must also be used.

    isextractable
        true if the iso or its derivatives are extractable; default is false

    isfeatured
        true if you want this ISO to be featured

    ispublic
        true if you want to register the ISO to be publicly available to all
        users, false otherwise.

    ostypeid
        the ID of the OS Type that best represents the OS of this ISO

   Response
    account
        the account name to which the template belongs

    accountid
        the account id to which the template belongs

    bootable
        true if the ISO is bootable, false otherwise

    checksum
        checksum of the template

    created
        the date this template was created

    crossZones
        true if the template is managed across all Zones, false otherwise

    details
        additional key/value details tied with template

    displaytext
        the template display text

    domain
        the name of the domain to which the template belongs

    domainid
        the ID of the domain to which the template belongs

    format
        the format of the template.

    hostid
        the ID of the secondary storage host for the template

    hostname
        the name of the secondary storage host for the template

    hypervisor
        the hypervisor on which the template runs

    id  the template ID

    isextractable
        true if the template is extractable, false otherwise

    isfeatured
        true if this template is a featured template, false otherwise

    ispublic
        true if this template is a public template, false otherwise

    isready
        true if the template is ready to be deployed from, false otherwise.

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the template

    jobstatus
        shows the current pending asynchronous job status

    name
        the template name

    ostypeid
        the ID of the OS type for this template.

    ostypename
        the name of the OS type for this template.

    passwordenabled
        true if the reset password feature is enabled, false otherwise

    removed
        the date this template was removed

    size
        the size of the template

    sourcetemplateid
        the template ID of the parent template if present

    status
        the status of the template

    templatetag
        the tag of this template

    templatetype
        the type of the template

    zoneid
        the ID of the zone for this template

    zonename
        the name of the zone for this template

  updateIso
    Updates an ISO file.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the image file

   Optional Parameters
    bootable
        true if image is bootable, false otherwise

    displaytext
        the display text of the image

    format
        the format for the image

    name
        the name of the image file

    ostypeid
        the ID of the OS type that best represents the OS of this image.

    passwordenabled
        true if the image supports the password reset feature; default is
        false

   Response
    account
        the account name to which the template belongs

    accountid
        the account id to which the template belongs

    bootable
        true if the ISO is bootable, false otherwise

    checksum
        checksum of the template

    created
        the date this template was created

    crossZones
        true if the template is managed across all Zones, false otherwise

    details
        additional key/value details tied with template

    displaytext
        the template display text

    domain
        the name of the domain to which the template belongs

    domainid
        the ID of the domain to which the template belongs

    format
        the format of the template.

    hostid
        the ID of the secondary storage host for the template

    hostname
        the name of the secondary storage host for the template

    hypervisor
        the hypervisor on which the template runs

    id  the template ID

    isextractable
        true if the template is extractable, false otherwise

    isfeatured
        true if this template is a featured template, false otherwise

    ispublic
        true if this template is a public template, false otherwise

    isready
        true if the template is ready to be deployed from, false otherwise.

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the template

    jobstatus
        shows the current pending asynchronous job status

    name
        the template name

    ostypeid
        the ID of the OS type for this template.

    ostypename
        the name of the OS type for this template.

    passwordenabled
        true if the reset password feature is enabled, false otherwise

    removed
        the date this template was removed

    size
        the size of the template

    sourcetemplateid
        the template ID of the parent template if present

    status
        the status of the template

    templatetag
        the tag of this template

    templatetype
        the type of the template

    zoneid
        the ID of the zone for this template

    zonename
        the name of the zone for this template

  deleteIso
    Deletes an ISO file.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the ISO file

   Optional Parameters
    zoneid
        the ID of the zone of the ISO file. If not specified, the ISO will
        be deleted from all the zones

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  copyIso (A)
    Copies a template from one zone to another.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    destzoneid
        ID of the zone the template is being copied to.

    id  Template ID.

    sourcezoneid
        ID of the zone the template is currently hosted on.

   Response
    account
        the account name to which the template belongs

    accountid
        the account id to which the template belongs

    bootable
        true if the ISO is bootable, false otherwise

    checksum
        checksum of the template

    created
        the date this template was created

    crossZones
        true if the template is managed across all Zones, false otherwise

    details
        additional key/value details tied with template

    displaytext
        the template display text

    domain
        the name of the domain to which the template belongs

    domainid
        the ID of the domain to which the template belongs

    format
        the format of the template.

    hostid
        the ID of the secondary storage host for the template

    hostname
        the name of the secondary storage host for the template

    hypervisor
        the hypervisor on which the template runs

    id  the template ID

    isextractable
        true if the template is extractable, false otherwise

    isfeatured
        true if this template is a featured template, false otherwise

    ispublic
        true if this template is a public template, false otherwise

    isready
        true if the template is ready to be deployed from, false otherwise.

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the template

    jobstatus
        shows the current pending asynchronous job status

    name
        the template name

    ostypeid
        the ID of the OS type for this template.

    ostypename
        the name of the OS type for this template.

    passwordenabled
        true if the reset password feature is enabled, false otherwise

    removed
        the date this template was removed

    size
        the size of the template

    sourcetemplateid
        the template ID of the parent template if present

    status
        the status of the template

    templatetag
        the tag of this template

    templatetype
        the type of the template

    zoneid
        the ID of the zone for this template

    zonename
        the name of the zone for this template

  updateIsoPermissions (A)
    Updates iso permissions

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the template ID

   Optional Parameters
    accounts
        a comma delimited list of accounts. If specified, "op" parameter has
        to be passed in.

    isextractable
        true if the template/iso is extractable, false other wise. Can be
        set only by root admin

    isfeatured
        true for featured template/iso, false otherwise

    ispublic
        true for public template/iso, false for private templates/isos

    op  permission operator (add, remove, reset)

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listIsoPermissions
    List template visibility and all accounts that have permissions to view
    this template.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the template ID

   Optional Parameters
    account
        List template visibility and permissions for the specified account.
        Must be used with the domainId parameter.

    domainid
        List template visibility and permissions by domain. If used with the
        account parameter, specifies in which domain the specified account
        exists.

   Response
    account
        the list of accounts the template is available for

    domainid
        the ID of the domain to which the template belongs

    id  the template ID

    ispublic
        true if this template is a public template, false otherwise

  extractIso
    Extracts an ISO

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the ISO file

    mode
        the mode of extraction - HTTP_DOWNLOAD or FTP_UPLOAD

    zoneid
        the ID of the zone where the ISO is originally located

   Optional Parameters
    url the url to which the ISO would be extracted

   Response
    accountid
        the account id to which the extracted object belongs

    created
        the time and date the object was created

    extractId
        the upload id of extracted object

    extractMode
        the mode of extraction - upload or download

    id  the id of extracted object

    name
        the name of the extracted object

    state
        the state of the extracted object

    status
        the status of the extraction

    storagetype
        type of the storage

    uploadpercentage
        the percentage of the entity uploaded to the specified location

    url if mode = upload then url of the uploaded entity. if mode = download
        the url from which the entity can be downloaded

    zoneid
        zone ID the object was extracted from

    zonename
        zone name the object was extracted from

Limit Methods
  updateResourceLimit (A)
    Updates resource limits for an account or domain.

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Required Parameters
    resourcetype
        Type of resource to update. Values are 0, 1, 2, 3, and 4. 0 -
        Instance. Number of instances a user can create. 1 - IP. Number of
        public IP addresses a user can own. 2 - Volume. Number of disk
        volumes a user can create.3 - Snapshot. Number of snapshots a user
        can create.4 - Template. Number of templates that a user can
        register/create.

   Optional Parameters
    account
        Update resource for a specified account. Must be used with the
        domainId parameter.

    domainid
        Update resource limits for all accounts in specified domain. If used
        with the account parameter, updates resource limits for a specified
        account in specified domain.

    max Maximum resource limit.

   Response
    account
        the account of the resource limit

    domain
        the domain name of the resource limit

    domainid
        the domain ID of the resource limit

    max the maximum number of the resource. A -1 means the resource
        currently has no limit.

    resourcetype
        resource type. Values include 0, 1, 2, 3, 4. See the resourceType
        parameter for more information on these values.

  updateResourceCount
    Recalculate and update resource count for an account or domain.

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Required Parameters
    domainid
        If account parameter specified then updates resource counts for a
        specified account in this domain else update resource counts for all
        accounts & child domains in specified domain.

   Optional Parameters
    account
        Update resource count for a specified account. Must be used with the
        domainId parameter.

    resourcetype
        Type of resource to update. If specifies valid values are 0, 1, 2,
        3, and 4. If not specified will update all resource counts0 -
        Instance. Number of instances a user can create. 1 - IP. Number of
        public IP addresses a user can own. 2 - Volume. Number of disk
        volumes a user can create.3 - Snapshot. Number of snapshots a user
        can create.4 - Template. Number of templates that a user can
        register/create.

   Response
    account
        the account for which resource count's are updated

    domain
        the domain name for which resource count's are updated

    domainid
        the domain ID for which resource count's are updated

    resourcecount
        resource count

    resourcetype
        resource type. Values include 0, 1, 2, 3, 4. See the resourceType
        parameter for more information on these values.

  listResourceLimits
    Lists resource limits.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        Lists resource limits by account. Must be used with the domainId
        parameter.

    domainid
        Lists resource limits by domain ID. If used with the account
        parameter, lists resource limits for a specified account in a
        specified domain.

    id  Lists resource limits by ID.

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

    resourcetype
        Type of resource to update. Values are 0, 1, 2, 3, and 4. 0 -
        Instance. Number of instances a user can create. 1 - IP. Number of
        public IP addresses a user can own. 2 - Volume. Number of disk
        volumes a user can create.3 - Snapshot. Number of snapshots a user
        can create.4 - Template. Number of templates that a user can
        register/create.

   Response
    account
        the account of the resource limit

    domain
        the domain name of the resource limit

    domainid
        the domain ID of the resource limit

    max the maximum number of the resource. A -1 means the resource
        currently has no limit.

    resourcetype
        resource type. Values include 0, 1, 2, 3, 4. See the resourceType
        parameter for more information on these values.

LoadBalancer Methods
  createLoadBalancerRule
    Creates a load balancer rule

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    algorithm
        load balancer algorithm (source, roundrobin, leastconn)

    name
        name of the load balancer rule

    privateport
        the private port of the private ip address/virtual machine where the
        network traffic will be load balanced to

    publicport
        the public port from where the network traffic will be load balanced
        from

   Optional Parameters
    account
        the account associated with the load balancer. Must be used with the
        domainId parameter.

    cidrlist
        the cidr list to forward traffic from

    description
        the description of the load balancer rule

    domainid
        the domain ID associated with the load balancer

    openfirewall
        if true, firewall rule for source/end pubic port is automatically
        created; if false - firewall rule has to be created explicitely. Has
        value true by default

    publicipid
        public ip address id from where the network traffic will be load
        balanced from

    zoneid
        public ip address id from where the network traffic will be load
        balanced from

   Response
    account
        the account of the load balancer rule

    algorithm
        the load balancer algorithm (source, roundrobin, leastconn)

    cidrlist
        the cidr list to forward traffic from

    description
        the description of the load balancer

    domain
        the domain of the load balancer rule

    domainid
        the domain ID of the load balancer rule

    id  the load balancer rule ID

    name
        the name of the load balancer

    privateport
        the private port

    publicip
        the public ip address

    publicipid
        the public ip address id

    publicport
        the public port

    state
        the state of the rule

    zoneid
        the id of the zone the rule belongs to

  deleteLoadBalancerRule (A)
    Deletes a load balancer rule.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the load balancer rule

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  removeFromLoadBalancerRule (A)
    Removes a virtual machine or a list of virtual machines from a load
    balancer rule.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the load balancer rule

    virtualmachineids
        the list of IDs of the virtual machines that are being removed from
        the load balancer rule (i.e. virtualMachineIds=1,2,3)

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  assignToLoadBalancerRule (A)
    Assigns virtual machine or a list of virtual machines to a load balancer
    rule.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the load balancer rule

    virtualmachineids
        the list of IDs of the virtual machine that are being assigned to
        the load balancer rule(i.e. virtualMachineIds=1,2,3)

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listLoadBalancerRules (A)
    Lists load balancer rules.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        the account of the load balancer rule. Must be used with the
        domainId parameter.

    domainid
        the domain ID of the load balancer rule. If used with the account
        parameter, lists load balancer rules for the account in the
        specified domain.

    id  the ID of the load balancer rule

    keyword
        List by keyword

    name
        the name of the load balancer rule

    page
        no description

    pagesize
        no description

    publicipid
        the public IP address id of the load balancer rule

    virtualmachineid
        the ID of the virtual machine of the load balancer rule

    zoneid
        the availability zone ID

   Response
    account
        the account of the load balancer rule

    algorithm
        the load balancer algorithm (source, roundrobin, leastconn)

    cidrlist
        the cidr list to forward traffic from

    description
        the description of the load balancer

    domain
        the domain of the load balancer rule

    domainid
        the domain ID of the load balancer rule

    id  the load balancer rule ID

    name
        the name of the load balancer

    privateport
        the private port

    publicip
        the public ip address

    publicipid
        the public ip address id

    publicport
        the public port

    state
        the state of the rule

    zoneid
        the id of the zone the rule belongs to

  listLoadBalancerRuleInstances
    List all virtual machine instances that are assigned to a load balancer
    rule.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the load balancer rule

   Optional Parameters
    applied
        true if listing all virtual machines currently applied to the load
        balancer rule; default is true

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

   Response
    account
        the account associated with the virtual machine

    cpunumber
        the number of cpu this virtual machine is running with

    cpuspeed
        the speed of each cpu

    cpuused
        the amount of the vm's CPU currently used

    created
        the date when this virtual machine was created

    displayname
        user generated name. The name of the virtual machine is returned if
        no displayname exists.

    domain
        the name of the domain in which the virtual machine exists

    domainid
        the ID of the domain in which the virtual machine exists

    forvirtualnetwork
        the virtual network for the service offering

    group
        the group name of the virtual machine

    groupid
        the group ID of the virtual machine

    guestosid
        Os type ID of the virtual machine

    haenable
        true if high-availability is enabled, false otherwise

    hostid
        the ID of the host for the virtual machine

    hostname
        the name of the host for the virtual machine

    hypervisor
        the hypervisor on which the template runs

    id  the ID of the virtual machine

    ipaddress
        the ip address of the virtual machine

    isodisplaytext
        an alternate display text of the ISO attached to the virtual machine

    isoid
        the ID of the ISO attached to the virtual machine

    isoname
        the name of the ISO attached to the virtual machine

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the virtual
        machine

    jobstatus
        shows the current pending asynchronous job status

    memory
        the memory allocated for the virtual machine

    name
        the name of the virtual machine

    networkkbsread
        the incoming network traffic on the vm

    networkkbswrite
        the outgoing network traffic on the host

    nic(*)
        the list of nics associated with vm

    password
        the password (if exists) of the virtual machine

    passwordenabled
        true if the password rest feature is enabled, false otherwise

    rootdeviceid
        device ID of the root volume

    rootdevicetype
        device type of the root volume

    securitygroup(*)
        list of security groups associated with the virtual machine

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the virtual machine

    templatedisplaytext
        an alternate display text of the template for the virtual machine

    templateid
        the ID of the template for the virtual machine. A -1 is returned if
        the virtual machine was created from an ISO file.

    templatename
        the name of the template for the virtual machine

    zoneid
        the ID of the availablility zone for the virtual machine

    zonename
        the name of the availability zone for the virtual machine

  updateLoadBalancerRule
    Updates load balancer

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the id of the load balancer rule to update

   Optional Parameters
    algorithm
        load balancer algorithm (source, roundrobin, leastconn)

    description
        the description of the load balancer rule

    name
        the name of the load balancer rule

   Response
    account
        the account of the load balancer rule

    algorithm
        the load balancer algorithm (source, roundrobin, leastconn)

    cidrlist
        the cidr list to forward traffic from

    description
        the description of the load balancer

    domain
        the domain of the load balancer rule

    domainid
        the domain ID of the load balancer rule

    id  the load balancer rule ID

    name
        the name of the load balancer

    privateport
        the private port

    publicip
        the public ip address

    publicipid
        the public ip address id

    publicport
        the public port

    state
        the state of the rule

    zoneid
        the id of the zone the rule belongs to

NAT Methods
  enableStaticNat (A)
    Enables static nat for given ip address

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    ipaddressid
        the public IP address id for which static nat feature is being
        enabled

    virtualmachineid
        the ID of the virtual machine for enabling static nat feature

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  createIpForwardingRule
    Creates an ip forwarding rule

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    ipaddressid
        the public IP address id of the forwarding rule, already associated
        via associateIp

    protocol
        the protocol for the rule. Valid values are TCP or UDP.

    startport
        the start port for the rule

   Optional Parameters
    cidrlist
        the cidr list to forward traffic from

    endport
        the end port for the rule

    openfirewall
        if true, firewall rule for source/end pubic port is automatically
        created; if false - firewall rule has to be created explicitely. Has
        value true by default

   Response
    cidrlist
        the cidr list to forward traffic from

    id  the ID of the port forwarding rule

    ipaddress
        the public ip address for the port forwarding rule

    ipaddressid
        the public ip address id for the port forwarding rule

    privateendport
        the ending port of port forwarding rule's private port range

    privateport
        the starting port of port forwarding rule's private port range

    protocol
        the protocol of the port forwarding rule

    publicendport
        the ending port of port forwarding rule's private port range

    publicport
        the starting port of port forwarding rule's public port range

    state
        the state of the rule

    virtualmachinedisplayname
        the VM display name for the port forwarding rule

    virtualmachineid
        the VM ID for the port forwarding rule

    virtualmachinename
        the VM name for the port forwarding rule

  deleteIpForwardingRule (A)
    Deletes an ip forwarding rule

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the id of the forwarding rule

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listIpForwardingRules (A)
    List the ip forwarding rules

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        the account associated with the ip forwarding rule. Must be used
        with the domainId parameter.

    domainid
        Lists all rules for this id. If used with the account parameter,
        returns all rules for an account in the specified domain ID.

    id  Lists rule with the specified ID.

    ipaddressid
        list the rule belonging to this public ip address

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

    virtualmachineid
        Lists all rules applied to the specified Vm.

   Response
    cidrlist
        the cidr list to forward traffic from

    id  the ID of the port forwarding rule

    ipaddress
        the public ip address for the port forwarding rule

    ipaddressid
        the public ip address id for the port forwarding rule

    privateendport
        the ending port of port forwarding rule's private port range

    privateport
        the starting port of port forwarding rule's private port range

    protocol
        the protocol of the port forwarding rule

    publicendport
        the ending port of port forwarding rule's private port range

    publicport
        the starting port of port forwarding rule's public port range

    state
        the state of the rule

    virtualmachinedisplayname
        the VM display name for the port forwarding rule

    virtualmachineid
        the VM ID for the port forwarding rule

    virtualmachinename
        the VM name for the port forwarding rule

  disableStaticNat
    Disables static rule for given ip address

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    ipaddressid
        the public IP address id for which static nat feature is being
        disableed

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

NetAppIntegration Methods
  createVolumeOnFiler (A)
    Create a volume

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    aggregatename
        aggregate name.

    ipaddress
        ip address.

    password
        password.

    poolname
        pool name.

    size
        volume size.

    username
        user name.

    volumename
        volume name.

   Optional Parameters
    snapshotpolicy
        snapshot policy.

    snapshotreservation
        snapshot reservation.

   Response
  destroyVolumeOnFiler
    Destroy a Volume

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    aggregatename
        aggregate name.

    ipaddress
        ip address.

    volumename
        volume name.

   Response
  listVolumesOnFiler
    List Volumes

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    poolname
        pool name.

   Response
    aggregatename
        Aggregate name

    id  volume id

    ipaddress
        ip address

    poolname
        pool name

    size
        volume size

    snapshotpolicy
        snapshot policy

    snapshotreservation
        snapshot reservation

    volumename
        Volume name

  createLunOnFiler
    Create a LUN from a pool

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    name
        pool name.

    size
        LUN size.

   Response
    ipaddress
        ip address

    iqn iqn

    path
        pool path

  destroyLunOnFiler
    Destroy a LUN

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    path
        LUN path.

   Response
  listLunsOnFiler
    List LUN

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    poolname
        pool name.

   Response
    id  lun id

    iqn lun iqn

    name
        lun name

    volumeid
        volume id

  associateLun
    Associate a LUN with a guest IQN

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    iqn Guest IQN to which the LUN associate.

    name
        LUN name.

   Response
    id  the LUN id

    ipaddress
        the IP address of

    targetiqn
        the target IQN

  dissociateLun
    Dissociate a LUN

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    iqn Guest IQN.

    path
        LUN path.

   Response
  createPool
    Create a pool

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    algorithm
        algorithm.

    name
        pool name.

   Response
  deletePool
    Delete a pool

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    poolname
        pool name.

   Response
  modifyPool
    Modify pool

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    algorithm
        algorithm.

    poolname
        pool name.

   Response
  listPools
    List Pool

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Response
    algorithm
        pool algorithm

    id  pool id

    name
        pool name

Network Methods
  createNetwork
    Creates a network

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    displaytext
        the display text of the network

    name
        the name of the network

    networkofferingid
        the network offering id

    zoneid
        the Zone ID for the network

   Optional Parameters
    account
        account who will own the network

    domainid
        domain ID of the account owning a network

    endip
        the ending IP address in the network IP range. If not specified,
        will be defaulted to startIP

    gateway
        the gateway of the network

    isdefault
        true if network is default, false otherwise

    isshared
        true is network is shared across accounts in the Zone

    netmask
        the netmask of the network

    networkdomain
        network domain

    startip
        the beginning IP address in the network IP range

    tags
        Tag the network

    vlan
        the ID or VID of the network

   Response
    account
        the owner of the network

    broadcastdomaintype
        Broadcast domain type of the network

    broadcasturi
        broadcast uri of the network

    displaytext
        the displaytext of the network

    dns1
        the first DNS for the network

    dns2
        the second DNS for the network

    domain
        the domain name of the network owner

    domainid
        the domain id of the network owner

    endip
        the end ip of the network

    gateway
        the network's gateway

    id  the id of the network

    isdefault
        true if network is default, false otherwise

    isshared
        true if network is shared, false otherwise

    issystem
        true if network is system, false otherwise

    name
        the name of the network

    netmask
        the network's netmask

    networkdomain
        the network domain

    networkofferingavailability
        availability of the network offering the network is created from

    networkofferingdisplaytext
        display text of the network offering the network is created from

    networkofferingid
        network offering id the network is created from

    networkofferingname
        name of the network offering the network is created from

    related
        related to what other network configuration

    securitygroupenabled
        true if security group is enabled, false otherwise

    service(*)
        the list of services

    startip
        the start ip of the network

    state
        state of the network

    tags
        comma separated tag

    traffictype
        the traffic type of the network

    type
        the type of the network

    vlan
        the vlan of the network

    zoneid
        zone id of the network

  deleteNetwork
    Deletes a network

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the network

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listNetworks (A)
    Lists all available networks.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        account who will own the VLAN. If VLAN is Zone wide, this parameter
        should be ommited

    domainid
        domain ID of the account owning a VLAN

    id  list networks by id

    isdefault
        true if network is default, false otherwise

    isshared
        true if network is shared across accounts in the Zone, false
        otherwise

    issystem
        true if network is system, false otherwise

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

    traffictype
        type of the traffic

    type
        the type of the network

    zoneid
        the Zone ID of the network

   Response
    account
        the owner of the network

    broadcastdomaintype
        Broadcast domain type of the network

    broadcasturi
        broadcast uri of the network

    displaytext
        the displaytext of the network

    dns1
        the first DNS for the network

    dns2
        the second DNS for the network

    domain
        the domain name of the network owner

    domainid
        the domain id of the network owner

    endip
        the end ip of the network

    gateway
        the network's gateway

    id  the id of the network

    isdefault
        true if network is default, false otherwise

    isshared
        true if network is shared, false otherwise

    issystem
        true if network is system, false otherwise

    name
        the name of the network

    netmask
        the network's netmask

    networkdomain
        the network domain

    networkofferingavailability
        availability of the network offering the network is created from

    networkofferingdisplaytext
        display text of the network offering the network is created from

    networkofferingid
        network offering id the network is created from

    networkofferingname
        name of the network offering the network is created from

    related
        related to what other network configuration

    securitygroupenabled
        true if security group is enabled, false otherwise

    service(*)
        the list of services

    startip
        the start ip of the network

    state
        state of the network

    tags
        comma separated tag

    traffictype
        the traffic type of the network

    type
        the type of the network

    vlan
        the vlan of the network

    zoneid
        zone id of the network

  restartNetwork
    Restarts the network; includes 1) restarting network elements - virtual
    routers, dhcp servers 2) reapplying all public ips 3) reapplying
    loadBalancing/portForwarding rules

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The id of the network to restart.

   Optional Parameters
    cleanup
        If cleanup old network elements

   Response
    account
        the account the public IP address is associated with

    allocated
        date the public IP address was acquired

    associatednetworkid
        the ID of the Network associated with the IP address

    domain
        the domain the public IP address is associated with

    domainid
        the domain ID the public IP address is associated with

    forvirtualnetwork
        the virtual network for the IP address

    id  public IP address id

    ipaddress
        public IP address

    issourcenat
        true if the IP address is a source nat address, false otherwise

    isstaticnat
        true if this ip is for static nat, false otherwise

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the volume

    jobstatus
        shows the current pending asynchronous job status

    networkid
        the ID of the Network where ip belongs to

    state
        State of the ip address. Can be: Allocatin, Allocated and Releasing

    virtualmachinedisplayname
        virutal machine display name the ip address is assigned to (not null
        only for static nat Ip)

    virtualmachineid
        virutal machine id the ip address is assigned to (not null only for
        static nat Ip)

    virtualmachinename
        virutal machine name the ip address is assigned to (not null only
        for static nat Ip)

    vlanid
        the ID of the VLAN associated with the IP address

    vlanname
        the VLAN associated with the IP address

    zoneid
        the ID of the zone the public IP address belongs to

    zonename
        the name of the zone the public IP address belongs to

  updateNetwork (A)
    Updates a network

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the network

   Optional Parameters
    displaytext
        the new display text for the network

    name
        the new name for the network

    networkdomain
        network domain

    tags
        tags for the network

   Response
    account
        the owner of the network

    broadcastdomaintype
        Broadcast domain type of the network

    broadcasturi
        broadcast uri of the network

    displaytext
        the displaytext of the network

    dns1
        the first DNS for the network

    dns2
        the second DNS for the network

    domain
        the domain name of the network owner

    domainid
        the domain id of the network owner

    endip
        the end ip of the network

    gateway
        the network's gateway

    id  the id of the network

    isdefault
        true if network is default, false otherwise

    isshared
        true if network is shared, false otherwise

    issystem
        true if network is system, false otherwise

    name
        the name of the network

    netmask
        the network's netmask

    networkdomain
        the network domain

    networkofferingavailability
        availability of the network offering the network is created from

    networkofferingdisplaytext
        display text of the network offering the network is created from

    networkofferingid
        network offering id the network is created from

    networkofferingname
        name of the network offering the network is created from

    related
        related to what other network configuration

    securitygroupenabled
        true if security group is enabled, false otherwise

    service(*)
        the list of services

    startip
        the start ip of the network

    state
        state of the network

    tags
        comma separated tag

    traffictype
        the traffic type of the network

    type
        the type of the network

    vlan
        the vlan of the network

    zoneid
        zone id of the network

NetworkDevices Methods
  addNetworkDevice (A)
    List external load balancer appliances.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    networkdeviceparameterlist
        parameters for network device

    networkdevicetype
        Network device type, now supports ExternalDhcp, ExternalFirewall,
        ExternalLoadBalancer, PxeServer

   Response
    id  the ID of the network device

  listNetworkDevice
    List network device.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    keyword
        List by keyword

    networkdeviceparameterlist
        parameters for network device

    networkdevicetype
        Network device type, now supports ExternalDhcp, ExternalFirewall,
        ExternalLoadBalancer, PxeServer

    page
        no description

    pagesize
        no description

   Response
    id  the ID of the network device

  deleteNetworkDevice
    Delete network device.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    id  Id of network device to delete

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

NetworkOffering Methods
  updateNetworkOffering
    Updates a network offering.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    availability
        the availability of network offering. Default value is Required for
        Guest Virtual network offering; Optional for Guest Direct network
        offering

    displaytext
        the display text of the network offering

    id  the id of the network offering

    name
        the name of the network offering

   Response
    availability
        availability of the network offering

    created
        the date this network offering was created

    displaytext
        an alternate display text of the network offering.

    guestiptype
        guest ip type of the network offering

    id  the id of the network offering

    isdefault
        true if network offering is default, false otherwise

    maxconnections
        the max number of concurrent connection the network offering
        supports

    name
        the name of the network offering

    networkrate
        data transfer rate in megabits per second allowed.

    specifyvlan
        true if network offering supports vlans, false otherwise

    tags
        the tags for the network offering

    traffictype
        the traffic type for the network offering, supported types are
        Public, Management, Control, Guest, Vlan or Storage.

  listNetworkOfferings
    Lists all available network offerings.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    availability
        the availability of network offering. Default value is Required

    displaytext
        list network offerings by display text

    guestiptype
        the guest ip type for the network offering, supported types are
        Direct and Virtual.

    id  list network offerings by id

    isdefault
        true if need to list only default network offerings. Default value
        is false

    isshared
        true is network offering supports vlans

    keyword
        List by keyword

    name
        list network offerings by name

    page
        no description

    pagesize
        no description

    specifyvlan
        the tags for the network offering.

    traffictype
        list by traffic type

    zoneid
        list netowrk offerings available for network creation in specific
        zone

   Response
    availability
        availability of the network offering

    created
        the date this network offering was created

    displaytext
        an alternate display text of the network offering.

    guestiptype
        guest ip type of the network offering

    id  the id of the network offering

    isdefault
        true if network offering is default, false otherwise

    maxconnections
        the max number of concurrent connection the network offering
        supports

    name
        the name of the network offering

    networkrate
        data transfer rate in megabits per second allowed.

    specifyvlan
        true if network offering supports vlans, false otherwise

    tags
        the tags for the network offering

    traffictype
        the traffic type for the network offering, supported types are
        Public, Management, Control, Guest, Vlan or Storage.

Other Methods
  listHypervisors
    List hypervisors

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    zoneid
        the zone id for listing hypervisors.

   Response
    name
        Hypervisor name

Pod Methods
  createPod
    Creates a new Pod.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    gateway
        the gateway for the Pod

    name
        the name of the Pod

    netmask
        the netmask for the Pod

    startip
        the starting IP address for the Pod

    zoneid
        the Zone ID in which the Pod will be created

   Optional Parameters
    allocationstate
        Allocation state of this Pod for allocation of new resources

    endip
        the ending IP address for the Pod

   Response
    allocationstate
        the allocation state of the cluster

    endip
        the ending IP for the Pod

    gateway
        the gateway of the Pod

    id  the ID of the Pod

    name
        the name of the Pod

    netmask
        the netmask of the Pod

    startip
        the starting IP for the Pod

    zoneid
        the Zone ID of the Pod

    zonename
        the Zone name of the Pod

  updatePod
    Updates a Pod.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the Pod

   Optional Parameters
    allocationstate
        Allocation state of this cluster for allocation of new resources

    endip
        the ending IP address for the Pod

    gateway
        the gateway for the Pod

    name
        the name of the Pod

    netmask
        the netmask of the Pod

    startip
        the starting IP address for the Pod

   Response
    allocationstate
        the allocation state of the cluster

    endip
        the ending IP for the Pod

    gateway
        the gateway of the Pod

    id  the ID of the Pod

    name
        the name of the Pod

    netmask
        the netmask of the Pod

    startip
        the starting IP for the Pod

    zoneid
        the Zone ID of the Pod

    zonename
        the Zone name of the Pod

  deletePod
    Deletes a Pod.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the Pod

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listPods
    Lists all Pods.

    User Level: 3 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    allocationstate
        list pods by allocation state

    id  list Pods by ID

    keyword
        List by keyword

    name
        list Pods by name

    page
        no description

    pagesize
        no description

    zoneid
        list Pods by Zone ID

   Response
    allocationstate
        the allocation state of the cluster

    endip
        the ending IP for the Pod

    gateway
        the gateway of the Pod

    id  the ID of the Pod

    name
        the name of the Pod

    netmask
        the netmask of the Pod

    startip
        the starting IP for the Pod

    zoneid
        the Zone ID of the Pod

    zonename
        the Zone name of the Pod

Registration Methods
  registerUserKeys
    This command allows a user to register for the developer API, returning
    a secret key and an API key. This request is made through the
    integration API port, so it is a privileged command and must be made on
    behalf of a user. It is up to the implementer just how the username and
    password are entered, and then how that translates to an integration API
    request. Both secret key and API key should be returned to the user

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  User id

   Response
    apikey
        the api key of the registered user

    secretkey
        the secret key of the registered user

Router Methods
  startRouter
    Starts a router.

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the router

   Response
    account
        the account associated with the router

    created
        the date and time the router was created

    dns1
        the first DNS for the router

    dns2
        the second DNS for the router

    domain
        the domain associated with the router

    domainid
        the domain ID associated with the router

    gateway
        the gateway for the router

    guestipaddress
        the guest IP address for the router

    guestmacaddress
        the guest MAC address for the router

    guestnetmask
        the guest netmask for the router

    guestnetworkid
        the ID of the corresponding guest network

    hostid
        the host ID for the router

    hostname
        the hostname for the router

    id  the id of the router

    isredundantrouter
        if this router is an redundant virtual router

    linklocalip
        the link local IP address for the router

    linklocalmacaddress
        the link local MAC address for the router

    linklocalnetmask
        the link local netmask for the router

    linklocalnetworkid
        the ID of the corresponding link local network

    name
        the name of the router

    networkdomain
        the network domain for the router

    podid
        the Pod ID for the router

    publicip
        the public IP address for the router

    publicmacaddress
        the public MAC address for the router

    publicnetmask
        the public netmask for the router

    publicnetworkid
        the ID of the corresponding public network

    redundantstate
        the state of redundant virtual router

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the router

    templateid
        the template ID for the router

    zoneid
        the Zone ID for the router

    zonename
        the Zone name for the router

  rebootRouter (A)
    Starts a router.

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the router

   Response
    account
        the account associated with the router

    created
        the date and time the router was created

    dns1
        the first DNS for the router

    dns2
        the second DNS for the router

    domain
        the domain associated with the router

    domainid
        the domain ID associated with the router

    gateway
        the gateway for the router

    guestipaddress
        the guest IP address for the router

    guestmacaddress
        the guest MAC address for the router

    guestnetmask
        the guest netmask for the router

    guestnetworkid
        the ID of the corresponding guest network

    hostid
        the host ID for the router

    hostname
        the hostname for the router

    id  the id of the router

    isredundantrouter
        if this router is an redundant virtual router

    linklocalip
        the link local IP address for the router

    linklocalmacaddress
        the link local MAC address for the router

    linklocalnetmask
        the link local netmask for the router

    linklocalnetworkid
        the ID of the corresponding link local network

    name
        the name of the router

    networkdomain
        the network domain for the router

    podid
        the Pod ID for the router

    publicip
        the public IP address for the router

    publicmacaddress
        the public MAC address for the router

    publicnetmask
        the public netmask for the router

    publicnetworkid
        the ID of the corresponding public network

    redundantstate
        the state of redundant virtual router

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the router

    templateid
        the template ID for the router

    zoneid
        the Zone ID for the router

    zonename
        the Zone name for the router

  stopRouter (A)
    Stops a router.

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the router

   Optional Parameters
    forced
        Force stop the VM. The caller knows the VM is stopped.

   Response
    account
        the account associated with the router

    created
        the date and time the router was created

    dns1
        the first DNS for the router

    dns2
        the second DNS for the router

    domain
        the domain associated with the router

    domainid
        the domain ID associated with the router

    gateway
        the gateway for the router

    guestipaddress
        the guest IP address for the router

    guestmacaddress
        the guest MAC address for the router

    guestnetmask
        the guest netmask for the router

    guestnetworkid
        the ID of the corresponding guest network

    hostid
        the host ID for the router

    hostname
        the hostname for the router

    id  the id of the router

    isredundantrouter
        if this router is an redundant virtual router

    linklocalip
        the link local IP address for the router

    linklocalmacaddress
        the link local MAC address for the router

    linklocalnetmask
        the link local netmask for the router

    linklocalnetworkid
        the ID of the corresponding link local network

    name
        the name of the router

    networkdomain
        the network domain for the router

    podid
        the Pod ID for the router

    publicip
        the public IP address for the router

    publicmacaddress
        the public MAC address for the router

    publicnetmask
        the public netmask for the router

    publicnetworkid
        the ID of the corresponding public network

    redundantstate
        the state of redundant virtual router

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the router

    templateid
        the template ID for the router

    zoneid
        the Zone ID for the router

    zonename
        the Zone name for the router

  destroyRouter (A)
    Destroys a router.

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the router

   Response
    account
        the account associated with the router

    created
        the date and time the router was created

    dns1
        the first DNS for the router

    dns2
        the second DNS for the router

    domain
        the domain associated with the router

    domainid
        the domain ID associated with the router

    gateway
        the gateway for the router

    guestipaddress
        the guest IP address for the router

    guestmacaddress
        the guest MAC address for the router

    guestnetmask
        the guest netmask for the router

    guestnetworkid
        the ID of the corresponding guest network

    hostid
        the host ID for the router

    hostname
        the hostname for the router

    id  the id of the router

    isredundantrouter
        if this router is an redundant virtual router

    linklocalip
        the link local IP address for the router

    linklocalmacaddress
        the link local MAC address for the router

    linklocalnetmask
        the link local netmask for the router

    linklocalnetworkid
        the ID of the corresponding link local network

    name
        the name of the router

    networkdomain
        the network domain for the router

    podid
        the Pod ID for the router

    publicip
        the public IP address for the router

    publicmacaddress
        the public MAC address for the router

    publicnetmask
        the public netmask for the router

    publicnetworkid
        the ID of the corresponding public network

    redundantstate
        the state of redundant virtual router

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the router

    templateid
        the template ID for the router

    zoneid
        the Zone ID for the router

    zonename
        the Zone name for the router

  changeServiceForRouter (A)
    Upgrades domain router to a new service offering

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the router

    serviceofferingid
        the service offering ID to apply to the domain router

   Response
    account
        the account associated with the router

    created
        the date and time the router was created

    dns1
        the first DNS for the router

    dns2
        the second DNS for the router

    domain
        the domain associated with the router

    domainid
        the domain ID associated with the router

    gateway
        the gateway for the router

    guestipaddress
        the guest IP address for the router

    guestmacaddress
        the guest MAC address for the router

    guestnetmask
        the guest netmask for the router

    guestnetworkid
        the ID of the corresponding guest network

    hostid
        the host ID for the router

    hostname
        the hostname for the router

    id  the id of the router

    isredundantrouter
        if this router is an redundant virtual router

    linklocalip
        the link local IP address for the router

    linklocalmacaddress
        the link local MAC address for the router

    linklocalnetmask
        the link local netmask for the router

    linklocalnetworkid
        the ID of the corresponding link local network

    name
        the name of the router

    networkdomain
        the network domain for the router

    podid
        the Pod ID for the router

    publicip
        the public IP address for the router

    publicmacaddress
        the public MAC address for the router

    publicnetmask
        the public netmask for the router

    publicnetworkid
        the ID of the corresponding public network

    redundantstate
        the state of redundant virtual router

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the router

    templateid
        the template ID for the router

    zoneid
        the Zone ID for the router

    zonename
        the Zone name for the router

  listRouters
    List routers.

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        the name of the account associated with the router. Must be used
        with the domainId parameter.

    domainid
        the domain ID associated with the router. If used with the account
        parameter, lists all routers associated with an account in the
        specified domain.

    hostid
        the host ID of the router

    id  the ID of the disk router

    keyword
        List by keyword

    name
        the name of the router

    networkid
        list by network id

    page
        no description

    pagesize
        no description

    podid
        the Pod ID of the router

    state
        the state of the router

    zoneid
        the Zone ID of the router

   Response
    account
        the account associated with the router

    created
        the date and time the router was created

    dns1
        the first DNS for the router

    dns2
        the second DNS for the router

    domain
        the domain associated with the router

    domainid
        the domain ID associated with the router

    gateway
        the gateway for the router

    guestipaddress
        the guest IP address for the router

    guestmacaddress
        the guest MAC address for the router

    guestnetmask
        the guest netmask for the router

    guestnetworkid
        the ID of the corresponding guest network

    hostid
        the host ID for the router

    hostname
        the hostname for the router

    id  the id of the router

    isredundantrouter
        if this router is an redundant virtual router

    linklocalip
        the link local IP address for the router

    linklocalmacaddress
        the link local MAC address for the router

    linklocalnetmask
        the link local netmask for the router

    linklocalnetworkid
        the ID of the corresponding link local network

    name
        the name of the router

    networkdomain
        the network domain for the router

    podid
        the Pod ID for the router

    publicip
        the public IP address for the router

    publicmacaddress
        the public MAC address for the router

    publicnetmask
        the public netmask for the router

    publicnetworkid
        the ID of the corresponding public network

    redundantstate
        the state of redundant virtual router

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the router

    templateid
        the template ID for the router

    zoneid
        the Zone ID for the router

    zonename
        the Zone name for the router

SSHKeyPair Methods
  registerSSHKeyPair
    Register a public key in a keypair under a certain name

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    name
        Name of the keypair

    publickey
        Public key material of the keypair

   Optional Parameters
    account
        an optional account for the ssh key. Must be used with domainId.

    domainid
        an optional domainId for the ssh key. If the account parameter is
        used, domainId must also be used.

   Response
    fingerprint
        Fingerprint of the public key

    name
        Name of the keypair

    privatekey
        Private key

  createSSHKeyPair
    Create a new keypair and returns the private key

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    name
        Name of the keypair

   Optional Parameters
    account
        an optional account for the ssh key. Must be used with domainId.

    domainid
        an optional domainId for the ssh key. If the account parameter is
        used, domainId must also be used.

   Response
    fingerprint
        Fingerprint of the public key

    name
        Name of the keypair

    privatekey
        Private key

  deleteSSHKeyPair
    Deletes a keypair by name

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    name
        Name of the keypair

   Optional Parameters
    account
        the account associated with the keypair. Must be used with the
        domainId parameter.

    domainid
        the domain ID associated with the keypair

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listSSHKeyPairs
    List registered keypairs

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    fingerprint
        A public key fingerprint to look for

    keyword
        List by keyword

    name
        A key pair name to look for

    page
        no description

    pagesize
        no description

   Response
    fingerprint
        Fingerprint of the public key

    name
        Name of the keypair

    privatekey
        Private key

SecurityGroup Methods
  createSecurityGroup
    Creates a security group

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    name
        name of the security group

   Optional Parameters
    account
        an optional account for the security group. Must be used with
        domainId.

    description
        the description of the security group

    domainid
        an optional domainId for the security group. If the account
        parameter is used, domainId must also be used.

   Response
    account
        the account owning the security group

    description
        the description of the security group

    domain
        the domain name of the security group

    domainid
        the domain ID of the security group

    id  the ID of the security group

    ingressrule(*)
        the list of ingress rules associated with the security group

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the volume

    jobstatus
        shows the current pending asynchronous job status

    name
        the name of the security group

  deleteSecurityGroup
    Deletes security group

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        the account of the security group. Must be specified with domain ID

    domainid
        the domain ID of account owning the security group

    id  The ID of the security group. Mutually exclusive with name parameter

    name
        The ID of the security group. Mutually exclusive with id parameter

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  authorizeSecurityGroupIngress
    Authorizes a particular ingress rule for this security group

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        an optional account for the virtual machine. Must be used with
        domainId.

    cidrlist
        the cidr list associated

    domainid
        an optional domainId for the security group. If the account
        parameter is used, domainId must also be used.

    endport
        end port for this ingress rule

    icmpcode
        error code for this icmp message

    icmptype
        type of the icmp message being sent

    protocol
        TCP is default. UDP is the other supported protocol

    securitygroupid
        The ID of the security group. Mutually exclusive with
        securityGroupName parameter

    securitygroupname
        The name of the security group. Mutually exclusive with
        securityGroupName parameter

    startport
        start port for this ingress rule

    usersecuritygrouplist
        user to security group mapping

   Response
    account
        account owning the ingress rule

    cidr
        the CIDR notation for the base IP address of the ingress rule

    endport
        the ending IP of the ingress rule

    icmpcode
        the code for the ICMP message response

    icmptype
        the type of the ICMP message response

    protocol
        the protocol of the ingress rule

    ruleid
        the id of the ingress rule

    securitygroupname
        security group name

    startport
        the starting IP of the ingress rule

  revokeSecurityGroupIngress (A)
    Deletes a particular ingress rule from this security group

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the ingress rule

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listSecurityGroups (A)
    Lists security groups

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        lists all available port security groups for the account. Must be
        used with domainID parameter

    domainid
        lists all available security groups for the domain ID. If used with
        the account parameter, lists all available security groups for the
        account in the specified domain ID.

    id  list the security group by the id provided

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

    securitygroupname
        lists security groups by name

    virtualmachineid
        lists security groups by virtual machine id

   Response
    account
        the account owning the security group

    description
        the description of the security group

    domain
        the domain name of the security group

    domainid
        the domain ID of the security group

    id  the ID of the security group

    ingressrule(*)
        the list of ingress rules associated with the security group

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the volume

    jobstatus
        shows the current pending asynchronous job status

    name
        the name of the security group

ServiceOffering Methods
  createServiceOffering
    Creates a service offering.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    cpunumber
        the CPU number of the service offering

    cpuspeed
        the CPU speed of the service offering in MHz.

    displaytext
        the display text of the service offering

    memory
        the total memory of the service offering in MB

    name
        the name of the service offering

   Optional Parameters
    domainid
        the ID of the containing domain, null for public offerings

    hosttags
        the host tag for this service offering.

    issystem
        is this a system vm offering

    limitcpuuse
        restrict the CPU usage to committed service offering

    networkrate
        data transfer rate in megabits per second allowed. Supported only
        for non-System offering and system offerings having "domainrouter"
        systemvmtype

    offerha
        the HA for the service offering

    storagetype
        the storage type of the service offering. Values are local and
        shared.

    systemvmtype
        the system VM type. Possible types are "domainrouter",
        "consoleproxy" and "secondarystoragevm".

    tags
        the tags for this service offering.

   Response
    cpunumber
        the number of CPU

    cpuspeed
        the clock rate CPU speed in Mhz

    created
        the date this service offering was created

    defaultuse
        is this a default system vm offering

    displaytext
        an alternate display text of the service offering.

    domain
        Domain name for the offering

    domainid
        the domain id of the service offering

    hosttags
        the host tag for the service offering

    id  the id of the service offering

    issystem
        is this a system vm offering

    limitcpuuse
        restrict the CPU usage to committed service offering

    memory
        the memory in MB

    name
        the name of the service offering

    networkrate
        data transfer rate in megabits per second allowed.

    offerha
        the ha support in the service offering

    storagetype
        the storage type for this service offering

    systemvmtype
        is this a the systemvm type for system vm offering

    tags
        the tags for the service offering

  deleteServiceOffering
    Deletes a service offering.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the service offering

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  updateServiceOffering
    Updates a service offering.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the service offering to be updated

   Optional Parameters
    displaytext
        the display text of the service offering to be updated

    name
        the name of the service offering to be updated

   Response
    cpunumber
        the number of CPU

    cpuspeed
        the clock rate CPU speed in Mhz

    created
        the date this service offering was created

    defaultuse
        is this a default system vm offering

    displaytext
        an alternate display text of the service offering.

    domain
        Domain name for the offering

    domainid
        the domain id of the service offering

    hosttags
        the host tag for the service offering

    id  the id of the service offering

    issystem
        is this a system vm offering

    limitcpuuse
        restrict the CPU usage to committed service offering

    memory
        the memory in MB

    name
        the name of the service offering

    networkrate
        data transfer rate in megabits per second allowed.

    offerha
        the ha support in the service offering

    storagetype
        the storage type for this service offering

    systemvmtype
        is this a the systemvm type for system vm offering

    tags
        the tags for the service offering

  listServiceOfferings
    Lists all available service offerings.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    domainid
        the ID of the domain associated with the service offering

    id  ID of the service offering

    issystem
        is this a system vm offering

    keyword
        List by keyword

    name
        name of the service offering

    page
        no description

    pagesize
        no description

    systemvmtype
        the system VM type. Possible types are "consoleproxy",
        "secondarystoragevm" or "domainrouter".

    virtualmachineid
        the ID of the virtual machine. Pass this in if you want to see the
        available service offering that a virtual machine can be changed to.

   Response
    cpunumber
        the number of CPU

    cpuspeed
        the clock rate CPU speed in Mhz

    created
        the date this service offering was created

    defaultuse
        is this a default system vm offering

    displaytext
        an alternate display text of the service offering.

    domain
        Domain name for the offering

    domainid
        the domain id of the service offering

    hosttags
        the host tag for the service offering

    id  the id of the service offering

    issystem
        is this a system vm offering

    limitcpuuse
        restrict the CPU usage to committed service offering

    memory
        the memory in MB

    name
        the name of the service offering

    networkrate
        data transfer rate in megabits per second allowed.

    offerha
        the ha support in the service offering

    storagetype
        the storage type for this service offering

    systemvmtype
        is this a the systemvm type for system vm offering

    tags
        the tags for the service offering

Session Methods
  login
    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.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    password
        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.

    username
        Username

   Optional Parameters
    domain
        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.

   Response
    account
        the account name the user belongs to

    domainid
        domain ID that the user belongs to

    firstname
        first name of the user

    lastname
        last name of the user

    password
        Password

    sessionkey
        Session key that can be passed in subsequent Query command calls

    timeout
        the time period before the session has expired

    timezone
        user time zone

    timezoneoffset
        user time zone offset from UTC 00:00

    type
        the account type (admin, domain-admin, read-only-admin, user)

    userid
        User id

    username
        Username

  logout
    Logs out the user

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Response
    success
        success if the logout action succeeded

Snapshot Methods
  createSnapshot
    Creates an instant snapshot of a volume.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    volumeid
        The ID of the disk volume

   Optional Parameters
    account
        The account of the snapshot. The account parameter must be used with
        the domainId parameter.

    domainid
        The domain ID of the snapshot. If used with the account parameter,
        specifies a domain for the account associated with the disk volume.

    policyid
        policy id of the snapshot, if this is null, then use MANUAL_POLICY.

   Response
    account
        the account associated with the snapshot

    created
        the date the snapshot was created

    domain
        the domain name of the snapshot's account

    domainid
        the domain ID of the snapshot's account

    id  ID of the snapshot

    intervaltype
        valid types are hourly, daily, weekly, monthy, template, and none.

    jobid
        the job ID associated with the snapshot. This is only displayed if
        the snapshot listed is part of a currently running asynchronous job.

    jobstatus
        the job status associated with the snapshot. This is only displayed
        if the snapshot listed is part of a currently running asynchronous
        job.

    name
        name of the snapshot

    snapshottype
        the type of the snapshot

    state
        the state of the snapshot. BackedUp means that snapshot is ready to
        be used; Creating - the snapshot is being allocated on the primary
        storage; BackingUp - the snapshot is being backed up on secondary
        storage

    volumeid
        ID of the disk volume

    volumename
        name of the disk volume

    volumetype
        type of the disk volume

  listSnapshots (A)
    Lists all available snapshots for the account.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        lists snapshot belongig to the specified account. Must be used with
        the domainId parameter.

    domainid
        the domain ID. If used with the account parameter, lists snapshots
        for the specified account in this domain.

    id  lists snapshot by snapshot ID

    intervaltype
        valid values are HOURLY, DAILY, WEEKLY, and MONTHLY.

    isrecursive
        defaults to false, but if true, lists all snapshots from the parent
        specified by the domain id till leaves.

    keyword
        List by keyword

    name
        lists snapshot by snapshot name

    page
        no description

    pagesize
        no description

    snapshottype
        valid values are MANUAL or RECURRING.

    volumeid
        the ID of the disk volume

   Response
    account
        the account associated with the snapshot

    created
        the date the snapshot was created

    domain
        the domain name of the snapshot's account

    domainid
        the domain ID of the snapshot's account

    id  ID of the snapshot

    intervaltype
        valid types are hourly, daily, weekly, monthy, template, and none.

    jobid
        the job ID associated with the snapshot. This is only displayed if
        the snapshot listed is part of a currently running asynchronous job.

    jobstatus
        the job status associated with the snapshot. This is only displayed
        if the snapshot listed is part of a currently running asynchronous
        job.

    name
        name of the snapshot

    snapshottype
        the type of the snapshot

    state
        the state of the snapshot. BackedUp means that snapshot is ready to
        be used; Creating - the snapshot is being allocated on the primary
        storage; BackingUp - the snapshot is being backed up on secondary
        storage

    volumeid
        ID of the disk volume

    volumename
        name of the disk volume

    volumetype
        type of the disk volume

  deleteSnapshot
    Deletes a snapshot of a disk volume.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the snapshot

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  createSnapshotPolicy (A)
    Creates a snapshot policy for the account.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    intervaltype
        valid values are HOURLY, DAILY, WEEKLY, and MONTHLY

    maxsnaps
        maximum number of snapshots to retain

    schedule
        time the snapshot is scheduled to be taken. Format is:* if HOURLY,
        MM* if DAILY, MM:HH* if WEEKLY, MM:HH:DD (1-7)* if MONTHLY, MM:HH:DD
        (1-28)

    timezone
        Specifies a timezone for this command. For more information on the
        timezone parameter, see Time Zone Format.

    volumeid
        the ID of the disk volume

   Response
    id  the ID of the snapshot policy

    intervaltype
        the interval type of the snapshot policy

    maxsnaps
        maximum number of snapshots retained

    schedule
        time the snapshot is scheduled to be taken.

    timezone
        the time zone of the snapshot policy

    volumeid
        the ID of the disk volume

  deleteSnapshotPolicies
    Deletes snapshot policies for the account.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    id  the Id of the snapshot

    ids list of snapshots IDs separated by comma

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listSnapshotPolicies
    Lists snapshot policies.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    volumeid
        the ID of the disk volume

   Optional Parameters
    account
        lists snapshot policies for the specified account. Must be used with
        domainid parameter.

    domainid
        the domain ID. If used with the account parameter, lists snapshot
        policies for the specified account in this domain.

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

   Response
    id  the ID of the snapshot policy

    intervaltype
        the interval type of the snapshot policy

    maxsnaps
        maximum number of snapshots retained

    schedule
        time the snapshot is scheduled to be taken.

    timezone
        the time zone of the snapshot policy

    volumeid
        the ID of the disk volume

StoragePools Methods
  listStoragePools
    Lists storage pools.

    User Level: 3 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    clusterid
        list storage pools belongig to the specific cluster

    id  the ID of the storage pool

    ipaddress
        the IP address for the storage pool

    keyword
        List by keyword

    name
        the name of the storage pool

    page
        no description

    pagesize
        no description

    path
        the storage pool path

    podid
        the Pod ID for the storage pool

    zoneid
        the Zone ID for the storage pool

   Response
    clusterid
        the ID of the cluster for the storage pool

    clustername
        the name of the cluster for the storage pool

    created
        the date and time the storage pool was created

    disksizeallocated
        the host's currently allocated disk size

    disksizetotal
        the total disk size of the storage pool

    id  the ID of the storage pool

    ipaddress
        the IP address of the storage pool

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the storage pool

    jobstatus
        shows the current pending asynchronous job status

    name
        the name of the storage pool

    path
        the storage pool path

    podid
        the Pod ID of the storage pool

    podname
        the Pod name of the storage pool

    state
        the state of the storage pool

    tags
        the tags for the storage pool

    type
        the storage pool type

    zoneid
        the Zone ID of the storage pool

    zonename
        the Zone name of the storage pool

  createStoragePool
    Creates a storage pool.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    name
        the name for the storage pool

    url the URL of the storage pool

    zoneid
        the Zone ID for the storage pool

   Optional Parameters
    clusterid
        the cluster ID for the storage pool

    details
        the details for the storage pool

    podid
        the Pod ID for the storage pool

    tags
        the tags for the storage pool

   Response
    clusterid
        the ID of the cluster for the storage pool

    clustername
        the name of the cluster for the storage pool

    created
        the date and time the storage pool was created

    disksizeallocated
        the host's currently allocated disk size

    disksizetotal
        the total disk size of the storage pool

    id  the ID of the storage pool

    ipaddress
        the IP address of the storage pool

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the storage pool

    jobstatus
        shows the current pending asynchronous job status

    name
        the name of the storage pool

    path
        the storage pool path

    podid
        the Pod ID of the storage pool

    podname
        the Pod name of the storage pool

    state
        the state of the storage pool

    tags
        the tags for the storage pool

    type
        the storage pool type

    zoneid
        the Zone ID of the storage pool

    zonename
        the Zone name of the storage pool

  deleteStoragePool
    Deletes a storage pool.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  Storage pool id

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listClusters
    Lists clusters.

    User Level: 3 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    allocationstate
        lists clusters by allocation state

    clustertype
        lists clusters by cluster type

    hypervisor
        lists clusters by hypervisor type

    id  lists clusters by the cluster ID

    keyword
        List by keyword

    managedstate
        whether this cluster is managed by cloudstack

    name
        lists clusters by the cluster name

    page
        no description

    pagesize
        no description

    podid
        lists clusters by Pod ID

    zoneid
        lists clusters by Zone ID

   Response
    allocationstate
        the allocation state of the cluster

    clustertype
        the type of the cluster

    hypervisortype
        the hypervisor type of the cluster

    id  the cluster ID

    managedstate
        whether this cluster is managed by cloudstack

    name
        the cluster name

    podid
        the Pod ID of the cluster

    podname
        the Pod name of the cluster

    zoneid
        the Zone ID of the cluster

    zonename
        the Zone name of the cluster

  enableStorageMaintenance
    Puts storage pool into maintenance state

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  Primary storage ID

   Response
    clusterid
        the ID of the cluster for the storage pool

    clustername
        the name of the cluster for the storage pool

    created
        the date and time the storage pool was created

    disksizeallocated
        the host's currently allocated disk size

    disksizetotal
        the total disk size of the storage pool

    id  the ID of the storage pool

    ipaddress
        the IP address of the storage pool

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the storage pool

    jobstatus
        shows the current pending asynchronous job status

    name
        the name of the storage pool

    path
        the storage pool path

    podid
        the Pod ID of the storage pool

    podname
        the Pod name of the storage pool

    state
        the state of the storage pool

    tags
        the tags for the storage pool

    type
        the storage pool type

    zoneid
        the Zone ID of the storage pool

    zonename
        the Zone name of the storage pool

  cancelStorageMaintenance (A)
    Cancels maintenance for primary storage

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the primary storage ID

   Response
    clusterid
        the ID of the cluster for the storage pool

    clustername
        the name of the cluster for the storage pool

    created
        the date and time the storage pool was created

    disksizeallocated
        the host's currently allocated disk size

    disksizetotal
        the total disk size of the storage pool

    id  the ID of the storage pool

    ipaddress
        the IP address of the storage pool

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the storage pool

    jobstatus
        shows the current pending asynchronous job status

    name
        the name of the storage pool

    path
        the storage pool path

    podid
        the Pod ID of the storage pool

    podname
        the Pod name of the storage pool

    state
        the state of the storage pool

    tags
        the tags for the storage pool

    type
        the storage pool type

    zoneid
        the Zone ID of the storage pool

    zonename
        the Zone name of the storage pool

SystemCapacity Methods
  listCapacity (A)
    Lists capacity.

    User Level: 3 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    hostid
        lists capacity by the Host ID

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

    podid
        lists capacity by the Pod ID

    type
        lists capacity by type* CAPACITY_TYPE_MEMORY = 0* CAPACITY_TYPE_CPU
        = 1* CAPACITY_TYPE_STORAGE = 2* CAPACITY_TYPE_STORAGE_ALLOCATED = 3*
        CAPACITY_TYPE_PUBLIC_IP = 4* CAPACITY_TYPE_PRIVATE_IP = 5*
        CAPACITY_TYPE_SECONDARY_STORAGE = 6

    zoneid
        lists capacity by the Zone ID

   Response
    capacitytotal
        the total capacity available

    capacityused
        the capacity currently in use

    percentused
        the percentage of capacity currently in use

    podid
        the Pod ID

    podname
        the Pod name

    type
        the capacity type

    zoneid
        the Zone ID

    zonename
        the Zone name

SystemVM Methods
  startSystemVm
    Starts a system virtual machine.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the system virtual machine

   Response
    activeviewersessions
        the number of active console sessions for the console proxy system
        vm

    created
        the date and time the system VM was created

    dns1
        the first DNS for the system VM

    dns2
        the second DNS for the system VM

    gateway
        the gateway for the system VM

    hostid
        the host ID for the system VM

    hostname
        the hostname for the system VM

    id  the ID of the system VM

    jobid
        the job ID associated with the system VM. This is only displayed if
        the router listed is part of a currently running asynchronous job.

    jobstatus
        the job status associated with the system VM. This is only displayed
        if the router listed is part of a currently running asynchronous
        job.

    linklocalip
        the link local IP address for the system vm

    linklocalmacaddress
        the link local MAC address for the system vm

    linklocalnetmask
        the link local netmask for the system vm

    name
        the name of the system VM

    networkdomain
        the network domain for the system VM

    podid
        the Pod ID for the system VM

    privateip
        the private IP address for the system VM

    privatemacaddress
        the private MAC address for the system VM

    privatenetmask
        the private netmask for the system VM

    publicip
        the public IP address for the system VM

    publicmacaddress
        the public MAC address for the system VM

    publicnetmask
        the public netmask for the system VM

    state
        the state of the system VM

    systemvmtype
        the system VM type

    templateid
        the template ID for the system VM

    zoneid
        the Zone ID for the system VM

    zonename
        the Zone name for the system VM

  rebootSystemVm (A)
    Reboots a system VM.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the system virtual machine

   Response
    activeviewersessions
        the number of active console sessions for the console proxy system
        vm

    created
        the date and time the system VM was created

    dns1
        the first DNS for the system VM

    dns2
        the second DNS for the system VM

    gateway
        the gateway for the system VM

    hostid
        the host ID for the system VM

    hostname
        the hostname for the system VM

    id  the ID of the system VM

    jobid
        the job ID associated with the system VM. This is only displayed if
        the router listed is part of a currently running asynchronous job.

    jobstatus
        the job status associated with the system VM. This is only displayed
        if the router listed is part of a currently running asynchronous
        job.

    linklocalip
        the link local IP address for the system vm

    linklocalmacaddress
        the link local MAC address for the system vm

    linklocalnetmask
        the link local netmask for the system vm

    name
        the name of the system VM

    networkdomain
        the network domain for the system VM

    podid
        the Pod ID for the system VM

    privateip
        the private IP address for the system VM

    privatemacaddress
        the private MAC address for the system VM

    privatenetmask
        the private netmask for the system VM

    publicip
        the public IP address for the system VM

    publicmacaddress
        the public MAC address for the system VM

    publicnetmask
        the public netmask for the system VM

    state
        the state of the system VM

    systemvmtype
        the system VM type

    templateid
        the template ID for the system VM

    zoneid
        the Zone ID for the system VM

    zonename
        the Zone name for the system VM

  stopSystemVm (A)
    Stops a system VM.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the system virtual machine

   Optional Parameters
    forced
        Force stop the VM. The caller knows the VM is stopped.

   Response
    activeviewersessions
        the number of active console sessions for the console proxy system
        vm

    created
        the date and time the system VM was created

    dns1
        the first DNS for the system VM

    dns2
        the second DNS for the system VM

    gateway
        the gateway for the system VM

    hostid
        the host ID for the system VM

    hostname
        the hostname for the system VM

    id  the ID of the system VM

    jobid
        the job ID associated with the system VM. This is only displayed if
        the router listed is part of a currently running asynchronous job.

    jobstatus
        the job status associated with the system VM. This is only displayed
        if the router listed is part of a currently running asynchronous
        job.

    linklocalip
        the link local IP address for the system vm

    linklocalmacaddress
        the link local MAC address for the system vm

    linklocalnetmask
        the link local netmask for the system vm

    name
        the name of the system VM

    networkdomain
        the network domain for the system VM

    podid
        the Pod ID for the system VM

    privateip
        the private IP address for the system VM

    privatemacaddress
        the private MAC address for the system VM

    privatenetmask
        the private netmask for the system VM

    publicip
        the public IP address for the system VM

    publicmacaddress
        the public MAC address for the system VM

    publicnetmask
        the public netmask for the system VM

    state
        the state of the system VM

    systemvmtype
        the system VM type

    templateid
        the template ID for the system VM

    zoneid
        the Zone ID for the system VM

    zonename
        the Zone name for the system VM

  destroySystemVm (A)
    Destroyes a system virtual machine.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the system virtual machine

   Response
    activeviewersessions
        the number of active console sessions for the console proxy system
        vm

    created
        the date and time the system VM was created

    dns1
        the first DNS for the system VM

    dns2
        the second DNS for the system VM

    gateway
        the gateway for the system VM

    hostid
        the host ID for the system VM

    hostname
        the hostname for the system VM

    id  the ID of the system VM

    jobid
        the job ID associated with the system VM. This is only displayed if
        the router listed is part of a currently running asynchronous job.

    jobstatus
        the job status associated with the system VM. This is only displayed
        if the router listed is part of a currently running asynchronous
        job.

    linklocalip
        the link local IP address for the system vm

    linklocalmacaddress
        the link local MAC address for the system vm

    linklocalnetmask
        the link local netmask for the system vm

    name
        the name of the system VM

    networkdomain
        the network domain for the system VM

    podid
        the Pod ID for the system VM

    privateip
        the private IP address for the system VM

    privatemacaddress
        the private MAC address for the system VM

    privatenetmask
        the private netmask for the system VM

    publicip
        the public IP address for the system VM

    publicmacaddress
        the public MAC address for the system VM

    publicnetmask
        the public netmask for the system VM

    state
        the state of the system VM

    systemvmtype
        the system VM type

    templateid
        the template ID for the system VM

    zoneid
        the Zone ID for the system VM

    zonename
        the Zone name for the system VM

  listSystemVms (A)
    List system virtual machines.

    User Level: 3 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    hostid
        the host ID of the system VM

    id  the ID of the system VM

    keyword
        List by keyword

    name
        the name of the system VM

    page
        no description

    pagesize
        no description

    podid
        the Pod ID of the system VM

    state
        the state of the system VM

    systemvmtype
        the system VM type. Possible types are "consoleproxy" and
        "secondarystoragevm".

    zoneid
        the Zone ID of the system VM

   Response
    activeviewersessions
        the number of active console sessions for the console proxy system
        vm

    created
        the date and time the system VM was created

    dns1
        the first DNS for the system VM

    dns2
        the second DNS for the system VM

    gateway
        the gateway for the system VM

    hostid
        the host ID for the system VM

    hostname
        the hostname for the system VM

    id  the ID of the system VM

    jobid
        the job ID associated with the system VM. This is only displayed if
        the router listed is part of a currently running asynchronous job.

    jobstatus
        the job status associated with the system VM. This is only displayed
        if the router listed is part of a currently running asynchronous
        job.

    linklocalip
        the link local IP address for the system vm

    linklocalmacaddress
        the link local MAC address for the system vm

    linklocalnetmask
        the link local netmask for the system vm

    name
        the name of the system VM

    networkdomain
        the network domain for the system VM

    podid
        the Pod ID for the system VM

    privateip
        the private IP address for the system VM

    privatemacaddress
        the private MAC address for the system VM

    privatenetmask
        the private netmask for the system VM

    publicip
        the public IP address for the system VM

    publicmacaddress
        the public MAC address for the system VM

    publicnetmask
        the public netmask for the system VM

    state
        the state of the system VM

    systemvmtype
        the system VM type

    templateid
        the template ID for the system VM

    zoneid
        the Zone ID for the system VM

    zonename
        the Zone name for the system VM

  migrateSystemVm
    Attempts Migration of a system virtual machine to the host specified.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    hostid
        destination Host ID to migrate VM to

    virtualmachineid
        the ID of the virtual machine

   Response
    hostid
        the host ID for the system VM

    id  the ID of the system VM

    name
        the name of the system VM

    role
        the role of the system VM

    state
        the state of the system VM

    systemvmtype
        the system VM type

Template Methods
  createTemplate (A)
    Creates a template of a virtual machine. The virtual machine must be in
    a STOPPED state. A template created from this command is automatically
    designated as a private template visible to the account that created it.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    displaytext
        the display text of the template. This is usually used for display
        purposes.

    name
        the name of the template

    ostypeid
        the ID of the OS Type that best represents the OS of this template.

   Optional Parameters
    bits
        32 or 64 bit

    details
        Template details in key/value pairs.

    isfeatured
        true if this template is a featured template, false otherwise

    ispublic
        true if this template is a public template, false otherwise

    passwordenabled
        true if the template supports the password reset feature; default is
        false

    requireshvm
        true if the template requres HVM, false otherwise

    snapshotid
        the ID of the snapshot the template is being created from. Either
        this parameter, or volumeId has to be passed in

    templatetag
        the tag for this template.

    url Optional, only for baremetal hypervisor. The directory name where
        template stored on CIFS server

    virtualmachineid
        Optional, VM ID. If this presents, it is going to create a baremetal
        template for VM this ID refers to. This is only for VM whose
        hypervisor type is BareMetal

    volumeid
        the ID of the disk volume the template is being created from. Either
        this parameter, or snapshotId has to be passed in

   Response
    clusterid
        the ID of the cluster for the storage pool

    clustername
        the name of the cluster for the storage pool

    created
        the date and time the storage pool was created

    disksizeallocated
        the host's currently allocated disk size

    disksizetotal
        the total disk size of the storage pool

    id  the ID of the storage pool

    ipaddress
        the IP address of the storage pool

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the storage pool

    jobstatus
        shows the current pending asynchronous job status

    name
        the name of the storage pool

    path
        the storage pool path

    podid
        the Pod ID of the storage pool

    podname
        the Pod name of the storage pool

    state
        the state of the storage pool

    tags
        the tags for the storage pool

    type
        the storage pool type

    zoneid
        the Zone ID of the storage pool

    zonename
        the Zone name of the storage pool

  registerTemplate (A)
    Registers an existing template into the Cloud.com cloud.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    displaytext
        the display text of the template. This is usually used for display
        purposes.

    format
        the format for the template. Possible values include QCOW2, RAW, and
        VHD.

    hypervisor
        the target hypervisor for the template

    name
        the name of the template

    ostypeid
        the ID of the OS Type that best represents the OS of this template.

    url the URL of where the template is hosted. Possible URL include
        http:// and https://

    zoneid
        the ID of the zone the template is to be hosted on

   Optional Parameters
    account
        an optional accountName. Must be used with domainId.

    bits
        32 or 64 bits support. 64 by default

    checksum
        the MD5 checksum value of this template

    details
        Template details in key/value pairs.

    domainid
        an optional domainId. If the account parameter is used, domainId
        must also be used.

    isextractable
        true if the template or its derivatives are extractable; default is
        false

    isfeatured
        true if this template is a featured template, false otherwise

    ispublic
        true if the template is available to all accounts; default is true

    passwordenabled
        true if the template supports the password reset feature; default is
        false

    requireshvm
        true if this template requires HVM

    templatetag
        the tag for this template.

   Response
    account
        the account name to which the template belongs

    accountid
        the account id to which the template belongs

    bootable
        true if the ISO is bootable, false otherwise

    checksum
        checksum of the template

    created
        the date this template was created

    crossZones
        true if the template is managed across all Zones, false otherwise

    details
        additional key/value details tied with template

    displaytext
        the template display text

    domain
        the name of the domain to which the template belongs

    domainid
        the ID of the domain to which the template belongs

    format
        the format of the template.

    hostid
        the ID of the secondary storage host for the template

    hostname
        the name of the secondary storage host for the template

    hypervisor
        the hypervisor on which the template runs

    id  the template ID

    isextractable
        true if the template is extractable, false otherwise

    isfeatured
        true if this template is a featured template, false otherwise

    ispublic
        true if this template is a public template, false otherwise

    isready
        true if the template is ready to be deployed from, false otherwise.

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the template

    jobstatus
        shows the current pending asynchronous job status

    name
        the template name

    ostypeid
        the ID of the OS type for this template.

    ostypename
        the name of the OS type for this template.

    passwordenabled
        true if the reset password feature is enabled, false otherwise

    removed
        the date this template was removed

    size
        the size of the template

    sourcetemplateid
        the template ID of the parent template if present

    status
        the status of the template

    templatetag
        the tag of this template

    templatetype
        the type of the template

    zoneid
        the ID of the zone for this template

    zonename
        the name of the zone for this template

  updateTemplate
    Updates attributes of a template.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the image file

   Optional Parameters
    bootable
        true if image is bootable, false otherwise

    displaytext
        the display text of the image

    format
        the format for the image

    name
        the name of the image file

    ostypeid
        the ID of the OS type that best represents the OS of this image.

    passwordenabled
        true if the image supports the password reset feature; default is
        false

   Response
    account
        the account name to which the template belongs

    accountid
        the account id to which the template belongs

    bootable
        true if the ISO is bootable, false otherwise

    checksum
        checksum of the template

    created
        the date this template was created

    crossZones
        true if the template is managed across all Zones, false otherwise

    details
        additional key/value details tied with template

    displaytext
        the template display text

    domain
        the name of the domain to which the template belongs

    domainid
        the ID of the domain to which the template belongs

    format
        the format of the template.

    hostid
        the ID of the secondary storage host for the template

    hostname
        the name of the secondary storage host for the template

    hypervisor
        the hypervisor on which the template runs

    id  the template ID

    isextractable
        true if the template is extractable, false otherwise

    isfeatured
        true if this template is a featured template, false otherwise

    ispublic
        true if this template is a public template, false otherwise

    isready
        true if the template is ready to be deployed from, false otherwise.

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the template

    jobstatus
        shows the current pending asynchronous job status

    name
        the template name

    ostypeid
        the ID of the OS type for this template.

    ostypename
        the name of the OS type for this template.

    passwordenabled
        true if the reset password feature is enabled, false otherwise

    removed
        the date this template was removed

    size
        the size of the template

    sourcetemplateid
        the template ID of the parent template if present

    status
        the status of the template

    templatetag
        the tag of this template

    templatetype
        the type of the template

    zoneid
        the ID of the zone for this template

    zonename
        the name of the zone for this template

  copyTemplate
    Copies a template from one zone to another.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    destzoneid
        ID of the zone the template is being copied to.

    id  Template ID.

    sourcezoneid
        ID of the zone the template is currently hosted on.

   Response
    account
        the account name to which the template belongs

    accountid
        the account id to which the template belongs

    bootable
        true if the ISO is bootable, false otherwise

    checksum
        checksum of the template

    created
        the date this template was created

    crossZones
        true if the template is managed across all Zones, false otherwise

    details
        additional key/value details tied with template

    displaytext
        the template display text

    domain
        the name of the domain to which the template belongs

    domainid
        the ID of the domain to which the template belongs

    format
        the format of the template.

    hostid
        the ID of the secondary storage host for the template

    hostname
        the name of the secondary storage host for the template

    hypervisor
        the hypervisor on which the template runs

    id  the template ID

    isextractable
        true if the template is extractable, false otherwise

    isfeatured
        true if this template is a featured template, false otherwise

    ispublic
        true if this template is a public template, false otherwise

    isready
        true if the template is ready to be deployed from, false otherwise.

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the template

    jobstatus
        shows the current pending asynchronous job status

    name
        the template name

    ostypeid
        the ID of the OS type for this template.

    ostypename
        the name of the OS type for this template.

    passwordenabled
        true if the reset password feature is enabled, false otherwise

    removed
        the date this template was removed

    size
        the size of the template

    sourcetemplateid
        the template ID of the parent template if present

    status
        the status of the template

    templatetag
        the tag of this template

    templatetype
        the type of the template

    zoneid
        the ID of the zone for this template

    zonename
        the name of the zone for this template

  deleteTemplate (A)
    Deletes a template from the system. All virtual machines using the
    deleted template will not be affected.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the template

   Optional Parameters
    zoneid
        the ID of zone of the template

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listTemplates (A)
    List all public, private, and privileged templates.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    templatefilter
        possible values are "featured", "self", "self-executable",
        "executable", and "community".* featured-templates that are featured
        and are public* self-templates that have been registered/created by
        the owner* selfexecutable-templates that have been
        registered/created by the owner that can be used to deploy a new VM*
        executable-all templates that can be used to deploy a new VM*
        community-templates that are public.

   Optional Parameters
    account
        list template by account. Must be used with the domainId parameter.

    domainid
        list all templates in specified domain. If used with the account
        parameter, lists all templates for an account in the specified
        domain.

    hypervisor
        the hypervisor for which to restrict the search

    id  the template ID

    keyword
        List by keyword

    name
        the template name

    page
        no description

    pagesize
        no description

    zoneid
        list templates by zoneId

   Response
    account
        the account name to which the template belongs

    accountid
        the account id to which the template belongs

    bootable
        true if the ISO is bootable, false otherwise

    checksum
        checksum of the template

    created
        the date this template was created

    crossZones
        true if the template is managed across all Zones, false otherwise

    details
        additional key/value details tied with template

    displaytext
        the template display text

    domain
        the name of the domain to which the template belongs

    domainid
        the ID of the domain to which the template belongs

    format
        the format of the template.

    hostid
        the ID of the secondary storage host for the template

    hostname
        the name of the secondary storage host for the template

    hypervisor
        the hypervisor on which the template runs

    id  the template ID

    isextractable
        true if the template is extractable, false otherwise

    isfeatured
        true if this template is a featured template, false otherwise

    ispublic
        true if this template is a public template, false otherwise

    isready
        true if the template is ready to be deployed from, false otherwise.

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the template

    jobstatus
        shows the current pending asynchronous job status

    name
        the template name

    ostypeid
        the ID of the OS type for this template.

    ostypename
        the name of the OS type for this template.

    passwordenabled
        true if the reset password feature is enabled, false otherwise

    removed
        the date this template was removed

    size
        the size of the template

    sourcetemplateid
        the template ID of the parent template if present

    status
        the status of the template

    templatetag
        the tag of this template

    templatetype
        the type of the template

    zoneid
        the ID of the zone for this template

    zonename
        the name of the zone for this template

  updateTemplatePermissions
    Updates a template visibility permissions. A public template is visible
    to all accounts within the same domain. A private template is visible
    only to the owner of the template. A priviledged template is a private
    template with account permissions added. Only accounts specified under
    the template permissions are visible to them.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the template ID

   Optional Parameters
    accounts
        a comma delimited list of accounts. If specified, "op" parameter has
        to be passed in.

    isextractable
        true if the template/iso is extractable, false other wise. Can be
        set only by root admin

    isfeatured
        true for featured template/iso, false otherwise

    ispublic
        true for public template/iso, false for private templates/isos

    op  permission operator (add, remove, reset)

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listTemplatePermissions
    List template visibility and all accounts that have permissions to view
    this template.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the template ID

   Optional Parameters
    account
        List template visibility and permissions for the specified account.
        Must be used with the domainId parameter.

    domainid
        List template visibility and permissions by domain. If used with the
        account parameter, specifies in which domain the specified account
        exists.

   Response
    account
        the list of accounts the template is available for

    domainid
        the ID of the domain to which the template belongs

    id  the template ID

    ispublic
        true if this template is a public template, false otherwise

  extractTemplate
    Extracts a template

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the template

    mode
        the mode of extraction - HTTP_DOWNLOAD or FTP_UPLOAD

    zoneid
        the ID of the zone where the ISO is originally located

   Optional Parameters
    url the url to which the ISO would be extracted

   Response
    accountid
        the account id to which the extracted object belongs

    created
        the time and date the object was created

    extractId
        the upload id of extracted object

    extractMode
        the mode of extraction - upload or download

    id  the id of extracted object

    name
        the name of the extracted object

    state
        the state of the extracted object

    status
        the status of the extraction

    storagetype
        type of the storage

    uploadpercentage
        the percentage of the entity uploaded to the specified location

    url if mode = upload then url of the uploaded entity. if mode = download
        the url from which the entity can be downloaded

    zoneid
        zone ID the object was extracted from

    zonename
        zone name the object was extracted from

  prepareTemplate (A)
    load template into primary storage

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    templateid
        template ID of the template to be prepared in primary storage(s).

    zoneid
        zone ID of the template to be prepared in primary storage(s).

   Response
    account
        the account name to which the template belongs

    accountid
        the account id to which the template belongs

    bootable
        true if the ISO is bootable, false otherwise

    checksum
        checksum of the template

    created
        the date this template was created

    crossZones
        true if the template is managed across all Zones, false otherwise

    details
        additional key/value details tied with template

    displaytext
        the template display text

    domain
        the name of the domain to which the template belongs

    domainid
        the ID of the domain to which the template belongs

    format
        the format of the template.

    hostid
        the ID of the secondary storage host for the template

    hostname
        the name of the secondary storage host for the template

    hypervisor
        the hypervisor on which the template runs

    id  the template ID

    isextractable
        true if the template is extractable, false otherwise

    isfeatured
        true if this template is a featured template, false otherwise

    ispublic
        true if this template is a public template, false otherwise

    isready
        true if the template is ready to be deployed from, false otherwise.

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the template

    jobstatus
        shows the current pending asynchronous job status

    name
        the template name

    ostypeid
        the ID of the OS type for this template.

    ostypename
        the name of the OS type for this template.

    passwordenabled
        true if the reset password feature is enabled, false otherwise

    removed
        the date this template was removed

    size
        the size of the template

    sourcetemplateid
        the template ID of the parent template if present

    status
        the status of the template

    templatetag
        the tag of this template

    templatetype
        the type of the template

    zoneid
        the ID of the zone for this template

    zonename
        the name of the zone for this template

TrafficMonitor Methods
  addTrafficMonitor
    Adds Traffic Monitor Host for Direct Network Usage

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    url URL of the traffic monitor Host

    zoneid
        Zone in which to add the external firewall appliance.

   Response
    id  the ID of the external firewall

    ipaddress
        the management IP address of the external firewall

    numretries
        the number of times to retry requests to the external firewall

    privateinterface
        the private interface of the external firewall

    privatezone
        the private security zone of the external firewall

    publicinterface
        the public interface of the external firewall

    publiczone
        the public security zone of the external firewall

    timeout
        the timeout (in seconds) for requests to the external firewall

    usageinterface
        the usage interface of the external firewall

    username
        the username that's used to log in to the external firewall

    zoneid
        the zone ID of the external firewall

  deleteTrafficMonitor
    Deletes an traffic monitor host.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  Id of the Traffic Monitor Host.

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listTrafficMonitors
    List traffic monitor Hosts.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    zoneid
        zone Id

   Optional Parameters
    keyword
        List by keyword

    page
        no description

    pagesize
        no description

   Response
    id  the ID of the external firewall

    ipaddress
        the management IP address of the external firewall

    numretries
        the number of times to retry requests to the external firewall

    privateinterface
        the private interface of the external firewall

    privatezone
        the private security zone of the external firewall

    publicinterface
        the public interface of the external firewall

    publiczone
        the public security zone of the external firewall

    timeout
        the timeout (in seconds) for requests to the external firewall

    usageinterface
        the usage interface of the external firewall

    username
        the username that's used to log in to the external firewall

    zoneid
        the zone ID of the external firewall

Usage Methods
  generateUsageRecords
    Generates usage records

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    enddate
        End date range for usage record query. Use yyyy-MM-dd as the date
        format, e.g. startDate=2009-06-03.

    startdate
        Start date range for usage record query. Use yyyy-MM-dd as the date
        format, e.g. startDate=2009-06-01.

   Optional Parameters
    domainid
        List events for the specified domain.

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listUsageRecords
    Lists usage records for accounts

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    enddate
        End date range for usage record query. Use yyyy-MM-dd as the date
        format, e.g. startDate=2009-06-03.

    startdate
        Start date range for usage record query. Use yyyy-MM-dd as the date
        format, e.g. startDate=2009-06-01.

   Optional Parameters
    account
        List usage records for the specified user.

    accountid
        List usage records for the specified account

    domainid
        List usage records for the specified domain.

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

   Response
    account
        the user account name

    accountid
        the user account Id

    assigneddate
        the assign date of the account

    description
        description of account, including account name, service offering,
        and template

    domainid
        the domain ID number

    enddate
        end date of account

    ipaddress
        the IP address

    issourcenat
        source Nat flag for IPAddress

    name
        virtual machine name

    offeringid
        service offering ID number

    rawusage
        raw usage in hours

    releaseddate
        the release date of the account

    startdate
        start date of account

    templateid
        template ID number

    type
        type

    usage
        usage in hours

    usageid
        id of the usage entity

    usagetype
        usage type

    virtualmachineid
        virtual machine ID number

    zoneid
        the zone ID number

User Methods
  createUser
    Creates a user for an account that already exists

    User Level: 3 (FIXME: this needs to be improved)

   Request
   Required Parameters
    account
        Creates the user under the specified account. If no account is
        specified, the username will be used as the account name.

    email
        email

    firstname
        firstname

    lastname
        lastname

    password
        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.

    username
        Unique username.

   Optional Parameters
    domainid
        Creates the user under the specified domain. Has to be accompanied
        with the account parameter

    timezone
        Specifies a timezone for this command. For more information on the
        timezone parameter, see Time Zone Format.

   Response
    account
        the account name of the user

    accounttype
        the account type of the user

    apikey
        the api key of the user

    created
        the date and time the user account was created

    domain
        the domain name of the user

    domainid
        the domain ID of the user

    email
        the user email address

    firstname
        the user firstname

    id  the user ID

    lastname
        the user lastname

    secretkey
        the secret key of the user

    state
        the user state

    timezone
        the timezone user was created in

    username
        the user name

  deleteUser
    Creates a user for an account

    User Level: 3 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  Deletes a user

   Response
    account
        the account name of the user

    accounttype
        the account type of the user

    apikey
        the api key of the user

    created
        the date and time the user account was created

    domain
        the domain name of the user

    domainid
        the domain ID of the user

    email
        the user email address

    firstname
        the user firstname

    id  the user ID

    lastname
        the user lastname

    secretkey
        the secret key of the user

    state
        the user state

    timezone
        the timezone user was created in

    username
        the user name

  updateUser
    Updates a user account

    User Level: 3 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  User id

   Optional Parameters
    email
        email

    firstname
        first name

    lastname
        last name

    password
        Hashed password (default is MD5). If you wish to use any other
        hasing algorithm, you would need to write a custom authentication
        adapter

    timezone
        Specifies a timezone for this command. For more information on the
        timezone parameter, see Time Zone Format.

    userapikey
        The API key for the user. Must be specified with userSecretKey

    username
        Unique username

    usersecretkey
        The secret key for the user. Must be specified with userApiKey

   Response
    account
        the account name of the user

    accounttype
        the account type of the user

    apikey
        the api key of the user

    created
        the date and time the user account was created

    domain
        the domain name of the user

    domainid
        the domain ID of the user

    email
        the user email address

    firstname
        the user firstname

    id  the user ID

    lastname
        the user lastname

    secretkey
        the secret key of the user

    state
        the user state

    timezone
        the timezone user was created in

    username
        the user name

  listUsers
    Lists user accounts

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        List user by account. Must be used with the domainId parameter.

    accounttype
        List users by account type. Valid types include admin, domain-admin,
        read-only-admin, or user.

    domainid
        List all users in a domain. If used with the account parameter,
        lists an account in a specific domain.

    id  List user by ID.

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

    state
        List users by state of the user account.

    username
        List user by the username

   Response
    account
        the account name of the user

    accounttype
        the account type of the user

    apikey
        the api key of the user

    created
        the date and time the user account was created

    domain
        the domain name of the user

    domainid
        the domain ID of the user

    email
        the user email address

    firstname
        the user firstname

    id  the user ID

    lastname
        the user lastname

    secretkey
        the secret key of the user

    state
        the user state

    timezone
        the timezone user was created in

    username
        the user name

  disableUser
    Disables a user account

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  Disables user by user ID.

   Response
    account
        the account name of the user

    accounttype
        the account type of the user

    apikey
        the api key of the user

    created
        the date and time the user account was created

    domain
        the domain name of the user

    domainid
        the domain ID of the user

    email
        the user email address

    firstname
        the user firstname

    id  the user ID

    lastname
        the user lastname

    secretkey
        the secret key of the user

    state
        the user state

    timezone
        the timezone user was created in

    username
        the user name

  enableUser (A)
    Enables a user account

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  Enables user by user ID.

   Response
    account
        the account name of the user

    accounttype
        the account type of the user

    apikey
        the api key of the user

    created
        the date and time the user account was created

    domain
        the domain name of the user

    domainid
        the domain ID of the user

    email
        the user email address

    firstname
        the user firstname

    id  the user ID

    lastname
        the user lastname

    secretkey
        the secret key of the user

    state
        the user state

    timezone
        the timezone user was created in

    username
        the user name

VLAN Methods
  createVlanIpRange
    Creates a VLAN IP range.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    startip
        the beginning IP address in the VLAN IP range

   Optional Parameters
    account
        account who will own the VLAN. If VLAN is Zone wide, this parameter
        should be ommited

    domainid
        domain ID of the account owning a VLAN

    endip
        the ending IP address in the VLAN IP range

    forvirtualnetwork
        true if VLAN is of Virtual type, false if Direct

    gateway
        the gateway of the VLAN IP range

    netmask
        the netmask of the VLAN IP range

    networkid
        the network id

    podid
        optional parameter. Have to be specified for Direct Untagged vlan
        only.

    vlan
        the ID or VID of the VLAN. Default is an "untagged" VLAN.

    zoneid
        the Zone ID of the VLAN IP range

   Response
    account
        the account of the VLAN IP range

    description
        the description of the VLAN IP range

    domain
        the domain name of the VLAN IP range

    domainid
        the domain ID of the VLAN IP range

    endip
        the end ip of the VLAN IP range

    forvirtualnetwork
        the virtual network for the VLAN IP range

    gateway
        the gateway of the VLAN IP range

    id  the ID of the VLAN IP range

    netmask
        the netmask of the VLAN IP range

    networkid
        the network id of vlan range

    podid
        the Pod ID for the VLAN IP range

    podname
        the Pod name for the VLAN IP range

    startip
        the start ip of the VLAN IP range

    vlan
        the ID or VID of the VLAN.

    zoneid
        the Zone ID of the VLAN IP range

  deleteVlanIpRange
    Creates a VLAN IP range.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the id of the VLAN IP range

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listVlanIpRanges
    Lists all VLAN IP ranges.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        the account with which the VLAN IP range is associated. Must be used
        with the domainId parameter.

    domainid
        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.

    forvirtualnetwork
        true if VLAN is of Virtual type, false if Direct

    id  the ID of the VLAN IP range

    keyword
        List by keyword

    networkid
        network id of the VLAN IP range

    page
        no description

    pagesize
        no description

    podid
        the Pod ID of the VLAN IP range

    vlan
        the ID or VID of the VLAN. Default is an "untagged" VLAN.

    zoneid
        the Zone ID of the VLAN IP range

   Response
    account
        the account of the VLAN IP range

    description
        the description of the VLAN IP range

    domain
        the domain name of the VLAN IP range

    domainid
        the domain ID of the VLAN IP range

    endip
        the end ip of the VLAN IP range

    forvirtualnetwork
        the virtual network for the VLAN IP range

    gateway
        the gateway of the VLAN IP range

    id  the ID of the VLAN IP range

    netmask
        the netmask of the VLAN IP range

    networkid
        the network id of vlan range

    podid
        the Pod ID for the VLAN IP range

    podname
        the Pod name for the VLAN IP range

    startip
        the start ip of the VLAN IP range

    vlan
        the ID or VID of the VLAN.

    zoneid
        the Zone ID of the VLAN IP range

VM Methods
  deployVirtualMachine
    Creates and automatically starts a virtual machine based on a service
    offering, disk offering, and template.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    serviceofferingid
        the ID of the service offering for the virtual machine

    templateid
        the ID of the template for the virtual machine

    zoneid
        availability zone for the virtual machine

   Optional Parameters
    account
        an optional account for the virtual machine. Must be used with
        domainId.

    diskofferingid
        the ID of the disk offering for the virtual machine. If the template
        is of ISO format, the diskOfferingId is for the root disk volume.
        Otherwise this parameter is used to indicate the offering for the
        data disk volume. If the templateId parameter passed is from a
        Template object, the diskOfferingId refers to a DATA Disk Volume
        created. If the templateId parameter passed is from an ISO object,
        the diskOfferingId refers to a ROOT Disk Volume created.

    displayname
        an optional user generated name for the virtual machine

    domainid
        an optional domainId for the virtual machine. If the account
        parameter is used, domainId must also be used.

    group
        an optional group for the virtual machine

    hostid
        destination Host ID to deploy the VM to - parameter available for
        root admin only

    hypervisor
        the hypervisor on which to deploy the virtual machine

    ipaddress
        the ip address for default vm's network

    iptonetworklist
        ip to network mapping. Can't be specified with networkIds parameter.
        Example:
        iptonetworklist[0].ip=10.10.10.11&iptonetworklist[0].networkid=204 -
        requests to use ip 10.10.10.11 in network id=204

    keyboard
        an optional keyboard device type for the virtual machine. valid
        value can be one of
        de,de-ch,es,fi,fr,fr-be,fr-ch,is,it,jp,nl-be,no,pt,uk,us

    keypair
        name of the ssh key pair used to login to the virtual machine

    name
        host name for the virtual machine

    networkids
        list of network ids used by virtual machine. Can't be specified with
        ipToNetworkList parameter

    securitygroupids
        comma separated list of security groups id that going to be applied
        to the virtual machine. Should be passed only when vm is created
        from a zone with Basic Network support. Mutually exclusive with
        securitygroupnames parameter

    securitygroupnames
        comma separated list of security groups names that going to be
        applied to the virtual machine. Should be passed only when vm is
        created from a zone with Basic Network support. Mutually exclusive
        with securitygroupids parameter

    size
        the arbitrary size for the DATADISK volume. Mutually exclusive with
        diskOfferingId

    userdata
        an optional binary data that can be sent to the virtual machine upon
        a successful deployment. This binary data must be base64 encoded
        before adding it to the request. Currently only HTTP GET is
        supported. Using HTTP GET (via querystring), you can send up to 2KB
        of data after base64 encoding.

   Response
    account
        the account associated with the virtual machine

    cpunumber
        the number of cpu this virtual machine is running with

    cpuspeed
        the speed of each cpu

    cpuused
        the amount of the vm's CPU currently used

    created
        the date when this virtual machine was created

    displayname
        user generated name. The name of the virtual machine is returned if
        no displayname exists.

    domain
        the name of the domain in which the virtual machine exists

    domainid
        the ID of the domain in which the virtual machine exists

    forvirtualnetwork
        the virtual network for the service offering

    group
        the group name of the virtual machine

    groupid
        the group ID of the virtual machine

    guestosid
        Os type ID of the virtual machine

    haenable
        true if high-availability is enabled, false otherwise

    hostid
        the ID of the host for the virtual machine

    hostname
        the name of the host for the virtual machine

    hypervisor
        the hypervisor on which the template runs

    id  the ID of the virtual machine

    ipaddress
        the ip address of the virtual machine

    isodisplaytext
        an alternate display text of the ISO attached to the virtual machine

    isoid
        the ID of the ISO attached to the virtual machine

    isoname
        the name of the ISO attached to the virtual machine

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the virtual
        machine

    jobstatus
        shows the current pending asynchronous job status

    memory
        the memory allocated for the virtual machine

    name
        the name of the virtual machine

    networkkbsread
        the incoming network traffic on the vm

    networkkbswrite
        the outgoing network traffic on the host

    nic(*)
        the list of nics associated with vm

    password
        the password (if exists) of the virtual machine

    passwordenabled
        true if the password rest feature is enabled, false otherwise

    rootdeviceid
        device ID of the root volume

    rootdevicetype
        device type of the root volume

    securitygroup(*)
        list of security groups associated with the virtual machine

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the virtual machine

    templatedisplaytext
        an alternate display text of the template for the virtual machine

    templateid
        the ID of the template for the virtual machine. A -1 is returned if
        the virtual machine was created from an ISO file.

    templatename
        the name of the template for the virtual machine

    zoneid
        the ID of the availablility zone for the virtual machine

    zonename
        the name of the availability zone for the virtual machine

  destroyVirtualMachine (A)
    Destroys a virtual machine. Once destroyed, only the administrator can
    recover it.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the virtual machine

   Response
    account
        the account associated with the virtual machine

    cpunumber
        the number of cpu this virtual machine is running with

    cpuspeed
        the speed of each cpu

    cpuused
        the amount of the vm's CPU currently used

    created
        the date when this virtual machine was created

    displayname
        user generated name. The name of the virtual machine is returned if
        no displayname exists.

    domain
        the name of the domain in which the virtual machine exists

    domainid
        the ID of the domain in which the virtual machine exists

    forvirtualnetwork
        the virtual network for the service offering

    group
        the group name of the virtual machine

    groupid
        the group ID of the virtual machine

    guestosid
        Os type ID of the virtual machine

    haenable
        true if high-availability is enabled, false otherwise

    hostid
        the ID of the host for the virtual machine

    hostname
        the name of the host for the virtual machine

    hypervisor
        the hypervisor on which the template runs

    id  the ID of the virtual machine

    ipaddress
        the ip address of the virtual machine

    isodisplaytext
        an alternate display text of the ISO attached to the virtual machine

    isoid
        the ID of the ISO attached to the virtual machine

    isoname
        the name of the ISO attached to the virtual machine

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the virtual
        machine

    jobstatus
        shows the current pending asynchronous job status

    memory
        the memory allocated for the virtual machine

    name
        the name of the virtual machine

    networkkbsread
        the incoming network traffic on the vm

    networkkbswrite
        the outgoing network traffic on the host

    nic(*)
        the list of nics associated with vm

    password
        the password (if exists) of the virtual machine

    passwordenabled
        true if the password rest feature is enabled, false otherwise

    rootdeviceid
        device ID of the root volume

    rootdevicetype
        device type of the root volume

    securitygroup(*)
        list of security groups associated with the virtual machine

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the virtual machine

    templatedisplaytext
        an alternate display text of the template for the virtual machine

    templateid
        the ID of the template for the virtual machine. A -1 is returned if
        the virtual machine was created from an ISO file.

    templatename
        the name of the template for the virtual machine

    zoneid
        the ID of the availablility zone for the virtual machine

    zonename
        the name of the availability zone for the virtual machine

  rebootVirtualMachine (A)
    Reboots a virtual machine.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the virtual machine

   Response
    account
        the account associated with the virtual machine

    cpunumber
        the number of cpu this virtual machine is running with

    cpuspeed
        the speed of each cpu

    cpuused
        the amount of the vm's CPU currently used

    created
        the date when this virtual machine was created

    displayname
        user generated name. The name of the virtual machine is returned if
        no displayname exists.

    domain
        the name of the domain in which the virtual machine exists

    domainid
        the ID of the domain in which the virtual machine exists

    forvirtualnetwork
        the virtual network for the service offering

    group
        the group name of the virtual machine

    groupid
        the group ID of the virtual machine

    guestosid
        Os type ID of the virtual machine

    haenable
        true if high-availability is enabled, false otherwise

    hostid
        the ID of the host for the virtual machine

    hostname
        the name of the host for the virtual machine

    hypervisor
        the hypervisor on which the template runs

    id  the ID of the virtual machine

    ipaddress
        the ip address of the virtual machine

    isodisplaytext
        an alternate display text of the ISO attached to the virtual machine

    isoid
        the ID of the ISO attached to the virtual machine

    isoname
        the name of the ISO attached to the virtual machine

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the virtual
        machine

    jobstatus
        shows the current pending asynchronous job status

    memory
        the memory allocated for the virtual machine

    name
        the name of the virtual machine

    networkkbsread
        the incoming network traffic on the vm

    networkkbswrite
        the outgoing network traffic on the host

    nic(*)
        the list of nics associated with vm

    password
        the password (if exists) of the virtual machine

    passwordenabled
        true if the password rest feature is enabled, false otherwise

    rootdeviceid
        device ID of the root volume

    rootdevicetype
        device type of the root volume

    securitygroup(*)
        list of security groups associated with the virtual machine

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the virtual machine

    templatedisplaytext
        an alternate display text of the template for the virtual machine

    templateid
        the ID of the template for the virtual machine. A -1 is returned if
        the virtual machine was created from an ISO file.

    templatename
        the name of the template for the virtual machine

    zoneid
        the ID of the availablility zone for the virtual machine

    zonename
        the name of the availability zone for the virtual machine

  startVirtualMachine (A)
    Starts a virtual machine.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the virtual machine

   Response
    account
        the account associated with the virtual machine

    cpunumber
        the number of cpu this virtual machine is running with

    cpuspeed
        the speed of each cpu

    cpuused
        the amount of the vm's CPU currently used

    created
        the date when this virtual machine was created

    displayname
        user generated name. The name of the virtual machine is returned if
        no displayname exists.

    domain
        the name of the domain in which the virtual machine exists

    domainid
        the ID of the domain in which the virtual machine exists

    forvirtualnetwork
        the virtual network for the service offering

    group
        the group name of the virtual machine

    groupid
        the group ID of the virtual machine

    guestosid
        Os type ID of the virtual machine

    haenable
        true if high-availability is enabled, false otherwise

    hostid
        the ID of the host for the virtual machine

    hostname
        the name of the host for the virtual machine

    hypervisor
        the hypervisor on which the template runs

    id  the ID of the virtual machine

    ipaddress
        the ip address of the virtual machine

    isodisplaytext
        an alternate display text of the ISO attached to the virtual machine

    isoid
        the ID of the ISO attached to the virtual machine

    isoname
        the name of the ISO attached to the virtual machine

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the virtual
        machine

    jobstatus
        shows the current pending asynchronous job status

    memory
        the memory allocated for the virtual machine

    name
        the name of the virtual machine

    networkkbsread
        the incoming network traffic on the vm

    networkkbswrite
        the outgoing network traffic on the host

    nic(*)
        the list of nics associated with vm

    password
        the password (if exists) of the virtual machine

    passwordenabled
        true if the password rest feature is enabled, false otherwise

    rootdeviceid
        device ID of the root volume

    rootdevicetype
        device type of the root volume

    securitygroup(*)
        list of security groups associated with the virtual machine

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the virtual machine

    templatedisplaytext
        an alternate display text of the template for the virtual machine

    templateid
        the ID of the template for the virtual machine. A -1 is returned if
        the virtual machine was created from an ISO file.

    templatename
        the name of the template for the virtual machine

    zoneid
        the ID of the availablility zone for the virtual machine

    zonename
        the name of the availability zone for the virtual machine

  stopVirtualMachine (A)
    Stops a virtual machine.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the virtual machine

   Optional Parameters
    forced
        Force stop the VM. The caller knows the VM is stopped.

   Response
    account
        the account associated with the virtual machine

    cpunumber
        the number of cpu this virtual machine is running with

    cpuspeed
        the speed of each cpu

    cpuused
        the amount of the vm's CPU currently used

    created
        the date when this virtual machine was created

    displayname
        user generated name. The name of the virtual machine is returned if
        no displayname exists.

    domain
        the name of the domain in which the virtual machine exists

    domainid
        the ID of the domain in which the virtual machine exists

    forvirtualnetwork
        the virtual network for the service offering

    group
        the group name of the virtual machine

    groupid
        the group ID of the virtual machine

    guestosid
        Os type ID of the virtual machine

    haenable
        true if high-availability is enabled, false otherwise

    hostid
        the ID of the host for the virtual machine

    hostname
        the name of the host for the virtual machine

    hypervisor
        the hypervisor on which the template runs

    id  the ID of the virtual machine

    ipaddress
        the ip address of the virtual machine

    isodisplaytext
        an alternate display text of the ISO attached to the virtual machine

    isoid
        the ID of the ISO attached to the virtual machine

    isoname
        the name of the ISO attached to the virtual machine

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the virtual
        machine

    jobstatus
        shows the current pending asynchronous job status

    memory
        the memory allocated for the virtual machine

    name
        the name of the virtual machine

    networkkbsread
        the incoming network traffic on the vm

    networkkbswrite
        the outgoing network traffic on the host

    nic(*)
        the list of nics associated with vm

    password
        the password (if exists) of the virtual machine

    passwordenabled
        true if the password rest feature is enabled, false otherwise

    rootdeviceid
        device ID of the root volume

    rootdevicetype
        device type of the root volume

    securitygroup(*)
        list of security groups associated with the virtual machine

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the virtual machine

    templatedisplaytext
        an alternate display text of the template for the virtual machine

    templateid
        the ID of the template for the virtual machine. A -1 is returned if
        the virtual machine was created from an ISO file.

    templatename
        the name of the template for the virtual machine

    zoneid
        the ID of the availablility zone for the virtual machine

    zonename
        the name of the availability zone for the virtual machine

  resetPasswordForVirtualMachine (A)
    Resets the password for virtual machine. The virtual machine must be in
    a "Stopped" state and the template must already support this feature for
    this command to take effect. [async]

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the virtual machine

   Response
    account
        the account associated with the virtual machine

    cpunumber
        the number of cpu this virtual machine is running with

    cpuspeed
        the speed of each cpu

    cpuused
        the amount of the vm's CPU currently used

    created
        the date when this virtual machine was created

    displayname
        user generated name. The name of the virtual machine is returned if
        no displayname exists.

    domain
        the name of the domain in which the virtual machine exists

    domainid
        the ID of the domain in which the virtual machine exists

    forvirtualnetwork
        the virtual network for the service offering

    group
        the group name of the virtual machine

    groupid
        the group ID of the virtual machine

    guestosid
        Os type ID of the virtual machine

    haenable
        true if high-availability is enabled, false otherwise

    hostid
        the ID of the host for the virtual machine

    hostname
        the name of the host for the virtual machine

    hypervisor
        the hypervisor on which the template runs

    id  the ID of the virtual machine

    ipaddress
        the ip address of the virtual machine

    isodisplaytext
        an alternate display text of the ISO attached to the virtual machine

    isoid
        the ID of the ISO attached to the virtual machine

    isoname
        the name of the ISO attached to the virtual machine

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the virtual
        machine

    jobstatus
        shows the current pending asynchronous job status

    memory
        the memory allocated for the virtual machine

    name
        the name of the virtual machine

    networkkbsread
        the incoming network traffic on the vm

    networkkbswrite
        the outgoing network traffic on the host

    nic(*)
        the list of nics associated with vm

    password
        the password (if exists) of the virtual machine

    passwordenabled
        true if the password rest feature is enabled, false otherwise

    rootdeviceid
        device ID of the root volume

    rootdevicetype
        device type of the root volume

    securitygroup(*)
        list of security groups associated with the virtual machine

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the virtual machine

    templatedisplaytext
        an alternate display text of the template for the virtual machine

    templateid
        the ID of the template for the virtual machine. A -1 is returned if
        the virtual machine was created from an ISO file.

    templatename
        the name of the template for the virtual machine

    zoneid
        the ID of the availablility zone for the virtual machine

    zonename
        the name of the availability zone for the virtual machine

  changeServiceForVirtualMachine (A)
    Changes the service offering for a virtual machine. The virtual machine
    must be in a "Stopped" state for this command to take effect.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the virtual machine

    serviceofferingid
        the service offering ID to apply to the virtual machine

   Response
    account
        the account associated with the virtual machine

    cpunumber
        the number of cpu this virtual machine is running with

    cpuspeed
        the speed of each cpu

    cpuused
        the amount of the vm's CPU currently used

    created
        the date when this virtual machine was created

    displayname
        user generated name. The name of the virtual machine is returned if
        no displayname exists.

    domain
        the name of the domain in which the virtual machine exists

    domainid
        the ID of the domain in which the virtual machine exists

    forvirtualnetwork
        the virtual network for the service offering

    group
        the group name of the virtual machine

    groupid
        the group ID of the virtual machine

    guestosid
        Os type ID of the virtual machine

    haenable
        true if high-availability is enabled, false otherwise

    hostid
        the ID of the host for the virtual machine

    hostname
        the name of the host for the virtual machine

    hypervisor
        the hypervisor on which the template runs

    id  the ID of the virtual machine

    ipaddress
        the ip address of the virtual machine

    isodisplaytext
        an alternate display text of the ISO attached to the virtual machine

    isoid
        the ID of the ISO attached to the virtual machine

    isoname
        the name of the ISO attached to the virtual machine

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the virtual
        machine

    jobstatus
        shows the current pending asynchronous job status

    memory
        the memory allocated for the virtual machine

    name
        the name of the virtual machine

    networkkbsread
        the incoming network traffic on the vm

    networkkbswrite
        the outgoing network traffic on the host

    nic(*)
        the list of nics associated with vm

    password
        the password (if exists) of the virtual machine

    passwordenabled
        true if the password rest feature is enabled, false otherwise

    rootdeviceid
        device ID of the root volume

    rootdevicetype
        device type of the root volume

    securitygroup(*)
        list of security groups associated with the virtual machine

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the virtual machine

    templatedisplaytext
        an alternate display text of the template for the virtual machine

    templateid
        the ID of the template for the virtual machine. A -1 is returned if
        the virtual machine was created from an ISO file.

    templatename
        the name of the template for the virtual machine

    zoneid
        the ID of the availablility zone for the virtual machine

    zonename
        the name of the availability zone for the virtual machine

  updateVirtualMachine
    Updates parameters of a virtual machine.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the virtual machine

   Optional Parameters
    displayname
        user generated name

    group
        group of the virtual machine

    haenable
        true if high-availability is enabled for the virtual machine, false
        otherwise

    ostypeid
        the ID of the OS type that best represents this VM.

    userdata
        an optional binary data that can be sent to the virtual machine upon
        a successful deployment. This binary data must be base64 encoded
        before adding it to the request. Currently only HTTP GET is
        supported. Using HTTP GET (via querystring), you can send up to 2KB
        of data after base64 encoding.

   Response
    account
        the account associated with the virtual machine

    cpunumber
        the number of cpu this virtual machine is running with

    cpuspeed
        the speed of each cpu

    cpuused
        the amount of the vm's CPU currently used

    created
        the date when this virtual machine was created

    displayname
        user generated name. The name of the virtual machine is returned if
        no displayname exists.

    domain
        the name of the domain in which the virtual machine exists

    domainid
        the ID of the domain in which the virtual machine exists

    forvirtualnetwork
        the virtual network for the service offering

    group
        the group name of the virtual machine

    groupid
        the group ID of the virtual machine

    guestosid
        Os type ID of the virtual machine

    haenable
        true if high-availability is enabled, false otherwise

    hostid
        the ID of the host for the virtual machine

    hostname
        the name of the host for the virtual machine

    hypervisor
        the hypervisor on which the template runs

    id  the ID of the virtual machine

    ipaddress
        the ip address of the virtual machine

    isodisplaytext
        an alternate display text of the ISO attached to the virtual machine

    isoid
        the ID of the ISO attached to the virtual machine

    isoname
        the name of the ISO attached to the virtual machine

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the virtual
        machine

    jobstatus
        shows the current pending asynchronous job status

    memory
        the memory allocated for the virtual machine

    name
        the name of the virtual machine

    networkkbsread
        the incoming network traffic on the vm

    networkkbswrite
        the outgoing network traffic on the host

    nic(*)
        the list of nics associated with vm

    password
        the password (if exists) of the virtual machine

    passwordenabled
        true if the password rest feature is enabled, false otherwise

    rootdeviceid
        device ID of the root volume

    rootdevicetype
        device type of the root volume

    securitygroup(*)
        list of security groups associated with the virtual machine

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the virtual machine

    templatedisplaytext
        an alternate display text of the template for the virtual machine

    templateid
        the ID of the template for the virtual machine. A -1 is returned if
        the virtual machine was created from an ISO file.

    templatename
        the name of the template for the virtual machine

    zoneid
        the ID of the availablility zone for the virtual machine

    zonename
        the name of the availability zone for the virtual machine

  recoverVirtualMachine
    Recovers a virtual machine.

    User Level: 7 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the virtual machine

   Response
    account
        the account associated with the virtual machine

    cpunumber
        the number of cpu this virtual machine is running with

    cpuspeed
        the speed of each cpu

    cpuused
        the amount of the vm's CPU currently used

    created
        the date when this virtual machine was created

    displayname
        user generated name. The name of the virtual machine is returned if
        no displayname exists.

    domain
        the name of the domain in which the virtual machine exists

    domainid
        the ID of the domain in which the virtual machine exists

    forvirtualnetwork
        the virtual network for the service offering

    group
        the group name of the virtual machine

    groupid
        the group ID of the virtual machine

    guestosid
        Os type ID of the virtual machine

    haenable
        true if high-availability is enabled, false otherwise

    hostid
        the ID of the host for the virtual machine

    hostname
        the name of the host for the virtual machine

    hypervisor
        the hypervisor on which the template runs

    id  the ID of the virtual machine

    ipaddress
        the ip address of the virtual machine

    isodisplaytext
        an alternate display text of the ISO attached to the virtual machine

    isoid
        the ID of the ISO attached to the virtual machine

    isoname
        the name of the ISO attached to the virtual machine

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the virtual
        machine

    jobstatus
        shows the current pending asynchronous job status

    memory
        the memory allocated for the virtual machine

    name
        the name of the virtual machine

    networkkbsread
        the incoming network traffic on the vm

    networkkbswrite
        the outgoing network traffic on the host

    nic(*)
        the list of nics associated with vm

    password
        the password (if exists) of the virtual machine

    passwordenabled
        true if the password rest feature is enabled, false otherwise

    rootdeviceid
        device ID of the root volume

    rootdevicetype
        device type of the root volume

    securitygroup(*)
        list of security groups associated with the virtual machine

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the virtual machine

    templatedisplaytext
        an alternate display text of the template for the virtual machine

    templateid
        the ID of the template for the virtual machine. A -1 is returned if
        the virtual machine was created from an ISO file.

    templatename
        the name of the template for the virtual machine

    zoneid
        the ID of the availablility zone for the virtual machine

    zonename
        the name of the availability zone for the virtual machine

  listVirtualMachines
    List the virtual machines owned by the account.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        account. Must be used with the domainId parameter.

    domainid
        the domain ID. If used with the account parameter, lists virtual
        machines for the specified account in this domain.

    forvirtualnetwork
        list by network type; true if need to list vms using Virtual
        Network, false otherwise

    groupid
        the group ID

    hostid
        the host ID

    hypervisor
        the target hypervisor for the template

    id  the ID of the virtual machine

    isrecursive
        Must be used with domainId parameter. Defaults to false, but if
        true, lists all vms from the parent specified by the domain id till
        leaves.

    keyword
        List by keyword

    name
        name of the virtual machine

    networkid
        list by network id

    page
        no description

    pagesize
        no description

    podid
        the pod ID

    state
        state of the virtual machine

    storageid
        the storage ID where vm's volumes belong to

    zoneid
        the availability zone ID

   Response
    account
        the account associated with the virtual machine

    cpunumber
        the number of cpu this virtual machine is running with

    cpuspeed
        the speed of each cpu

    cpuused
        the amount of the vm's CPU currently used

    created
        the date when this virtual machine was created

    displayname
        user generated name. The name of the virtual machine is returned if
        no displayname exists.

    domain
        the name of the domain in which the virtual machine exists

    domainid
        the ID of the domain in which the virtual machine exists

    forvirtualnetwork
        the virtual network for the service offering

    group
        the group name of the virtual machine

    groupid
        the group ID of the virtual machine

    guestosid
        Os type ID of the virtual machine

    haenable
        true if high-availability is enabled, false otherwise

    hostid
        the ID of the host for the virtual machine

    hostname
        the name of the host for the virtual machine

    hypervisor
        the hypervisor on which the template runs

    id  the ID of the virtual machine

    ipaddress
        the ip address of the virtual machine

    isodisplaytext
        an alternate display text of the ISO attached to the virtual machine

    isoid
        the ID of the ISO attached to the virtual machine

    isoname
        the name of the ISO attached to the virtual machine

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the virtual
        machine

    jobstatus
        shows the current pending asynchronous job status

    memory
        the memory allocated for the virtual machine

    name
        the name of the virtual machine

    networkkbsread
        the incoming network traffic on the vm

    networkkbswrite
        the outgoing network traffic on the host

    nic(*)
        the list of nics associated with vm

    password
        the password (if exists) of the virtual machine

    passwordenabled
        true if the password rest feature is enabled, false otherwise

    rootdeviceid
        device ID of the root volume

    rootdevicetype
        device type of the root volume

    securitygroup(*)
        list of security groups associated with the virtual machine

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the virtual machine

    templatedisplaytext
        an alternate display text of the template for the virtual machine

    templateid
        the ID of the template for the virtual machine. A -1 is returned if
        the virtual machine was created from an ISO file.

    templatename
        the name of the template for the virtual machine

    zoneid
        the ID of the availablility zone for the virtual machine

    zonename
        the name of the availability zone for the virtual machine

  getVMPassword
    Returns an encrypted password for the VM

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the virtual machine

   Response
    encryptedpassword
        The encrypted password of the VM

  migrateVirtualMachine
    Attempts Migration of a user virtual machine to the host specified.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    hostid
        destination Host ID to migrate VM to

    virtualmachineid
        the ID of the virtual machine

   Response
    account
        the account associated with the virtual machine

    cpunumber
        the number of cpu this virtual machine is running with

    cpuspeed
        the speed of each cpu

    cpuused
        the amount of the vm's CPU currently used

    created
        the date when this virtual machine was created

    displayname
        user generated name. The name of the virtual machine is returned if
        no displayname exists.

    domain
        the name of the domain in which the virtual machine exists

    domainid
        the ID of the domain in which the virtual machine exists

    forvirtualnetwork
        the virtual network for the service offering

    group
        the group name of the virtual machine

    groupid
        the group ID of the virtual machine

    guestosid
        Os type ID of the virtual machine

    haenable
        true if high-availability is enabled, false otherwise

    hostid
        the ID of the host for the virtual machine

    hostname
        the name of the host for the virtual machine

    hypervisor
        the hypervisor on which the template runs

    id  the ID of the virtual machine

    ipaddress
        the ip address of the virtual machine

    isodisplaytext
        an alternate display text of the ISO attached to the virtual machine

    isoid
        the ID of the ISO attached to the virtual machine

    isoname
        the name of the ISO attached to the virtual machine

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the virtual
        machine

    jobstatus
        shows the current pending asynchronous job status

    memory
        the memory allocated for the virtual machine

    name
        the name of the virtual machine

    networkkbsread
        the incoming network traffic on the vm

    networkkbswrite
        the outgoing network traffic on the host

    nic(*)
        the list of nics associated with vm

    password
        the password (if exists) of the virtual machine

    passwordenabled
        true if the password rest feature is enabled, false otherwise

    rootdeviceid
        device ID of the root volume

    rootdevicetype
        device type of the root volume

    securitygroup(*)
        list of security groups associated with the virtual machine

    serviceofferingid
        the ID of the service offering of the virtual machine

    serviceofferingname
        the name of the service offering of the virtual machine

    state
        the state of the virtual machine

    templatedisplaytext
        an alternate display text of the template for the virtual machine

    templateid
        the ID of the template for the virtual machine. A -1 is returned if
        the virtual machine was created from an ISO file.

    templatename
        the name of the template for the virtual machine

    zoneid
        the ID of the availablility zone for the virtual machine

    zonename
        the name of the availability zone for the virtual machine

VMGroup Methods
  createInstanceGroup (A)
    Creates a vm group

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    name
        the name of the instance group

   Optional Parameters
    account
        the account of the instance group. The account parameter must be
        used with the domainId parameter.

    domainid
        the domain ID of account owning the instance group

   Response
    account
        the account owning the instance group

    created
        time and date the instance group was created

    domain
        the domain name of the instance group

    domainid
        the domain ID of the instance group

    id  the id of the instance group

    name
        the name of the instance group

  deleteInstanceGroup
    Deletes a vm group

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the instance group

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  updateInstanceGroup
    Updates a vm group

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  Instance group ID

   Optional Parameters
    name
        new instance group name

   Response
    account
        the account owning the instance group

    created
        time and date the instance group was created

    domain
        the domain name of the instance group

    domainid
        the domain ID of the instance group

    id  the id of the instance group

    name
        the name of the instance group

  listInstanceGroups
    Lists vm groups

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        list instance group belonging to the specified account. Must be used
        with domainid parameter

    domainid
        the domain ID. If used with the account parameter, lists virtual
        machines for the specified account in this domain.

    id  list instance groups by ID

    keyword
        List by keyword

    name
        list instance groups by name

    page
        no description

    pagesize
        no description

   Response
    account
        the account owning the instance group

    created
        time and date the instance group was created

    domain
        the domain name of the instance group

    domainid
        the domain ID of the instance group

    id  the id of the instance group

    name
        the name of the instance group

VPN Methods
  createRemoteAccessVpn
    Creates a l2tp/ipsec remote access vpn

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    publicipid
        public ip address id of the vpn server

   Optional Parameters
    account
        an optional account for the VPN. Must be used with domainId.

    domainid
        an optional domainId for the VPN. If the account parameter is used,
        domainId must also be used.

    iprange
        the range of ip addresses to allocate to vpn clients. The first ip
        in the range will be taken by the vpn server

    openfirewall
        if true, firewall rule for source/end pubic port is automatically
        created; if false - firewall rule has to be created explicitely. Has
        value true by default

   Response
    account
        the account of the remote access vpn

    domainid
        the domain id of the account of the remote access vpn

    domainname
        the domain name of the account of the remote access vpn

    iprange
        the range of ips to allocate to the clients

    presharedkey
        the ipsec preshared key

    publicip
        the public ip address of the vpn server

    publicipid
        the public ip address of the vpn server

    state
        the state of the rule

  deleteRemoteAccessVpn (A)
    Destroys a l2tp/ipsec remote access vpn

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    publicipid
        public ip address id of the vpn server

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listRemoteAccessVpns (A)
    Lists remote access vpns

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    publicipid
        public ip address id of the vpn server

   Optional Parameters
    account
        the account of the remote access vpn. Must be used with the domainId
        parameter.

    domainid
        the domain ID of the remote access vpn rule. If used with the
        account parameter, lists remote access vpns for the account in the
        specified domain.

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

   Response
    account
        the account of the remote access vpn

    domainid
        the domain id of the account of the remote access vpn

    domainname
        the domain name of the account of the remote access vpn

    iprange
        the range of ips to allocate to the clients

    presharedkey
        the ipsec preshared key

    publicip
        the public ip address of the vpn server

    publicipid
        the public ip address of the vpn server

    state
        the state of the rule

  addVpnUser
    Adds vpn users

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    password
        password for the username

    username
        username for the vpn user

   Optional Parameters
    account
        an optional account for the vpn user. Must be used with domainId.

    domainid
        an optional domainId for the vpn user. If the account parameter is
        used, domainId must also be used.

   Response
    account
        the account of the remote access vpn

    domainid
        the domain id of the account of the remote access vpn

    domainname
        the domain name of the account of the remote access vpn

    id  the vpn userID

    username
        the username of the vpn user

  removeVpnUser (A)
    Removes vpn user

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    username
        username for the vpn user

   Optional Parameters
    account
        an optional account for the vpn user. Must be used with domainId.

    domainid
        an optional domainId for the vpn user. If the account parameter is
        used, domainId must also be used.

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listVpnUsers (A)
    Lists vpn users

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        the account of the remote access vpn. Must be used with the domainId
        parameter.

    domainid
        the domain ID of the remote access vpn. If used with the account
        parameter, lists remote access vpns for the account in the specified
        domain.

    id  the ID of the vpn user

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

    username
        the username of the vpn user.

   Response
    account
        the account of the remote access vpn

    domainid
        the domain id of the account of the remote access vpn

    domainname
        the domain name of the account of the remote access vpn

    id  the vpn userID

    username
        the username of the vpn user

Volume Methods
  attachVolume
    Attaches a disk volume to a virtual machine.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the disk volume

    virtualmachineid
        the ID of the virtual machine

   Optional Parameters
    deviceid
        the ID of the device to map the volume to within the guest OS. If no
        deviceId is passed in, the next available deviceId will be chosen.
        Possible values for a Linux OS are:* 1 - /dev/xvdb* 2 - /dev/xvdc* 4
        - /dev/xvde* 5 - /dev/xvdf* 6 - /dev/xvdg* 7 - /dev/xvdh* 8 -
        /dev/xvdi* 9 - /dev/xvdj

   Response
    account
        the account associated with the disk volume

    attached
        the date the volume was attached to a VM instance

    created
        the date the disk volume was created

    destroyed
        the boolean state of whether the volume is destroyed or not

    deviceid
        the ID of the device on user vm the volume is attahed to. This tag
        is not returned when the volume is detached.

    diskofferingdisplaytext
        the display text of the disk offering

    diskofferingid
        ID of the disk offering

    diskofferingname
        name of the disk offering

    domain
        the domain associated with the disk volume

    domainid
        the ID of the domain associated with the disk volume

    hypervisor
        Hypervisor the volume belongs to

    id  ID of the disk volume

    isextractable
        true if the volume is extractable, false otherwise

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the volume

    jobstatus
        shows the current pending asynchronous job status

    name
        name of the disk volume

    serviceofferingdisplaytext
        the display text of the service offering for root disk

    serviceofferingid
        ID of the service offering for root disk

    serviceofferingname
        name of the service offering for root disk

    size
        size of the disk volume

    snapshotid
        ID of the snapshot from which this volume was created

    state
        the state of the disk volume

    storage
        name of the primary storage hosting the disk volume

    storagetype
        shared or local storage

    type
        type of the disk volume (ROOT or DATADISK)

    virtualmachineid
        id of the virtual machine

    vmdisplayname
        display name of the virtual machine

    vmname
        name of the virtual machine

    vmstate
        state of the virtual machine

    zoneid
        ID of the availability zone

    zonename
        name of the availability zone

  detachVolume (A)
    Detaches a disk volume from a virtual machine.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    deviceid
        the device ID on the virtual machine where volume is detached from

    id  the ID of the disk volume

    virtualmachineid
        the ID of the virtual machine where the volume is detached from

   Response
    account
        the account associated with the disk volume

    attached
        the date the volume was attached to a VM instance

    created
        the date the disk volume was created

    destroyed
        the boolean state of whether the volume is destroyed or not

    deviceid
        the ID of the device on user vm the volume is attahed to. This tag
        is not returned when the volume is detached.

    diskofferingdisplaytext
        the display text of the disk offering

    diskofferingid
        ID of the disk offering

    diskofferingname
        name of the disk offering

    domain
        the domain associated with the disk volume

    domainid
        the ID of the domain associated with the disk volume

    hypervisor
        Hypervisor the volume belongs to

    id  ID of the disk volume

    isextractable
        true if the volume is extractable, false otherwise

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the volume

    jobstatus
        shows the current pending asynchronous job status

    name
        name of the disk volume

    serviceofferingdisplaytext
        the display text of the service offering for root disk

    serviceofferingid
        ID of the service offering for root disk

    serviceofferingname
        name of the service offering for root disk

    size
        size of the disk volume

    snapshotid
        ID of the snapshot from which this volume was created

    state
        the state of the disk volume

    storage
        name of the primary storage hosting the disk volume

    storagetype
        shared or local storage

    type
        type of the disk volume (ROOT or DATADISK)

    virtualmachineid
        id of the virtual machine

    vmdisplayname
        display name of the virtual machine

    vmname
        name of the virtual machine

    vmstate
        state of the virtual machine

    zoneid
        ID of the availability zone

    zonename
        name of the availability zone

  createVolume (A)
    Creates a disk volume from a disk offering. This disk volume must still
    be attached to a virtual machine to make use of it.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    name
        the name of the disk volume

   Optional Parameters
    account
        the account associated with the disk volume. Must be used with the
        domainId parameter.

    diskofferingid
        the ID of the disk offering. Either diskOfferingId or snapshotId
        must be passed in.

    domainid
        the domain ID associated with the disk offering. If used with the
        account parameter returns the disk volume associated with the
        account for the specified domain.

    size
        Arbitrary volume size

    snapshotid
        the snapshot ID for the disk volume. Either diskOfferingId or
        snapshotId must be passed in.

    zoneid
        the ID of the availability zone

   Response
    account
        the account associated with the disk volume

    attached
        the date the volume was attached to a VM instance

    created
        the date the disk volume was created

    destroyed
        the boolean state of whether the volume is destroyed or not

    deviceid
        the ID of the device on user vm the volume is attahed to. This tag
        is not returned when the volume is detached.

    diskofferingdisplaytext
        the display text of the disk offering

    diskofferingid
        ID of the disk offering

    diskofferingname
        name of the disk offering

    domain
        the domain associated with the disk volume

    domainid
        the ID of the domain associated with the disk volume

    hypervisor
        Hypervisor the volume belongs to

    id  ID of the disk volume

    isextractable
        true if the volume is extractable, false otherwise

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the volume

    jobstatus
        shows the current pending asynchronous job status

    name
        name of the disk volume

    serviceofferingdisplaytext
        the display text of the service offering for root disk

    serviceofferingid
        ID of the service offering for root disk

    serviceofferingname
        name of the service offering for root disk

    size
        size of the disk volume

    snapshotid
        ID of the snapshot from which this volume was created

    state
        the state of the disk volume

    storage
        name of the primary storage hosting the disk volume

    storagetype
        shared or local storage

    type
        type of the disk volume (ROOT or DATADISK)

    virtualmachineid
        id of the virtual machine

    vmdisplayname
        display name of the virtual machine

    vmname
        name of the virtual machine

    vmstate
        state of the virtual machine

    zoneid
        ID of the availability zone

    zonename
        name of the availability zone

  deleteVolume (A)
    Deletes a detached disk volume.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  The ID of the disk volume

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listVolumes
    Lists all volumes.

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    account
        the account associated with the disk volume. Must be used with the
        domainId parameter.

    domainid
        Lists all disk volumes for the specified domain ID. If used with the
        account parameter, returns all disk volumes for an account in the
        specified domain ID.

    hostid
        list volumes on specified host

    id  the ID of the disk volume

    isrecursive
        defaults to false, but if true, lists all volumes from the parent
        specified by the domain id till leaves.

    keyword
        List by keyword

    name
        the name of the disk volume

    page
        no description

    pagesize
        no description

    podid
        the pod id the disk volume belongs to

    type
        the type of disk volume

    virtualmachineid
        the ID of the virtual machine

    zoneid
        the ID of the availability zone

   Response
    account
        the account associated with the disk volume

    attached
        the date the volume was attached to a VM instance

    created
        the date the disk volume was created

    destroyed
        the boolean state of whether the volume is destroyed or not

    deviceid
        the ID of the device on user vm the volume is attahed to. This tag
        is not returned when the volume is detached.

    diskofferingdisplaytext
        the display text of the disk offering

    diskofferingid
        ID of the disk offering

    diskofferingname
        name of the disk offering

    domain
        the domain associated with the disk volume

    domainid
        the ID of the domain associated with the disk volume

    hypervisor
        Hypervisor the volume belongs to

    id  ID of the disk volume

    isextractable
        true if the volume is extractable, false otherwise

    jobid
        shows the current pending asynchronous job ID. This tag is not
        returned if no current pending jobs are acting on the volume

    jobstatus
        shows the current pending asynchronous job status

    name
        name of the disk volume

    serviceofferingdisplaytext
        the display text of the service offering for root disk

    serviceofferingid
        ID of the service offering for root disk

    serviceofferingname
        name of the service offering for root disk

    size
        size of the disk volume

    snapshotid
        ID of the snapshot from which this volume was created

    state
        the state of the disk volume

    storage
        name of the primary storage hosting the disk volume

    storagetype
        shared or local storage

    type
        type of the disk volume (ROOT or DATADISK)

    virtualmachineid
        id of the virtual machine

    vmdisplayname
        display name of the virtual machine

    vmname
        name of the virtual machine

    vmstate
        state of the virtual machine

    zoneid
        ID of the availability zone

    zonename
        name of the availability zone

  extractVolume
    Extracts volume

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the volume

    mode
        the mode of extraction - HTTP_DOWNLOAD or FTP_UPLOAD

    zoneid
        the ID of the zone where the volume is located

   Optional Parameters
    url the url to which the volume would be extracted

   Response
    accountid
        the account id to which the extracted object belongs

    created
        the time and date the object was created

    extractId
        the upload id of extracted object

    extractMode
        the mode of extraction - upload or download

    id  the id of extracted object

    name
        the name of the extracted object

    state
        the state of the extracted object

    status
        the status of the extraction

    storagetype
        type of the storage

    uploadpercentage
        the percentage of the entity uploaded to the specified location

    url if mode = upload then url of the uploaded entity. if mode = download
        the url from which the entity can be downloaded

    zoneid
        zone ID the object was extracted from

    zonename
        zone name the object was extracted from

Zone Methods
  createZone (A)
    Creates a Zone.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    dns1
        the first DNS for the Zone

    internaldns1
        the first internal DNS for the Zone

    name
        the name of the Zone

    networktype
        network type of the zone, can be Basic or Advanced

   Optional Parameters
    allocationstate
        Allocation state of this Zone for allocation of new resources

    dns2
        the second DNS for the Zone

    domain
        Network domain name for the networks in the zone

    domainid
        the ID of the containing domain, null for public zones

    guestcidraddress
        the guest CIDR address for the Zone

    internaldns2
        the second internal DNS for the Zone

    securitygroupenabled
        true if network is security group enabled, false otherwise

    vlan
        the VLAN for the Zone

   Response
    allocationstate
        the allocation state of the cluster

    description
        Zone description

    dhcpprovider
        the dhcp Provider for the Zone

    displaytext
        the display text of the zone

    dns1
        the first DNS for the Zone

    dns2
        the second DNS for the Zone

    domain
        Network domain name for the networks in the zone

    domainid
        the ID of the containing domain, null for public zones

    guestcidraddress
        the guest CIDR address for the Zone

    id  Zone id

    internaldns1
        the first internal DNS for the Zone

    internaldns2
        the second internal DNS for the Zone

    name
        Zone name

    networktype
        the network type of the zone; can be Basic or Advanced

    securitygroupsenabled
        true if security groups support is enabled, false otherwise

    vlan
        the vlan range of the zone

    zonetoken
        Zone Token

  updateZone
    Updates a Zone.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the Zone

   Optional Parameters
    allocationstate
        Allocation state of this cluster for allocation of new resources

    details
        the details for the Zone

    dhcpprovider
        the dhcp Provider for the Zone

    dns1
        the first DNS for the Zone

    dns2
        the second DNS for the Zone

    dnssearchorder
        the dns search order list

    domain
        Network domain name for the networks in the zone

    guestcidraddress
        the guest CIDR address for the Zone

    internaldns1
        the first internal DNS for the Zone

    internaldns2
        the second internal DNS for the Zone

    ispublic
        updates a private zone to public if set, but not vice-versa

    name
        the name of the Zone

    vlan
        the VLAN for the Zone

   Response
    allocationstate
        the allocation state of the cluster

    description
        Zone description

    dhcpprovider
        the dhcp Provider for the Zone

    displaytext
        the display text of the zone

    dns1
        the first DNS for the Zone

    dns2
        the second DNS for the Zone

    domain
        Network domain name for the networks in the zone

    domainid
        the ID of the containing domain, null for public zones

    guestcidraddress
        the guest CIDR address for the Zone

    id  Zone id

    internaldns1
        the first internal DNS for the Zone

    internaldns2
        the second internal DNS for the Zone

    name
        Zone name

    networktype
        the network type of the zone; can be Basic or Advanced

    securitygroupsenabled
        true if security groups support is enabled, false otherwise

    vlan
        the vlan range of the zone

    zonetoken
        Zone Token

  deleteZone
    Deletes a Zone.

    User Level: 1 (FIXME: this needs to be improved)

   Request
   Required Parameters
    id  the ID of the Zone

   Response
    displaytext
        any text associated with the success or failure

    success
        true if operation is executed successfully

  listZones
    Lists zones

    User Level: 15 (FIXME: this needs to be improved)

   Request
   Optional Parameters
    available
        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.

    domainid
        the ID of the domain associated with the zone

    id  the ID of the zone

    keyword
        List by keyword

    page
        no description

    pagesize
        no description

   Response
    allocationstate
        the allocation state of the cluster

    description
        Zone description

    dhcpprovider
        the dhcp Provider for the Zone

    displaytext
        the display text of the zone

    dns1
        the first DNS for the Zone

    dns2
        the second DNS for the Zone

    domain
        Network domain name for the networks in the zone

    domainid
        the ID of the containing domain, null for public zones

    guestcidraddress
        the guest CIDR address for the Zone

    id  Zone id

    internaldns1
        the first internal DNS for the Zone

    internaldns2
        the second internal DNS for the Zone

    name
        Zone name

    networktype
        the network type of the zone; can be Basic or Advanced

    securitygroupsenabled
        true if security groups support is enabled, false otherwise

    vlan
        the vlan range of the zone

    zonetoken
        Zone Token

INSTALLATION
    See perlmodinstall for information and options on installing Perl
    modules.

AUTHOR
    Alan Young <harleypig@gmail.com>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2012 by Alan Young.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.

DISCLAIMER OF WARRANTY
    BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
    FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
    OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
    PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
    EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
    ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
    YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
    NECESSARY SERVICING, REPAIR, OR CORRECTION.

    IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
    REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE
    TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR
    CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
    SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
    RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
    FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
    SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
    DAMAGES.