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 <[email protected]>

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.