You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2014/10/31 01:50:58 UTC

[1/8] precache: re-update precache against latest API changes

Repository: cloudstack-cloudmonkey
Updated Branches:
  refs/heads/master 6f71acf22 -> bc19580fc


http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/26601437/cloudmonkey/precache.py
----------------------------------------------------------------------
diff --git a/cloudmonkey/precache.py b/cloudmonkey/precache.py
index a4adba7..731ebea 100644
--- a/cloudmonkey/precache.py
+++ b/cloudmonkey/precache.py
@@ -16,4 +16,4 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-apicache = {u'authorize': {u'securitygroupingress': {u'name': u'authorizeSecurityGroupIngress', u'related': [u'authorizeSecurityGroupEgress'], u'isasync': True, u'params': [{u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'an optional account for the security group. Must be used with domainId.'}, {u'name': u'icmptype', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'type of the icmp message being sent'}, {u'name': u'domainid', u'required': False, u'related': [u'createDomain', u'updateDomain', u'listDomains', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'an optional domainId for the security group. If the account parameter is used, domainId must also be used.'}, {u'name': u'protocol', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'TCP is default. UDP is the other supported protocol'}, {u'name': u'cidrlist', u
 'required': False, u'related': [], u'length': 255, u'type': u'list', u'description': u'the cidr list associated'}, {u'name': u'icmpcode', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'error code for this icmp message'}, {u'name': u'securitygroupname', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'The name of the security group. Mutually exclusive with securityGroupName parameter'}, {u'name': u'projectid', u'required': False, u'related': [u'updateProject', u'listProjectAccounts', u'listProjects', u'activateProject', u'createProject'], u'length': 255, u'type': u'uuid', u'description': u'an optional project of the security group'}, {u'name': u'endport', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'end port for this ingress rule'}, {u'name': u'usersecuritygrouplist', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'u
 ser to security group mapping'}, {u'name': u'startport', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'start port for this ingress rule'}, {u'name': u'securitygroupid', u'required': False, u'related': [u'listSecurityGroups', u'createSecurityGroup'], u'length': 255, u'type': u'uuid', u'description': u'The ID of the security group. Mutually exclusive with securityGroupName parameter'}], u'requiredparams': [], u'description': u'Authorizes a particular ingress rule for this security group'}, u'securitygroupegress': {u'name': u'authorizeSecurityGroupEgress', u'related': [], u'isasync': True, u'params': [{u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'an optional account for the security group. Must be used with domainId.'}, {u'name': u'startport', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'start port for this egress rule'}, {u'name':
  u'protocol', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'TCP is default. UDP is the other supported protocol'}, {u'name': u'usersecuritygrouplist', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'user to security group mapping'}, {u'name': u'icmpcode', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'error code for this icmp message'}, {u'name': u'projectid', u'required': False, u'related': [u'updateProject', u'createProject'], u'length': 255, u'type': u'uuid', u'description': u'an optional project of the security group'}, {u'name': u'domainid', u'required': False, u'related': [u'updateDomain', u'listDomains', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'an optional domainId for the security group. If the account parameter is used, domainId must also be used.'}, {u'name': u'endport', u'required': False, u'related': [], u'lengt
 h': 255, u'type': u'integer', u'description': u'end port for this egress rule'}, {u'name': u'cidrlist', u'required': False, u'related': [], u'length': 255, u'type': u'list', u'description': u'the cidr list associated'}, {u'name': u'securitygroupid', u'required': False, u'related': [u'listSecurityGroups'], u'length': 255, u'type': u'uuid', u'description': u'The ID of the security group. Mutually exclusive with securityGroupName parameter'}, {u'name': u'securitygroupname', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'The name of the security group. Mutually exclusive with securityGroupName parameter'}, {u'name': u'icmptype', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'type of the icmp message being sent'}], u'requiredparams': [], u'description': u'Authorizes a particular egress rule for this security group'}}, u'restore': {u'virtualmachine': {u'name': u'restoreVirtualMachine', u'related': [u'de
 stroyVirtualMachine', u'destroyVirtualMachine', u'listVirtualMachines', u'startVirtualMachine', u'revertToVMSnapshot', u'revertToVMSnapshot', u'updateVirtualMachine', u'migrateVirtualMachineWithVolume', u'resetSSHKeyForVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine', u'updateVMAffinityGroup', u'addNicToVirtualMachine', u'resetPasswordForVirtualMachine', u'deployVirtualMachine', u'detachIso', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'stopVirtualMachine', u'updateDefaultNicForVirtualMachine', u'stopVirtualMachine'], u'isasync': True, u'params': [{u'name': u'templateid', u'required': False, u'related': [u'copyIso', u'listIsos', u'registerIso', u'copyTemplate', u'updateIso', u'listIsos', u'listTemplates', u'copyIso', u'createTemplate', u'registerTemplate'], u'length': 255, u'type': u'uuid', u'description': u'an optional template Id to restore vm from the new template. This can be an ISO id in case of res
 tore vm deployed using ISO'}, {u'name': u'virtualmachineid', u'required': True, u'related': [u'destroyVirtualMachine', u'destroyVirtualMachine', u'listVirtualMachines', u'startVirtualMachine', u'restoreVirtualMachine', u'revertToVMSnapshot', u'revertToVMSnapshot', u'updateVirtualMachine', u'migrateVirtualMachineWithVolume', u'resetSSHKeyForVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine', u'updateVMAffinityGroup', u'addNicToVirtualMachine', u'resetPasswordForVirtualMachine', u'deployVirtualMachine', u'detachIso', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'stopVirtualMachine', u'updateDefaultNicForVirtualMachine', u'stopVirtualMachine'], u'length': 255, u'type': u'uuid', u'description': u'Virtual Machine ID'}], u'requiredparams': [u'virtualmachineid'], u'description': u'Restore a VM to original template/ISO or new template/ISO'}}, u'suspend': {u'project': {u'name': u'suspendProject', u'related': [u'upda
 teProject', u'listProjectAccounts', u'listProjects', u'activateProject', u'createProject'], u'isasync': True, u'params': [{u'name': u'id', u'required': True, u'related': [u'updateProject', u'listProjectAccounts', u'listProjects', u'activateProject', u'createProject', u'suspendProject'], u'length': 255, u'type': u'uuid', u'description': u'id of the project to be suspended'}], u'requiredparams': [u'id'], u'description': u'Suspends a project'}}, u'revoke': {u'securitygroupingress': {u'name': u'revokeSecurityGroupIngress', u'related': [], u'isasync': True, u'params': [{u'name': u'id', u'required': True, u'related': [], u'length': 255, u'type': u'uuid', u'description': u'The ID of the ingress rule'}], u'requiredparams': [u'id'], u'description': u'Deletes a particular ingress rule from this security group'}, u'securitygroupegress': {u'name': u'revokeSecurityGroupEgress', u'related': [], u'isasync': True, u'params': [{u'name': u'id', u'required': True, u'related': [u'authorizeSecurityGroup
 Egress'], u'length': 255, u'type': u'uuid', u'description': u'The ID of the egress rule'}], u'requiredparams': [u'id'], u'description': u'Deletes a particular egress rule from this security group'}}, u'disassociate': {u'ipaddress': {u'name': u'disassociateIpAddress', u'related': [], u'isasync': True, u'params': [{u'name': u'id', u'required': True, u'related': [u'listPublicIpAddresses', u'associateIpAddress', u'associateIpAddress'], u'length': 255, u'type': u'uuid', u'description': u'the id of the public ip address to disassociate'}], u'requiredparams': [u'id'], u'description': u'Disassociates an ip address from the account.'}}, u'migrate': {u'volume': {u'name': u'migrateVolume', u'related': [u'uploadVolume', u'attachVolume', u'attachVolume', u'listVolumes', u'resizeVolume', u'detachVolume', u'detachVolume', u'uploadVolume', u'resizeVolume', u'createVolume', u'updateVolume', u'updateVolume', u'createVolume', u'migrateVolume'], u'isasync': True, u'params': [{u'name': u'storageid', u'r
 equired': True, u'related': [u'enableStorageMaintenance', u'listStoragePools', u'cancelStorageMaintenance', u'findStoragePoolsForMigration', u'createStoragePool', u'updateStoragePool'], u'length': 255, u'type': u'uuid', u'description': u'destination storage pool ID to migrate the volume to'}, {u'name': u'volumeid', u'required': True, u'related': [u'uploadVolume', u'attachVolume', u'attachVolume', u'migrateVolume', u'listVolumes', u'resizeVolume', u'detachVolume', u'detachVolume', u'uploadVolume', u'resizeVolume', u'createVolume', u'updateVolume', u'updateVolume', u'createVolume', u'migrateVolume'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the volume'}, {u'name': u'livemigrate', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'if the volume should be live migrated when it is attached to a running vm'}], u'requiredparams': [u'storageid', u'volumeid'], u'description': u'Migrate volume'}, u'systemvm': {u'name': u'migrateSyst
 emVm', u'related': [u'rebootSystemVm', u'listSystemVms', u'scaleSystemVm'], u'isasync': True, u'params': [{u'name': u'hostid', u'required': True, u'related': [u'listHosts', u'listExternalLoadBalancers'], u'length': 255, u'type': u'uuid', u'description': u'destination Host ID to migrate VM to'}, {u'name': u'virtualmachineid', u'required': True, u'related': [u'rebootSystemVm', u'listSystemVms', u'migrateSystemVm', u'scaleSystemVm'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the virtual machine'}], u'requiredparams': [u'hostid', u'virtualmachineid'], u'description': u'Attempts Migration of a system virtual machine to the host specified.'}, u'virtualmachine': {u'name': u'migrateVirtualMachine', u'related': [u'destroyVirtualMachine', u'destroyVirtualMachine', u'listVirtualMachines', u'startVirtualMachine', u'restoreVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'migrateVirtualMachineWithVolume', u'assi
 gnVirtualMachine', u'resetSSHKeyForVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine', u'updateVMAffinityGroup', u'addNicToVirtualMachine', u'resetPasswordForVirtualMachine', u'deployVirtualMachine', u'detachIso', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'stopVirtualMachine', u'updateDefaultNicForVirtualMachine', u'stopVirtualMachine'], u'isasync': True, u'params': [{u'name': u'virtualmachineid', u'required': True, u'related': [u'destroyVirtualMachine', u'destroyVirtualMachine', u'listVirtualMachines', u'startVirtualMachine', u'restoreVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'migrateVirtualMachineWithVolume', u'assignVirtualMachine', u'migrateVirtualMachine', u'resetSSHKeyForVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine', u'updateVMAffinityGroup', u'addNicToVirtualMachine', u'resetPasswordForVirtualMachi
 ne', u'deployVirtualMachine', u'detachIso', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'stopVirtualMachine', u'updateDefaultNicForVirtualMachine', u'stopVirtualMachine'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the virtual machine'}, {u'name': u'storageid', u'required': False, u'related': [u'findStoragePoolsForMigration'], u'length': 255, u'type': u'uuid', u'description': u'Destination storage pool ID to migrate VM volumes to. Required for migrating the root disk volume'}, {u'name': u'hostid', u'required': False, u'related': [u'listHosts'], u'length': 255, u'type': u'uuid', u'description': u'Destination Host ID to migrate VM to. Required for live migrating a VM from host to host'}], u'requiredparams': [u'virtualmachineid'], u'description': u'Attempts Migration of a VM to a different host or Root volume of the vm to a different storage pool'}, u'virtualmachinewithvolume': {u'name': u'migrateVirtualMachineWit
 hVolume', u'related': [u'destroyVirtualMachine', u'destroyVirtualMachine', u'listVirtualMachines', u'startVirtualMachine', u'revertToVMSnapshot', u'revertToVMSnapshot', u'updateVirtualMachine', u'resetSSHKeyForVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine', u'updateVMAffinityGroup', u'addNicToVirtualMachine', u'resetPasswordForVirtualMachine', u'deployVirtualMachine', u'detachIso', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'updateDefaultNicForVirtualMachine', u'stopVirtualMachine'], u'isasync': True, u'params': [{u'name': u'migrateto', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'Map of pool to which each volume should be migrated (volume/pool pair)'}, {u'name': u'virtualmachineid', u'required': True, u'related': [u'destroyVirtualMachine', u'destroyVirtualMachine', u'listVirtualMachines', u'startVirtualMachine', u'revertToVMSnapshot', u'revertToVMSnapshot', u
 'updateVirtualMachine', u'migrateVirtualMachineWithVolume', u'resetSSHKeyForVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine', u'updateVMAffinityGroup', u'addNicToVirtualMachine', u'resetPasswordForVirtualMachine', u'deployVirtualMachine', u'detachIso', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'updateDefaultNicForVirtualMachine', u'stopVirtualMachine'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the virtual machine'}, {u'name': u'hostid', u'required': True, u'related': [u'listHosts'], u'length': 255, u'type': u'uuid', u'description': u'Destination Host ID to migrate VM to.'}], u'requiredparams': [u'virtualmachineid', u'hostid'], u'description': u'Attempts Migration of a VM with its volumes to a different host'}}, u'lock': {u'account': {u'name': u'lockAccount', u'related': [u'createAccount', u'disableAccount', u'markDefaultZoneForAccount', u'ldapCreateAccount', u'listAccounts', u'list
 Accounts'], u'isasync': False, u'params': [{u'name': u'domainid', u'required': True, u'related': [u'updateDomain', u'listDomains', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'Locks the specified account on this domain.'}, {u'name': u'account', u'required': True, u'related': [], u'length': 255, u'type': u'string', u'description': u'Locks the specified account.'}], u'requiredparams': [u'domainid', u'account'], u'description': u'Locks an account'}, u'user': {u'name': u'lockUser', u'related': [u'listUsers'], u'isasync': False, u'params': [{u'name': u'id', u'required': True, u'related': [u'listUsers', u'lockUser'], u'length': 255, u'type': u'uuid', u'description': u'Locks user by user ID.'}], u'requiredparams': [u'id'], u'description': u'Locks a user account'}}, u'copy': {u'iso': {u'name': u'copyIso', u'related': [u'listIsos', u'registerIso', u'copyTemplate', u'updateIso', u'listIsos', u'listTemplates', u'copyIso', u'createTemplate', u'registerTemplate'], 
 u'isasync': True, u'params': [{u'name': u'sourcezoneid', u'required': False, u'related': [u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'ID of the zone the template is currently hosted on. If not specified and template is cross-zone, then we will sync this template to region wide image store.'}, {u'name': u'id', u'required': True, u'related': [u'copyIso', u'listIsos', u'registerIso', u'copyTemplate', u'updateIso', u'listIsos', u'listTemplates', u'copyIso', u'createTemplate', u'registerTemplate'], u'length': 255, u'type': u'uuid', u'description': u'Template ID.'}, {u'name': u'destzoneid', u'required': True, u'related': [u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'ID of the zone the template is being copied to.'}], u'requiredparams': [u'id', u'destzoneid'], u'description': u'Copies an iso from one zone to another.'}, u'template': {u'name': u'copyTemplate', u'related': [u'registerIso', u'copyIso', u'listIsos', u'createTemplate', u'registerIso'
 , u'copyTemplate', u'updateIso', u'listTemplates', u'listIsos', u'listTemplates', u'copyIso', u'registerTemplate', u'createTemplate', u'updateTemplate', u'prepareTemplate', u'registerTemplate'], u'isasync': True, u'params': [{u'name': u'destzoneid', u'required': True, u'related': [u'createZone', u'listZones', u'updateZone', u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'ID of the zone the template is being copied to.'}, {u'name': u'id', u'required': True, u'related': [u'copyTemplate', u'registerIso', u'copyIso', u'listIsos', u'createTemplate', u'registerIso', u'copyTemplate', u'updateIso', u'listTemplates', u'listIsos', u'listTemplates', u'copyIso', u'registerTemplate', u'createTemplate', u'updateTemplate', u'prepareTemplate', u'registerTemplate'], u'length': 255, u'type': u'uuid', u'description': u'Template ID.'}, {u'name': u'sourcezoneid', u'required': False, u'related': [u'createZone', u'listZones', u'updateZone', u'listZones'], u'length': 255, u'type': u'uuid
 ', u'description': u'ID of the zone the template is currently hosted on. If not specified and template is cross-zone, then we will sync this template to region wide image store.'}], u'requiredparams': [u'destzoneid', u'id'], u'description': u'Copies a template from one zone to another.'}}, u'replace': {u'networkacllist': {u'name': u'replaceNetworkACLList', u'related': [], u'isasync': True, u'params': [{u'name': u'networkid', u'required': False, u'related': [u'listNetworks', u'createNetwork', u'updateNetwork'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the network'}, {u'name': u'aclid', u'required': True, u'related': [], u'length': 255, u'type': u'uuid', u'description': u'the ID of the network ACL'}, {u'name': u'gatewayid', u'required': False, u'related': [], u'length': 255, u'type': u'uuid', u'description': u'the ID of the private gateway'}], u'requiredparams': [u'aclid'], u'description': u'Replaces ACL associated with a Network or private gateway'}}, u'list': {u
 'lbhealthcheckpolicies': {u'name': u'listLBHealthCheckPolicies', u'related': [u'createLBHealthCheckPolicy', u'updateLBHealthCheckPolicy'], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'lbruleid', u'required': True, u'related': [u'listIpForwardingRules'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the load balancer rule'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'fordisplay', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'list resources by display flag; only ROOT admin is eligible to pass this parameter'}], u'requiredparams': [u'lbruleid'], u'description': u'Lists load balancer HealthCheck policie
 s.'}, u'apis': {u'name': u'listApis', u'related': [], u'isasync': False, u'params': [{u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'API name'}], u'requiredparams': [], u'description': u'lists all available apis on the server, provided by the Api Discovery plugin'}, u'instancegroups': {u'name': u'listInstanceGroups', u'related': [u'updateInstanceGroup', u'createInstanceGroup'], u'isasync': False, u'params': [{u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list instance groups by name'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true
  - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'domainid', u'required': False, u'related': [u'createDomain', u'updateDomain', u'listDomains', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'projectid', u'required': False, u'related': [u'updateProject', u'listProjectAccounts', u'listProjects', u'activateProject', u'createProject'], u'length': 255, u'type': u'uuid', u'descripti
 on': u'list objects by project'}, {u'name': u'id', u'required': False, u'related': [u'updateInstanceGroup', u'createInstanceGroup', u'listInstanceGroups'], u'length': 255, u'type': u'uuid', u'description': u'list instance groups by ID'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'Lists vm groups'}, u'ucsmanagers': {u'name': u'listUcsManagers', u'related': [u'addUcsManager'], u'isasync': False, u'params': [{u'name': u'id', u'required': False, u'related': [u'listUcsManagers', u'addUcsManager'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the ucs manager'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'zoneid', u'required': False, u'related': [u'createZone', u'li
 stZones', u'updateZone', u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'the zone id'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}], u'requiredparams': [], u'description': u'List ucs manager'}, u'physicalnetworks': {u'name': u'listPhysicalNetworks', u'related': [], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'id', u'required': False, u'related': [u'listPhysicalNetworks'], u'length': 255, u'type': u'uuid', u'description': u'list physical network by id'}, {u'name': u'zoneid', u'required': False, u'related': [u'listZones'], u'l
 ength': 255, u'type': u'uuid', u'description': u'the Zone ID for the physical network'}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'search by name'}], u'requiredparams': [], u'description': u'Lists physical networks'}, u'vmsnapshot': {u'name': u'listVMSnapshot', u'related': [], u'isasync': False, u'params': [{u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'projectid', u'required': False, u'related': [u'createProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'domainid', u'required': False, u'related': [u'updateDomain', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'state', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'state of the virtual machine sna
 pshot'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists snapshot by snapshot name or display name'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'tags', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'List resources by tags (key/value pairs)'}, {u'name': u'listall', 
 u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'virtualmachineid', u'required': False, u'related': [u'destroyVirtualMachine', u'destroyVirtualMachine', u'listVirtualMachines', u'startVirtualMachine', u'restoreVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'migrateVirtualMachineWithVolume', u'assignVirtualMachine', u'resetSSHKeyForVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine', u'updateVMAffinityGroup', u'addNicToVirtualMachine', u'resetPasswordForVirtualMachine', u'deployVirtualMachine', u'detachIso', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'stopVirtualMachine', u'updateDefaultNicForVirtualMachine', u'stopVirtualM
 achine'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the vm'}, {u'name': u'vmsnapshotid', u'required': False, u'related': [u'listVMSnapshot'], u'length': 255, u'type': u'uuid', u'description': u'The ID of the VM snapshot'}], u'requiredparams': [], u'description': u'List virtual machine snapshot by conditions'}, u'ldapconfigurations': {u'name': u'listLdapConfigurations', u'related': [u'addLdapConfiguration', u'deleteLdapConfiguration'], u'isasync': False, u'params': [{u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'hostname', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'Hostname'}, {u'name': u'port', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'Port'}, {u'name': u'keyword', u'required
 ': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}], u'requiredparams': [], u'description': u'Lists all LDAP configurations'}, u'capabilities': {u'name': u'listCapabilities', u'related': [], u'isasync': False, u'params': [], u'requiredparams': [], u'description': u'Lists capabilities'}, u'storagetags': {u'name': u'listStorageTags', u'related': [], u'isasync': False, u'params': [{u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'Lists storage tags'}, u'clusters': {u'name': u'listClusters', u'related': [u'updateCluster'], u'isasync': False, u'params': [{u'name': u'name', u'required': False, 
 u'related': [], u'length': 255, u'type': u'string', u'description': u'lists clusters by the cluster name'}, {u'name': u'managedstate', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'whether this cluster is managed by cloudstack'}, {u'name': u'showcapacities', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'flag to display the capacity of the clusters'}, {u'name': u'id', u'required': False, u'related': [u'listClusters', u'updateCluster'], u'length': 255, u'type': u'uuid', u'description': u'lists clusters by the cluster ID'}, {u'name': u'zoneid', u'required': False, u'related': [u'createZone', u'listZones', u'updateZone', u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'lists clusters by Zone ID'}, {u'name': u'clustertype', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists clusters by cluster type'}, {u'name': u'podid', u'required': Fals
 e, u'related': [u'listPods', u'createPod', u'updatePod'], u'length': 255, u'type': u'uuid', u'description': u'lists clusters by Pod ID'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'allocationstate', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists clusters by allocation state'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'hypervisor', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists clusters by hypervisor type'}], u'requiredparams': [], u'description': u'Lists clusters.'}, u'resourcelimits': {u'name': u'listResourceLimits', u'related': [], u'isasync': False, u'params': [{u'name': u'projectid', u'
 required': False, u'related': [u'createProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'id', u'required': False, u'related': [], u'length': 255, u'type': u'long', u'description': u'Lists resource limits by ID.'}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'resourcetype', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'des
 cription': u'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 an account can own. 2 - Volume. Number of disk volumes an account can own.3 - Snapshot. Number of snapshots an account can own.4 - Template. Number of templates an account can register/create.5 - Project. Number of projects an account can own.6 - Network. Number of networks an account can own.7 - VPC. Number of VPC an account can own.8 - CPU. Number of CPU an account can allocate for his resources.9 - Memory. Amount of RAM an account can allocate for his resources.10 - Primary Storage. Amount of Primary storage an account can allocate for his resoruces.11 - Secondary Storage. Amount of Secondary storage an account can allocate for his resources.'}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain spe
 cified'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'Lists resource limits.'}, u'firewallrules': {u'name': u'listFirewallRules', u'related': [u'createFirewallRule', u'listEgressFirewallRules', u'updateFirewallRule'], u'isasync': False, u'params': [{u'name': u'fordisplay', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'list resources by display flag; only ROOT admin is eligible to pass this parameter'}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'de
 faults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'id', u'required': False, u'related': [u'listIpForwardingRules'], u'length': 255, u'type': u'uuid', u'description': u'Lists rule with the specified ID.'}, {u'name': u'tags', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'List resources by tags (key/value pairs)'}, {u'name': u'ipaddressid', u'required': False, u'related': [u'listPublicIpAddresses', u'associateIpAddress', u'associateIpAddress'], u'length': 255, u'type': u'uuid', u'description': u'the id of IP address of the firwall services'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'domainid', u'r
 equired': False, u'related': [u'updateDomain', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'projectid', u'required': False, u'related': [u'updateProject', u'createProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'networkid', u'required': False, u'related': [u'listSrxFirewallNetworks', u'listNetworks', u'updateNetwork', u'listNetsc
 alerLoadBalancerNetworks', u'createNetwork', u'updateNetwork'], u'length': 255, u'type': u'uuid', u'description': u'list firewall rules for ceratin network'}], u'requiredparams': [], u'description': u'Lists all firewall rules for an IP address.'}, u'dedicatedzones': {u'name': u'listDedicatedZones', u'related': [], u'isasync': False, u'params': [{u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the name of the account associated with the zone. Must be used with domainId.'}, {u'name': u'affinitygroupid', u'required': False, u'related': [], u'length': 255, u'type': u'uuid', u'description': u'list dedicated zones by affinity group'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'zoneid', u'required': False, u'related':
  [u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the Zone'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the domain associated with the zone'}], u'requiredparams': [], u'description': u'List dedicated zones.'}, u'supportednetworkservices': {u'name': u'listSupportedNetworkServices', u'related': [], u'isasync': False, u'params': [{u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'service', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'network service name to list providers and capabilities of'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'pro
 vider', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'network service provider name'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}], u'requiredparams': [], u'description': u'Lists all network services provided by CloudStack or for the given Provider.'}, u'loadbalancerrules': {u'name': u'listLoadBalancerRules', u'related': [u'createLoadBalancerRule'], u'isasync': False, u'params': [{u'name': u'publicipid', u'required': False, u'related': [u'listPublicIpAddresses', u'associateIpAddress', u'restartNetwork', u'associateIpAddress'], u'length': 255, u'type': u'uuid', u'description': u'the public IP address id of the load balancer rule '}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'keyword', u'required': False, 
 u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'networkid', u'required': False, u'related': [u'listSrxFirewallNetworks', u'listNetworks', u'updateNetwork', u'listNetscalerLoadBalancerNetworks', u'createNetwork', u'listPaloAltoFirewallNetworks', u'updateNetwork'], u'length': 255, u'type': u'uuid', u'description': u'list by network id the rule belongs to'}, {u'name': u'zoneid', u'required': False, u'related': [u'createZone', u'listZones', u'updateZone', u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'the availability zone ID'}, {u'name': u'tags', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'List resources by tags (key/value pairs)'}, {u'name': u'virtualmachineid', u'required': False, u'related': [u'rebootVirtualMachine', u'startVirtualMachine', u'destroyVirtualMachine', u'destroyVirtualMachine', u'detachIso', u'listVirtualMachines', u'startVirtualMachine', u'restoreVirtual
 Machine', u'resetPasswordForVirtualMachine', u'updateDefaultNicForVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'migrateVirtualMachineWithVolume', u'assignVirtualMachine', u'changeServiceForVirtualMachine', u'migrateVirtualMachine', u'removeNicFromVirtualMachine', u'resetSSHKeyForVirtualMachine', u'updateVMAffinityGroup', u'listVirtualMachines', u'changeServiceForVirtualMachine', u'updateVMAffinityGroup', u'addNicToVirtualMachine', u'resetPasswordForVirtualMachine', u'deployVirtualMachine', u'detachIso', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'stopVirtualMachine', u'updateDefaultNicForVirtualMachine', u'stopVirtualMachine'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the virtual machine of the load balancer rule'}, {u'name': u'domainid', u'required': False, u'related': [u'updateDomain', u'listDomainChildren'], u'length': 255, u'type': u'uu
 id', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'fordisplay', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'list resources by display flag; only ROOT admin is eligible to pass this parameter'}, {u'name': u'projectid', u'required': False, u'related': [u'updateProject', u'createProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'id', u'required': False, u'related': [u'listIpForwardingRules'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the load
  balancer rule'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the name of the load balancer rule'}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}], u'requiredparams': [], u'description': u'Lists load balancer rules.'}, u'autoscalepolicies': {u'name': u'listAutoScalePolicies', u'related': [u'createAutoScalePolicy', u'updateAutoScalePolicy'], u'isasync': False, u'params': [{u'name': u'domainid', u'required': False, u'related': [u'createDomain', u'updateDomain', u'listDomains', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'page', u'
 required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'conditionid', u'required': False, u'related': [u'listConditions'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the condition of the policy'}, {u'name': u'vmgroupid', u'required': False, u'related': [u'updateAutoScaleVmGroup', u'disableAutoScaleVmGroup', u'enableAutoScaleVmGroup', u'createAutoScaleVmGroup'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the autoscale vm group'}, {u'name': u'action', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the action to be executed if all the conditions evaluate to true for the specified duration.'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'id', u'required': False, u'related': [u'createAutoScalePolicy', u'listAuto
 ScalePolicies', u'updateAutoScalePolicy'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the autoscale policy'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}], u'requiredparams': [], u'description': u'Lists autoscale policies.'}, u'niciranvpdevices': {u'name': u'listNic
 iraNvpDevices', u'related': [u'addNiciraNvpDevice'], u'isasync': False, u'params': [{u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'nvpdeviceid', u'required': False, u'related': [u'addNiciraNvpDevice', u'listNiciraNvpDevices'], u'length': 255, u'type': u'uuid', u'description': u'nicira nvp device ID'}, {u'name': u'physicalnetworkid', u'required': False, u'related': [u'createPhysicalNetwork', u'listPhysicalNetworks'], u'length': 255, u'type': u'uuid', u'description': u'the Physical Network ID'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'Lists Nicira NVP devices'}, u'f5loadbalancernetworks': {u'name': u'listF5LoadBalancerNetworks', u'related': [u'listSrxFirewallNe
 tworks', u'listNetworks', u'updateNetwork', u'listNetscalerLoadBalancerNetworks', u'createNetwork', u'listPaloAltoFirewallNetworks', u'updateNetwork'], u'isasync': False, u'params': [{u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'lbdeviceid', u'required': True, u'related': [u'addF5LoadBalancer'], u'length': 255, u'type': u'uuid', u'description': u'f5 load balancer device ID'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [u'lbdeviceid'], u'description': u'lists network that are using a F5 load balancer device'}, u'templatepermissions': {u'name': u'listTemplatePermissions', u'related': [u'listTemplatePermissions', u'listIsoPermissions', u'listIsoPermissions'], u'isasync': False, u'param
 s': [{u'name': u'id', u'required': True, u'related': [u'listTemplatePermissions', u'listTemplatePermissions', u'listIsoPermissions', u'listIsoPermissions'], u'length': 255, u'type': u'uuid', u'description': u'the template ID'}], u'requiredparams': [u'id'], u'description': u'List template visibility and all accounts that have permissions to view this template.'}, u'projects': {u'name': u'listProjects', u'related': [u'updateProject', u'listProjectAccounts', u'activateProject', u'createProject'], u'isasync': False, u'params': [{u'name': u'id', u'required': False, u'related': [u'updateProject', u'listProjectAccounts', u'listProjects', u'activateProject', u'createProject'], u'length': 255, u'type': u'uuid', u'description': u'list projects by project ID'}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name':
  u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list projects by name'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'tags', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'List projects by tags (key/value pairs)'}, {u'name': u'displaytext', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list projec
 ts by display text'}, {u'name': u'state', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list projects by state'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'domainid', u'required': False, u'related': [u'createDomain', u'updateDomain', u'listDomains', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'Lists projects and provides detailed information for listed projects'}, u'systemvms': {u'name': u'listSystemVms', u'related': [u'rebootSystemVm', u'scaleSystemVm'], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'},
  {u'name': u'zoneid', u'required': False, u'related': [u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'the Zone ID of the system VM'}, {u'name': u'systemvmtype', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the system VM type. Possible types are "consoleproxy" and "secondarystoragevm".'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'storageid', u'required': False, u'related': [u'findStoragePoolsForMigration'], u'length': 255, u'type': u'uuid', u'description': u"the storage ID where vm's volumes belong to"}, {u'name': u'hostid', u'required': False, u'related': [u'listHosts'], u'length': 255, u'type': u'uuid', u'description': u'the host ID of the system VM'}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the name of the system VM'}, {u'name': u'id', u'required': False, u'related':
  [u'rebootSystemVm', u'listSystemVms', u'scaleSystemVm'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the system VM'}, {u'name': u'state', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the state of the system VM'}, {u'name': u'podid', u'required': False, u'related': [u'updatePod'], u'length': 255, u'type': u'uuid', u'description': u'the Pod ID of the system VM'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'List system virtual machines.'}, u'portforwardingrules': {u'name': u'listPortForwardingRules', u'related': [u'createPortForwardingRule', u'listIpForwardingRules'], u'isasync': False, u'params': [{u'name': u'networkid', u'required': False, u'related': [u'listF5LoadBalancerNetworks', u'listSrxFirewallNetworks', u'listNetworks', u'updateNetwork', u'listNetscalerLoadBalancerNetworks', u'createNetwork', u'listP
 aloAltoFirewallNetworks', u'updateNetwork'], u'length': 255, u'type': u'uuid', u'description': u'list port forwarding rules for ceratin network'}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'ipaddressid', u'required': False, u'related': [u'listPublicIpAddresses', u'associateIpAddress', u'restartNetwork', u'associateIpAddress'], u'length': 255, u'type': u'uuid', u'description': u'the id of IP address of the port forwarding services'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'id', u'required': False, u'related': [u'listPortForwardingRules', u'createPortForwardingRule', u'listIpForwardingRules'], u'length': 255, u'type': u'uuid', u'description': u'Lists rule with the specified ID.'}, {u'name': u'projectid', u'r
 equired': False, u'related': [u'updateProject', u'createProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'tags', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'List resources by tags (key/value pairs)'}, {u'name': u'fordisplay', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'list resources by display flag; only ROOT admin is eligible to pass this parameter'}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'domainid', u'required': False, u'related': [u'createDomain', u'updateDomain', u'listDomains', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the
  domain specified'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}], u'requiredparams': [], u'description': u'Lists all port forwarding rules for an IP address.'}, u'bigswitchvnsdevices': {u'name': u'listBigSwitchVnsDevices', u'related': [], u'isasync': False, u'params': [{u'name': u'vnsdeviceid', u'required': False, u'related': [u'listBigSwitchVnsDevices'], u'length': 255, u'type': u'uuid', u'description': u'bigswitch vns device ID'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'pagesize', u'required': Fals
 e, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'physicalnetworkid', u'required': False, u'related': [u'listPhysicalNetworks'], u'length': 255, u'type': u'uuid', u'description': u'the Physical Network ID'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'Lists BigSwitch Vns devices'}, u'networkacllists': {u'name': u'listNetworkACLLists', u'related': [u'createNetworkACLList'], u'isasync': False, u'params': [{u'name': u'networkid', u'required': False, u'related': [u'listF5LoadBalancerNetworks', u'listSrxFirewallNetworks', u'listNetworks', u'updateNetwork', u'listNetscalerLoadBalancerNetworks', u'createNetwork', u'listPaloAltoFirewallNetworks', u'updateNetwork'], u'length': 255, u'type': u'uuid', u'description': u'list network ACLs by network Id'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', 
 u'description': u''}, {u'name': u'id', u'required': False, u'related': [u'createNetworkACLList', u'listNetworkACLLists'], u'length': 255, u'type': u'uuid', u'description': u'Lists network ACL with the specified ID.'}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'name', u'required': False, u'related': [], u'length':
  255, u'type': u'string', u'description': u'list network ACLs by specified name'}, {u'name': u'projectid', u'required': False, u'related': [u'updateProject', u'listProjectAccounts', u'createProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'fordisplay', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'list resources by display flag; only ROOT admin is eligible to pass this parameter'}, {u'name': u'vpcid', u'required': False, u'related': [u'createVPC', u'listVPCs', u'updateVPC', u'updateVPC', u'listVPCs', u'createVPC', u'restartVPC'], u'length': 255, u'type': u'uuid', u'description': u'list network ACLs by Vpc Id'}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'domainid', u'required': False, u'related':
  [u'createDomain', u'updateDomain', u'listDomains', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}], u'requiredparams': [], u'description': u'Lists all network ACLs'}, u'storageproviders': {u'name': u'listStorageProviders', u'related': [], u'isasync': False, u'params': [{u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'type', u'required': True, u'related': [], u'length': 255, u'type': u'string', u'description': u'the type of storage provider: either primary or image'}], u'requiredparams': [u'type'], u'description': u'Lists storage providers.'}, u'vpngateways': {u'name': u'listVpnG
 ateways', u'related': [u'updateVpnGateway', u'createVpnGateway'], u'isasync': False, u'params': [{u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'domainid', u'required': False, u'related': [u'createDomain', u'updateDomain', u'listDomains', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'id', u'required': False, u'related': [u'updateVpnGateway', u'createVpnGateway', u'listVpnGateways'], u'length': 255, u'type': u'uuid', u'description': u'id of the vpn gateway'}, {u'name': u'projectid', u'required': False, u'related': [u'updateProject', u'listProjectAccounts', u'activateProject', u'createPro
 ject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'vpcid', u'required': False, u'related': [u'createVPC', u'listVPCs', u'updateVPC', u'updateVPC', u'listVPCs', u'createVPC', u'restartVPC'], u'length': 255, u'type': u'uuid', u'description': u'id of vpc'}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'fordisplay', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', 
 u'description': u'list resources by display flag; only ROOT admin is eligible to pass this parameter'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'Lists site 2 site vpn gateways'}, u'events': {u'name': u'listEvents', u'related': [], u'isasync': False, u'params': [{u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'enddate', u'required': False, u'related': [], u'length': 255, u'type': u'date', u'description': u'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")'}, {u'name': u'startdate', u'required': False, u'related': [], u'length': 255, u'type': u'date', u'descript
 ion': u'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")'}, {u'name': u'level', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the event level (INFO, WARN, ERROR)'}, {u'name': u'entrytime', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'the time the event was entered'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'type', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the event type (see event types)'}, {u'name': u'projectid', u'required': False, u'related': [u'updateProject', u'createProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'domainid', u'required': False, u'related': [u'updateDo
 main', u'listDomains', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'duration', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'the duration of the event'}, {u'name': u'id', u'required': False, u'related': [u'listEvents'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the event'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u
 'integer', u'description': u''}], u'requiredparams': [], u'description': u'A command to list events.'}, u'hosttags': {u'name': u'listHostTags', u'related': [], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'Lists host tags'}, u'hosts': {u'name': u'listHosts', u'related': [], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'virtualmachineid', u'required': False, u'related': [u'destroyVirtualMachine', u'startVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'resetS
 SHKeyForVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine', u'updateVMAffinityGroup', u'addNicToVirtualMachine', u'resetPasswordForVirtualMachine', u'deployVirtualMachine', u'detachIso', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'updateDefaultNicForVirtualMachine', u'stopVirtualMachine'], u'length': 255, u'type': u'uuid', u'description': u'lists hosts in the same cluster as this VM and flag hosts with enough CPU/RAm to host this VM'}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the name of the host'}, {u'name': u'resourcestate', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list hosts by resource state. Resource state represents current state determined by admin of host, valule can be one of [Enabled, Disabled, Unmanaged, PrepareForMaintenance, ErrorInMaintenance, Maintenance, Error]'}, {u'name': 
 u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'type', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the host type'}, {u'name': u'hypervisor', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'hypervisor type of host: XenServer,KVM,VMware,Hyperv,BareMetal,Simulator'}, {u'name': u'details', u'required': False, u'related': [], u'length': 255, u'type': u'list', u'description': u'comma separated list of host details requested, value can be a list of [ min, all, capacity, events, stats]'}, {u'name': u'hahost', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'if true, list only hosts dedicated to HA'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'zoneid', u'required': False, u'related': [u'listZones'], u'length': 2
 55, u'type': u'uuid', u'description': u'the Zone ID for the host'}, {u'name': u'podid', u'required': False, u'related': [u'updatePod'], u'length': 255, u'type': u'uuid', u'description': u'the Pod ID for the host'}, {u'name': u'state', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the state of the host'}, {u'name': u'id', u'required': False, u'related': [u'listHosts'], u'length': 255, u'type': u'uuid', u'description': u'the id of the host'}, {u'name': u'clusterid', u'required': False, u'related': [], u'length': 255, u'type': u'uuid', u'description': u'lists hosts existing in particular cluster'}], u'requiredparams': [], u'description': u'Lists hosts.'}, u'hypervisorcapabilities': {u'name': u'listHypervisorCapabilities', u'related': [], u'isasync': False, u'params': [{u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'le
 ngth': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'id', u'required': False, u'related': [u'listHypervisorCapabilities'], u'length': 255, u'type': u'uuid', u'description': u'ID of the hypervisor capability'}, {u'name': u'hypervisor', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the hypervisor for which to restrict the search'}], u'requiredparams': [], u'description': u'Lists all hypervisor capabilities.'}, u'deploymentplanners': {u'name': u'listDeploymentPlanners', u'related': [], u'isasync': False, u'params': [{u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'pagesize', u'required': False, u
 'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'Lists all DeploymentPlanners available.'}, u'configurations': {u'name': u'listConfigurations', u'related': [], u'isasync': False, u'params': [{u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'accountid', u'required': False, u'related': [u'createAccount', u'disableAccount', u'markDefaultZoneForAccount', u'lockAccount', u'ldapCreateAccount', u'listAccounts', u'listAccounts'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the Account to update the parameter value for corresponding account'}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists configuration by name'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'zoneid', u'required': Fal
 se, u'related': [u'createZone', u'listZones', u'updateZone', u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the Zone to update the parameter value for corresponding zone'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'category', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists configurations by category'}, {u'name': u'clusterid', u'required': False, u'related': [u'updateCluster'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the Cluster to update the parameter value for corresponding cluster'}, {u'name': u'storageid', u'required': False, u'related': [u'listStoragePools', u'findStoragePoolsForMigration', u'createStoragePool'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the Storage pool to update the parameter value for corresponding storage pool'}], u'requiredparams': [], u'de
 scription': u'Lists all configurations.'}, u'paloaltofirewalls': {u'name': u'listPaloAltoFirewalls', u'related': [u'configurePaloAltoFirewall'], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'fwdeviceid', u'required': False, u'related': [u'configurePaloAltoFirewall', u'listPaloAltoFirewalls'], u'length': 255, u'type': u'uuid', u'description': u'Palo Alto firewall device ID'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'physicalnetworkid', u'required': False, u'related': [u'listPhysicalNetworks'], u'length': 255, u'type': u'uuid', u'description': u'the Physical Network ID'}], u'requiredparams': [], u'description': u'lists Palo Alto firewall devices in a physical 
 network'}, u'usagerecords': {u'name': u'listUsageRecords', u'related': [], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'projectid', u'required': False, u'related': [u'updateProject', u'createProject'], u'length': 255, u'type': u'uuid', u'description': u'List usage records for specified project'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List usage records for the specified user.'}, {u'name': u'usageid', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List usage records for the specified usage UUID. Can be used only together with TYPE parameter.'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'enddate', u'required': True, u'related': [], u'length': 255, u'type': u'dat
 e', u'description': u'End date range for usage record query. Use yyyy-MM-dd as the date format, e.g. startDate=2009-06-03.'}, {u'name': u'type', u'required': False, u'related': [], u'length': 255, u'type': u'long', u'description': u'List usage records for the specified usage type'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'startdate', u'required': True, u'related': [], u'length': 255, u'type': u'date', u'description': u'Start date range for usage record query. Use yyyy-MM-dd as the date format, e.g. startDate=2009-06-01.'}, {u'name': u'domainid', u'required': False, u'related': [u'createDomain', u'updateDomain', u'listDomains', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'List usage records for the specified domain.'}, {u'name': u'accountid', u'required': False, u'related': [u'createAccount', u'updateAccount', u'disableAccount', u'markDefaultZoneForAccount', u'lock
 Account', u'ldapCreateAccount', u'listAccounts', u'listAccounts'], u'length': 255, u'type': u'uuid', u'description': u'List usage records for the specified account'}], u'requiredparams': [u'enddate', u'startdate'], u'description': u'Lists usage records for accounts'}, u'storagepools': {u'name': u'listStoragePools', u'related': [u'findStoragePoolsForMigration'], u'isasync': False, u'params': [{u'name': u'id', u'required': False, u'related': [u'listStoragePools', u'findStoragePoolsForMigration'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the storage pool'}, {u'name': u'clusterid', u'required': False, u'related': [], u'length': 255, u'type': u'uuid', u'description': u'list storage pools belongig to the specific cluster'}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the name of the storage pool'}, {u'name': u'podid', u'required': False, u'related': [u'updatePod'], u'length': 255, u'type': u'uuid', u'des
 cription': u'the Pod ID for the storage pool'}, {u'name': u'ipaddress', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the IP address for the storage pool'}, {u'name': u'scope', u'required': False, u'related': [u'listStoragePools', u'findStoragePoolsForMigration'], u'length': 255, u'type': u'string', u'description': u'the ID of the storage pool'}, {u'name': u'zoneid', u'required': False, u'related': [u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'the Zone ID for the storage pool'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'path', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the storage pool path'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length'
 : 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'Lists storage pools.'}, u'ucsblades': {u'name': u'listUcsBlades', u'related': [], u'isasync': False, u'params': [{u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'ucsmanagerid', u'required': True, u'related': [u'addUcsManager'], u'length': 255, u'type': u'uuid', u'description': u'ucs manager id'}], u'requiredparams': [u'ucsmanagerid'], u'description': u'List ucs blades'}, u'snapshots': {u'name': u'listSnapshots', u'related': [u'revertSnapshot', u'createSnapshot'], u'isasync': False, u'params': [{u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': 
 u'integer', u'description': u''}, {u'name': u'id', u'required': False, u'related': [u'revertSnapshot', u'createSnapshot', u'listSnapshots'], u'length': 255, u'type': u'uuid', u'description': u'lists snapshot by snapshot ID'}, {u'name': u'domainid', u'required': False, u'related': [u'updateDomain', u'listDomains', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'tags', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'List resources by tags (key/value pairs)'}, {u'name': u'intervaltype', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'valid values are HOURLY, DAILY, WEEKLY, and MONTHLY.'}, {u'name': u'volumeid', u'required': False, u'related': [u'uploadVolume', u'attachVolume', u'listVolumes', u'detachVolume', u'uploadVolume', u'resizeVolume', u'createVolume', u'updateVolume', u'createVolume', u'migrateVolume'],
  u'length': 255, u'type': u'uuid', u'description': u'the ID of the disk volume'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists snapshot by snapshot name'}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is author
 ized to see. Default value is false"}, {u'name': u'snapshottype', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'valid values are MANUAL or RECURRING.'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'projectid', u'required': False, u'related': [u'updateProject', u'createProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'zoneid', u'required': False, u'related': [u'createZone', u'listZones', u'updateZone', u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'list snapshots by zone id'}], u'requiredparams': [], u'description': u'Lists all available snapshots for the account.'}, u'vmwaredcs': {u'name': u'listVmwareDcs', u'related': [], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by k
 eyword'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'zoneid', u'required': True, u'related': [u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'Id of the CloudStack zone.'}], u'requiredparams': [u'zoneid'], u'description': u'Retrieves VMware DC(s) associated with a zone.'}, u'dedicatedguestvlanranges': {u'name': u'listDedicatedGuestVlanRanges', u'related': [u'dedicateGuestVlanRange'], u'isasync': False, u'params': [{u'name': u'guestvlanrange', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the dedicated guest vlan range'}, {u'name': u'domainid', u'required': False, u'related': [u'updateDomain', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'the domain ID with which the guest VLAN range is associate
 d.  If used with the account parameter, returns all guest VLAN ranges for that account in the specified domain.'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'physicalnetworkid', u'required': False, u'related': [u'listPhysicalNetworks'], u'length': 255, u'type': u'uuid', u'description': u'physical network id of the guest VLAN range'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'zoneid', u'required': False, u'related': [u'createZone', u'listZones', u'updateZone', u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'zone of the guest VLAN range'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'projectid', u'required': False, u'related': [u'updateProject', u'createProject'], u'length': 255, u'type': u'uuid', u'de
 scription': u'project who will own the guest VLAN range'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the account with which the guest VLAN range is associated. Must be used with the domainId parameter.'}, {u'name': u'id', u'required': False, u'related': [u'dedicateGuestVlanRange', u'listDedicatedGuestVlanRanges'], u'length': 255, u'type': u'uuid', u'description': u'list dedicated guest vlan ranges by id'}], u'requiredparams': [], u'description': u'Lists dedicated guest vlan ranges'}, u'serviceofferings': {u'name': u'listServiceOfferings', u'related': [], u'isasync': False, u'params': [{u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'id', u'required': False, u'related': [u'listServiceOfferings'], u'length': 255, u'type': u'uuid', u'description': u'ID of the service offering'}, {u'name': u'virtualmachineid', u'required': False, u'relate
 d': [u'destroyVirtualMachine', u'destroyVirtualMachine', u'listVirtualMachines', u'startVirtualMachine', u'restoreVirtualMachine', u'revertToVMSnapshot', u'revertToVMSnapshot', u'updateVirtualMachine', u'migrateVirtualMachineWithVolume', u'resetSSHKeyForVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine', u'updateVMAffinityGroup', u'addNicToVirtualMachine', u'resetPasswordForVirtualMachine', u'deployVirtualMachine', u'detachIso', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'stopVirtualMachine', u'updateDefaultNicForVirtualMachine', u'stopVirtualMachine'], u'length': 255, u'type': u'uuid', u'description': u'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.'}, {u'name': u'systemvmtype', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the system VM type. Possible types are "consolepro
 xy", "secondarystoragevm" or "domainrouter".'}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'name of the service offering'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'issystem', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'is this a system vm offering'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the domain associated with the service offering'}], u'requiredparams': [], u'description': u'Lists all available service offerings.'}, u'ciscoasa1000vresources': {u'name': u'listCiscoAsa1000vResources', u'related': [u'addCiscoAsa1000vResource'], u'isasync': False, u'params':
  [{u'name': u'physicalnetworkid', u'required': False, u'related': [u'createPhysicalNetwork', u'updatePhysicalNetwork', u'listPhysicalNetworks'], u'length': 255, u'type': u'uuid', u'description': u'the Physical Network ID'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'hostname', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'Hostname or ip address of the Cisco ASA 1000v appliance.'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'resourceid', u'required': False, u'related': [u'addCiscoAsa1000vResource', u'listCiscoAsa1000vResources'], u'length': 255, u'type': u'uuid', u'description': u'Cisco ASA 1000v resource ID'}], u'requiredparams': [], u'descripti
 on': u'Lists Cisco ASA 1000v appliances'}, u'brocadevcsdevices': {u'name': u'listBrocadeVcsDevices', u'related': [u'addBrocadeVcsDevice'], u'isasync': False, u'params': [{u'name': u'vcsdeviceid', u'required': False, u'related': [u'addBrocadeVcsDevice', u'listBrocadeVcsDevices'], u'length': 255, u'type': u'uuid', u'description': u'Brocade VCS switch ID'}, {u'name': u'physicalnetworkid', u'required': False, u'related': [u'createPhysicalNetwork', u'listPhysicalNetworks'], u'length': 255, u'type': u'uuid', u'description': u'the Physical Network ID'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'Lists Brocade VCS Switches'}, u'affinit
 ygrouptypes': {u'name': u'listAffinityGroupTypes', u'related': [], u'isasync': False, u'params': [{u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}], u'requiredparams': [], u'description': u'Lists affinity group types available'}, u'publicipaddresses': {u'name': u'listPublicIpAddresses', u'related': [u'listPublicIpAddresses', u'associateIpAddress', u'restartNetwork', u'updateIpAddress', u'associateIpAddress'], u'isasync': False, u'params': [{u'name': u'domainid', u'required': False, u'related': [u'createDomain', u'updateDomain', u'listDomains', u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {
 u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'zoneid', u'required': False, u'related': [u'createZone', u'listZones', u'updateZone', u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'lists all public IP addresses by Zone ID'}, {u'name': u'forvirtualnetwork', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'the virtual network for the IP address'}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'ipaddress', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists the specified IP address'}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, l
 ist only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'fordisplay', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'list

<TRUNCATED>

[8/8] git commit: precache: updated new precache with response information for each API

Posted by bh...@apache.org.
precache: updated new precache with response information for each API

Signed-off-by: Rohit Yadav <ro...@shapeblue.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/commit/bc19580f
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/tree/bc19580f
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/diff/bc19580f

Branch: refs/heads/master
Commit: bc19580fcc7407f908a95269b5001635c757caf2
Parents: 8202b8b
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Fri Oct 31 06:19:13 2014 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Fri Oct 31 06:19:13 2014 +0530

----------------------------------------------------------------------
 cloudmonkey/precache.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------



[2/8] git commit: precache: re-update precache against latest API changes

Posted by bh...@apache.org.
precache: re-update precache against latest API changes

Signed-off-by: Rohit Yadav <ro...@shapeblue.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/commit/26601437
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/tree/26601437
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/diff/26601437

Branch: refs/heads/master
Commit: 26601437fd43ccb79f265dab1d05c974f50694a8
Parents: 6f71acf
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Fri Oct 31 00:55:52 2014 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Fri Oct 31 00:55:52 2014 +0530

----------------------------------------------------------------------
 cloudmonkey/precache.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------



[7/8] precache: updated new precache with response information for each API

Posted by bh...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/bc19580f/cloudmonkey/precache.py
----------------------------------------------------------------------
diff --git a/cloudmonkey/precache.py b/cloudmonkey/precache.py
index 731ebea..c25ce5c 100644
--- a/cloudmonkey/precache.py
+++ b/cloudmonkey/precache.py
@@ -16,4 +16,4 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-apicache = {u'authorize': {u'securitygroupingress': {u'name': u'authorizeSecurityGroupIngress', u'related': [u'authorizeSecurityGroupEgress'], u'isasync': True, u'params': [{u'name': u'icmpcode', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'error code for this icmp message'}, {u'name': u'startport', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'start port for this ingress rule'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'an optional account for the security group. Must be used with domainId.'}, {u'name': u'projectid', u'required': False, u'related': [u'listProjects', u'createProject', u'listProjectAccounts', u'activateProject', u'updateProject'], u'length': 255, u'type': u'uuid', u'description': u'an optional project of the security group'}, {u'name': u'securitygroupname', u'required': False, u'related': [], u'length': 255, 
 u'type': u'string', u'description': u'The name of the security group. Mutually exclusive with securityGroupName parameter'}, {u'name': u'protocol', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'TCP is default. UDP is the other supported protocol'}, {u'name': u'cidrlist', u'required': False, u'related': [], u'length': 255, u'type': u'list', u'description': u'the cidr list associated'}, {u'name': u'icmptype', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'type of the icmp message being sent'}, {u'name': u'usersecuritygrouplist', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'user to security group mapping'}, {u'name': u'endport', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'end port for this ingress rule'}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren', u'createDomain', u'listDomain
 s', u'updateDomain'], u'length': 255, u'type': u'uuid', u'description': u'an optional domainId for the security group. If the account parameter is used, domainId must also be used.'}, {u'name': u'securitygroupid', u'required': False, u'related': [u'createSecurityGroup', u'listSecurityGroups'], u'length': 255, u'type': u'uuid', u'description': u'The ID of the security group. Mutually exclusive with securityGroupName parameter'}], u'requiredparams': [], u'description': u'Authorizes a particular ingress rule for this security group'}, u'securitygroupegress': {u'name': u'authorizeSecurityGroupEgress', u'related': [], u'isasync': True, u'params': [{u'name': u'projectid', u'required': False, u'related': [u'createProject', u'updateProject'], u'length': 255, u'type': u'uuid', u'description': u'an optional project of the security group'}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren', u'listDomains', u'updateDomain'], u'length': 255, u'type': u'uuid', u'descri
 ption': u'an optional domainId for the security group. If the account parameter is used, domainId must also be used.'}, {u'name': u'securitygroupname', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'The name of the security group. Mutually exclusive with securityGroupName parameter'}, {u'name': u'usersecuritygrouplist', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'user to security group mapping'}, {u'name': u'startport', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'start port for this egress rule'}, {u'name': u'protocol', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'TCP is default. UDP is the other supported protocol'}, {u'name': u'securitygroupid', u'required': False, u'related': [u'listSecurityGroups'], u'length': 255, u'type': u'uuid', u'description': u'The ID of the security group. Mutually exclusive with 
 securityGroupName parameter'}, {u'name': u'endport', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'end port for this egress rule'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'an optional account for the security group. Must be used with domainId.'}, {u'name': u'icmpcode', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'error code for this icmp message'}, {u'name': u'icmptype', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'type of the icmp message being sent'}, {u'name': u'cidrlist', u'required': False, u'related': [], u'length': 255, u'type': u'list', u'description': u'the cidr list associated'}], u'requiredparams': [], u'description': u'Authorizes a particular egress rule for this security group'}}, u'restore': {u'virtualmachine': {u'name': u'restoreVirtualMachine', u'related': [u're
 vertToVMSnapshot', u'destroyVirtualMachine', u'deployVirtualMachine', u'addNicToVirtualMachine', u'attachIso', u'resetSSHKeyForVirtualMachine', u'resetPasswordForVirtualMachine', u'restoreVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'stopVirtualMachine', u'startVirtualMachine', u'stopVirtualMachine', u'destroyVirtualMachine', u'migrateVirtualMachineWithVolume', u'updateVMAffinityGroup', u'listVirtualMachines', u'detachIso', u'updateDefaultNicForVirtualMachine', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine'], u'isasync': True, u'params': [{u'name': u'virtualmachineid', u'required': True, u'related': [u'revertToVMSnapshot', u'destroyVirtualMachine', u'deployVirtualMachine', u'addNicToVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'resetSSHKeyForVirtualMachine', u'resetPasswordForVirtualMachine', u'restoreVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'stopVirtualMach
 ine', u'startVirtualMachine', u'stopVirtualMachine', u'destroyVirtualMachine', u'migrateVirtualMachineWithVolume', u'updateVMAffinityGroup', u'listVirtualMachines', u'detachIso', u'updateDefaultNicForVirtualMachine', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine'], u'length': 255, u'type': u'uuid', u'description': u'Virtual Machine ID'}, {u'name': u'templateid', u'required': False, u'related': [u'listIsos', u'copyIso', u'registerIso', u'copyTemplate', u'updateIso', u'createTemplate', u'registerTemplate', u'listTemplates', u'copyIso', u'listIsos'], u'length': 255, u'type': u'uuid', u'description': u'an optional template Id to restore vm from the new template. This can be an ISO id in case of restore vm deployed using ISO'}], u'requiredparams': [u'virtualmachineid'], u'description': u'Restore a VM to original template/ISO or new template/ISO'}}, u'suspend': {u'project': {u'name': u'suspendProject', u'related': [u'list
 Projects', u'createProject', u'listProjectAccounts', u'activateProject', u'updateProject'], u'isasync': True, u'params': [{u'name': u'id', u'required': True, u'related': [u'listProjects', u'createProject', u'listProjectAccounts', u'activateProject', u'suspendProject', u'updateProject'], u'length': 255, u'type': u'uuid', u'description': u'id of the project to be suspended'}], u'requiredparams': [u'id'], u'description': u'Suspends a project'}}, u'revoke': {u'securitygroupingress': {u'name': u'revokeSecurityGroupIngress', u'related': [], u'isasync': True, u'params': [{u'name': u'id', u'required': True, u'related': [], u'length': 255, u'type': u'uuid', u'description': u'The ID of the ingress rule'}], u'requiredparams': [u'id'], u'description': u'Deletes a particular ingress rule from this security group'}, u'securitygroupegress': {u'name': u'revokeSecurityGroupEgress', u'related': [], u'isasync': True, u'params': [{u'name': u'id', u'required': True, u'related': [u'authorizeSecurityGroup
 Egress'], u'length': 255, u'type': u'uuid', u'description': u'The ID of the egress rule'}], u'requiredparams': [u'id'], u'description': u'Deletes a particular egress rule from this security group'}}, u'disassociate': {u'ipaddress': {u'name': u'disassociateIpAddress', u'related': [], u'isasync': True, u'params': [{u'name': u'id', u'required': True, u'related': [u'associateIpAddress', u'listPublicIpAddresses', u'associateIpAddress'], u'length': 255, u'type': u'uuid', u'description': u'the id of the public ip address to disassociate'}], u'requiredparams': [u'id'], u'description': u'Disassociates an ip address from the account.'}}, u'migrate': {u'volume': {u'name': u'migrateVolume', u'related': [u'attachVolume', u'uploadVolume', u'resizeVolume', u'listVolumes', u'createVolume', u'migrateVolume', u'detachVolume', u'uploadVolume', u'updateVolume', u'attachVolume', u'createVolume', u'resizeVolume', u'detachVolume', u'updateVolume'], u'isasync': True, u'params': [{u'name': u'storageid', u'r
 equired': True, u'related': [u'listStoragePools', u'enableStorageMaintenance', u'updateStoragePool', u'findStoragePoolsForMigration', u'cancelStorageMaintenance', u'createStoragePool'], u'length': 255, u'type': u'uuid', u'description': u'destination storage pool ID to migrate the volume to'}, {u'name': u'livemigrate', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'if the volume should be live migrated when it is attached to a running vm'}, {u'name': u'volumeid', u'required': True, u'related': [u'attachVolume', u'uploadVolume', u'resizeVolume', u'listVolumes', u'createVolume', u'migrateVolume', u'migrateVolume', u'detachVolume', u'uploadVolume', u'updateVolume', u'attachVolume', u'createVolume', u'resizeVolume', u'detachVolume', u'updateVolume'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the volume'}], u'requiredparams': [u'storageid', u'volumeid'], u'description': u'Migrate volume'}, u'systemvm': {u'name': u'migrateSyst
 emVm', u'related': [u'scaleSystemVm', u'rebootSystemVm', u'listSystemVms'], u'isasync': True, u'params': [{u'name': u'hostid', u'required': True, u'related': [u'listHosts', u'listExternalLoadBalancers'], u'length': 255, u'type': u'uuid', u'description': u'destination Host ID to migrate VM to'}, {u'name': u'virtualmachineid', u'required': True, u'related': [u'scaleSystemVm', u'rebootSystemVm', u'listSystemVms', u'migrateSystemVm'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the virtual machine'}], u'requiredparams': [u'hostid', u'virtualmachineid'], u'description': u'Attempts Migration of a system virtual machine to the host specified.'}, u'virtualmachine': {u'name': u'migrateVirtualMachine', u'related': [u'updateVirtualMachine', u'revertToVMSnapshot', u'destroyVirtualMachine', u'deployVirtualMachine', u'addNicToVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'resetSSHKeyForVirtualMachine', u'resetPasswordForVirtualMachine', u'restoreVirtualMachine', u're
 vertToVMSnapshot', u'updateVirtualMachine', u'stopVirtualMachine', u'startVirtualMachine', u'stopVirtualMachine', u'assignVirtualMachine', u'destroyVirtualMachine', u'migrateVirtualMachineWithVolume', u'updateVMAffinityGroup', u'listVirtualMachines', u'detachIso', u'updateDefaultNicForVirtualMachine', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine'], u'isasync': True, u'params': [{u'name': u'virtualmachineid', u'required': True, u'related': [u'updateVirtualMachine', u'revertToVMSnapshot', u'destroyVirtualMachine', u'deployVirtualMachine', u'addNicToVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'resetSSHKeyForVirtualMachine', u'resetPasswordForVirtualMachine', u'restoreVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'stopVirtualMachine', u'startVirtualMachine', u'stopVirtualMachine', u'assignVirtualMachine', u'destroyVirtualMachine', u'migrateVirtualMachineWithVolume', u'updateVMAffinityG
 roup', u'listVirtualMachines', u'detachIso', u'migrateVirtualMachine', u'updateDefaultNicForVirtualMachine', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the virtual machine'}, {u'name': u'hostid', u'required': False, u'related': [u'listHosts'], u'length': 255, u'type': u'uuid', u'description': u'Destination Host ID to migrate VM to. Required for live migrating a VM from host to host'}, {u'name': u'storageid', u'required': False, u'related': [u'findStoragePoolsForMigration'], u'length': 255, u'type': u'uuid', u'description': u'Destination storage pool ID to migrate VM volumes to. Required for migrating the root disk volume'}], u'requiredparams': [u'virtualmachineid'], u'description': u'Attempts Migration of a VM to a different host or Root volume of the vm to a different storage pool'}, u'virtualmachinewithvolume': {u'name': u'migrateVirtualMachineWit
 hVolume', u'related': [u'revertToVMSnapshot', u'destroyVirtualMachine', u'deployVirtualMachine', u'addNicToVirtualMachine', u'attachIso', u'resetSSHKeyForVirtualMachine', u'resetPasswordForVirtualMachine', u'restoreVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'startVirtualMachine', u'stopVirtualMachine', u'destroyVirtualMachine', u'updateVMAffinityGroup', u'listVirtualMachines', u'detachIso', u'updateDefaultNicForVirtualMachine', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine'], u'isasync': True, u'params': [{u'name': u'hostid', u'required': True, u'related': [u'listHosts'], u'length': 255, u'type': u'uuid', u'description': u'Destination Host ID to migrate VM to.'}, {u'name': u'migrateto', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'Map of pool to which each volume should be migrated (volume/pool pair)'}, {u'name': u'virtualmachineid', u'required': True,
  u'related': [u'revertToVMSnapshot', u'destroyVirtualMachine', u'deployVirtualMachine', u'addNicToVirtualMachine', u'attachIso', u'resetSSHKeyForVirtualMachine', u'resetPasswordForVirtualMachine', u'restoreVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'startVirtualMachine', u'stopVirtualMachine', u'destroyVirtualMachine', u'migrateVirtualMachineWithVolume', u'updateVMAffinityGroup', u'listVirtualMachines', u'detachIso', u'updateDefaultNicForVirtualMachine', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the virtual machine'}], u'requiredparams': [u'hostid', u'virtualmachineid'], u'description': u'Attempts Migration of a VM with its volumes to a different host'}}, u'lock': {u'account': {u'name': u'lockAccount', u'related': [u'listAccounts', u'ldapCreateAccount', u'markDefaultZoneForAccount', u'disableAccount', u'createAccount', u'list
 Accounts'], u'isasync': False, u'params': [{u'name': u'account', u'required': True, u'related': [], u'length': 255, u'type': u'string', u'description': u'Locks the specified account.'}, {u'name': u'domainid', u'required': True, u'related': [u'listDomainChildren', u'listDomains', u'updateDomain'], u'length': 255, u'type': u'uuid', u'description': u'Locks the specified account on this domain.'}], u'requiredparams': [u'account', u'domainid'], u'description': u'Locks an account'}, u'user': {u'name': u'lockUser', u'related': [u'listUsers'], u'isasync': False, u'params': [{u'name': u'id', u'required': True, u'related': [u'listUsers', u'lockUser'], u'length': 255, u'type': u'uuid', u'description': u'Locks user by user ID.'}], u'requiredparams': [u'id'], u'description': u'Locks a user account'}}, u'copy': {u'iso': {u'name': u'copyIso', u'related': [u'listIsos', u'registerIso', u'copyTemplate', u'updateIso', u'createTemplate', u'registerTemplate', u'listTemplates', u'copyIso', u'listIsos'], 
 u'isasync': True, u'params': [{u'name': u'id', u'required': True, u'related': [u'listIsos', u'copyIso', u'registerIso', u'copyTemplate', u'updateIso', u'createTemplate', u'registerTemplate', u'listTemplates', u'copyIso', u'listIsos'], u'length': 255, u'type': u'uuid', u'description': u'Template ID.'}, {u'name': u'sourcezoneid', u'required': False, u'related': [u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'ID of the zone the template is currently hosted on. If not specified and template is cross-zone, then we will sync this template to region wide image store.'}, {u'name': u'destzoneid', u'required': True, u'related': [u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'ID of the zone the template is being copied to.'}], u'requiredparams': [u'id', u'destzoneid'], u'description': u'Copies an iso from one zone to another.'}, u'template': {u'name': u'copyTemplate', u'related': [u'listTemplates', u'listIsos', u'registerIso', u'updateTemplate', u'copyIs
 o', u'registerTemplate', u'registerIso', u'createTemplate', u'copyTemplate', u'updateIso', u'createTemplate', u'registerTemplate', u'listTemplates', u'prepareTemplate', u'copyIso', u'listIsos'], u'isasync': True, u'params': [{u'name': u'id', u'required': True, u'related': [u'listTemplates', u'listIsos', u'registerIso', u'updateTemplate', u'copyIso', u'registerTemplate', u'registerIso', u'createTemplate', u'copyTemplate', u'copyTemplate', u'updateIso', u'createTemplate', u'registerTemplate', u'listTemplates', u'prepareTemplate', u'copyIso', u'listIsos'], u'length': 255, u'type': u'uuid', u'description': u'Template ID.'}, {u'name': u'sourcezoneid', u'required': False, u'related': [u'listZones', u'updateZone', u'listZones', u'createZone'], u'length': 255, u'type': u'uuid', u'description': u'ID of the zone the template is currently hosted on. If not specified and template is cross-zone, then we will sync this template to region wide image store.'}, {u'name': u'destzoneid', u'required': 
 True, u'related': [u'listZones', u'updateZone', u'listZones', u'createZone'], u'length': 255, u'type': u'uuid', u'description': u'ID of the zone the template is being copied to.'}], u'requiredparams': [u'id', u'destzoneid'], u'description': u'Copies a template from one zone to another.'}}, u'replace': {u'networkacllist': {u'name': u'replaceNetworkACLList', u'related': [], u'isasync': True, u'params': [{u'name': u'networkid', u'required': False, u'related': [u'listNetworks', u'createNetwork', u'updateNetwork'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the network'}, {u'name': u'gatewayid', u'required': False, u'related': [], u'length': 255, u'type': u'uuid', u'description': u'the ID of the private gateway'}, {u'name': u'aclid', u'required': True, u'related': [], u'length': 255, u'type': u'uuid', u'description': u'the ID of the network ACL'}], u'requiredparams': [u'aclid'], u'description': u'Replaces ACL associated with a Network or private gateway'}}, u'list': {u
 'lbhealthcheckpolicies': {u'name': u'listLBHealthCheckPolicies', u'related': [u'updateLBHealthCheckPolicy', u'createLBHealthCheckPolicy'], u'isasync': False, u'params': [{u'name': u'lbruleid', u'required': True, u'related': [u'listIpForwardingRules'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the load balancer rule'}, {u'name': u'fordisplay', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'list resources by display flag; only ROOT admin is eligible to pass this parameter'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}], u'requiredparams': [u'lbruleid'], u'description': u'Lists load balancer HealthCheck policie
 s.'}, u'apis': {u'name': u'listApis', u'related': [], u'isasync': False, u'params': [{u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'API name'}], u'requiredparams': [], u'description': u'lists all available apis on the server, provided by the Api Discovery plugin'}, u'instancegroups': {u'name': u'listInstanceGroups', u'related': [u'createInstanceGroup', u'updateInstanceGroup'], u'isasync': False, u'params': [{u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'name
 ', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list instance groups by name'}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren', u'createDomain', u'listDomains', u'updateDomain'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'projectid', u'required': False, u'related': [u'listProjects', u'createProject', u'listProjectAccounts', u'activateProject', u'updateProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'account', u'required': F
 alse, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'id', u'required': False, u'related': [u'createInstanceGroup', u'listInstanceGroups', u'updateInstanceGroup'], u'length': 255, u'type': u'uuid', u'description': u'list instance groups by ID'}], u'requiredparams': [], u'description': u'Lists vm groups'}, u'ucsmanagers': {u'name': u'listUcsManagers', u'related': [u'addUcsManager'], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'id', u'required': False, u'related': [u'addUcsManager', u'listUcsManagers'], u'length': 255, u'type'
 : u'uuid', u'description': u'the ID of the ucs manager'}, {u'name': u'zoneid', u'required': False, u'related': [u'listZones', u'updateZone', u'listZones', u'createZone'], u'length': 255, u'type': u'uuid', u'description': u'the zone id'}], u'requiredparams': [], u'description': u'List ucs manager'}, u'physicalnetworks': {u'name': u'listPhysicalNetworks', u'related': [], u'isasync': False, u'params': [{u'name': u'zoneid', u'required': False, u'related': [u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'the Zone ID for the physical network'}, {u'name': u'id', u'required': False, u'related': [u'listPhysicalNetworks'], u'length': 255, u'type': u'uuid', u'description': u'list physical network by id'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'pagesize', u'requ
 ired': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'search by name'}], u'requiredparams': [], u'description': u'Lists physical networks'}, u'vmsnapshot': {u'name': u'listVMSnapshot', u'related': [], u'isasync': False, u'params': [{u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'vmsnapshotid', u'required': False, u'related': [u'listVMSnapshot'], u'length': 255, u'type': u'uuid', u'description': u'The ID of the VM snapshot'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'tags', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'List resources by tags (key/value pairs)'}, {u'name
 ': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'virtualmachineid', u'required': False, u'related': [u'updateVirtualMachine', u'revertToVMSnapshot', u'destroyVirtualMachine', u'deployVirtualMachine', u'addNicToVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'resetSSHKeyForVirtualMachine', u'resetPasswordForVirtualMachine', u'restoreVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'stopVirtualMachine', u'startVirtualMachine', u'stopVirtualMachine', u'assignVirtualMachine', u'destroyVirtualMachine', u'migrateVirtualMachineWithVolume', u'updateVMAffinityGroup', u'listVirtualMachines', u'detachIso', u'updateDefaultNicForVirtualMachine', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the vm'}, 
 {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists snapshot by snapshot name or display name'}, {u'name': u'projectid', u'required': False, u'related': [u'createProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'state', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'state of the virtual machine snapshot'}, {u'name': u'pagesize', 
 u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}], u'requiredparams': [], u'description': u'List virtual machine snapshot by conditions'}, u'ldapconfigurations': {u'name': u'listLdapConfigurations', u'related': [u'addLdapConfiguration', u'deleteLdapConfiguration'], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'hostname', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'Hostname'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'port', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'Port'}, {u'name': u'page', u'required': 
 False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'Lists all LDAP configurations'}, u'capabilities': {u'name': u'listCapabilities', u'related': [], u'isasync': False, u'params': [], u'requiredparams': [], u'description': u'Lists capabilities'}, u'storagetags': {u'name': u'listStorageTags', u'related': [], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'Lists storage tags'}, u'clusters': {u'name': u'listClusters', u'related': [u'updateCluster'], u'isasync': False, u'params': [{u'name': u'managedstate', u'required': False, u'related
 ': [], u'length': 255, u'type': u'string', u'description': u'whether this cluster is managed by cloudstack'}, {u'name': u'showcapacities', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'flag to display the capacity of the clusters'}, {u'name': u'clustertype', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists clusters by cluster type'}, {u'name': u'zoneid', u'required': False, u'related': [u'listZones', u'updateZone', u'listZones', u'createZone'], u'length': 255, u'type': u'uuid', u'description': u'lists clusters by Zone ID'}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists clusters by the cluster name'}, {u'name': u'podid', u'required': False, u'related': [u'listPods', u'updatePod', u'createPod'], u'length': 255, u'type': u'uuid', u'description': u'lists clusters by Pod ID'}, {u'name': u'keyword', u'required': False, u'related':
  [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'hypervisor', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists clusters by hypervisor type'}, {u'name': u'allocationstate', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists clusters by allocation state'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'id', u'required': False, u'related': [u'updateCluster', u'listClusters'], u'length': 255, u'type': u'uuid', u'description': u'lists clusters by the cluster ID'}], u'requiredparams': [], u'description': u'Lists clusters.'}, u'resourcelimits': {u'name': u'listResourceLimits', u'related': [], u'isasync': False, u'params': [{u'name': u'projectid', u'required': False,
  u'related': [u'createProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'resourcetype', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'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 an account can own. 2 - Volume. Number of disk volumes an account can own.3 - Snapshot. Number of snapshots an account can own.4 - Template. Number of templates an account can register/create.5 - Project. Number of projects an account can own.6 - Network. Number of networks an account can own.7 - VPC. Number of VPC an account can own.8 - CPU. Number of CPU an account can allocate for his resources.9 - Memory. Amount of RAM an account can allocate for his resources.10 - Primary Storag
 e. Amount of Primary storage an account can allocate for his resoruces.11 - Secondary Storage. Amount of Secondary storage an account can allocate for his resources.'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'id', u'required': False, u'related': [], u'length': 255, u'type': u'long', u'description': u'Lists resource limits by ID.'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'listall', u'required': False, u'rela
 ted': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}], u'requiredparams': [], u'description': u'Lists resource limits.'}, u'firewallrules': {u'name': u'listFirewallRules', u'related': [u'updateFirewallRule', u'createFirewallRule', u'listEgressFirewallRules'], u'isasync': False, u'params': [{u'name': u'networkid', u'required': False, u'related': [u'updateNetwork', u'listNetworks', u'listSrxFirewallNetworks', u'createNetwork', u'updateNetwork', u'listNetscalerLoadBalancerNetworks'], u'length': 255, u'type': u'uuid', u'description': u'list firewall rules for ceratin network'}, {u'name': u'account', u'required': False, u'rela
 ted': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'ipaddressid', u'required': False, u'related': [u'associateIpAddress', u'listPublicIpAddresses', u'associateIpAddress'], u'length': 255, u'type': u'uuid', u'description': u'the id of IP address of the firwall services'}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren', u'updateDomain'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from 
 the parent specified by the domainId till leaves.'}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'fordisplay', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'list resources by display flag; only ROOT admin is eligible to pass this parameter'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'projectid', u'required': False, u'related': [u'createProject', u'updateProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'id', u'required': False, u'related': [u'listIpForwardingRules'], u'length': 255, u'type': u'uuid', u'description': u'Lists rule with the specified ID.'}, {u'name'
 : u'tags', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'List resources by tags (key/value pairs)'}], u'requiredparams': [], u'description': u'Lists all firewall rules for an IP address.'}, u'dedicatedzones': {u'name': u'listDedicatedZones', u'related': [], u'isasync': False, u'params': [{u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'affinitygroupid', u'required': False, u'related': [], u'length': 255, u'type': u'uuid', u'description': u'list dedicated zones by affinity group'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the name of the account associated with the zone. Must be used with domainId.'}, {u'name': u'zoneid', u'required': False, u'related': [u'listZones
 '], u'length': 255, u'type': u'uuid', u'description': u'the ID of the Zone'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the domain associated with the zone'}], u'requiredparams': [], u'description': u'List dedicated zones.'}, u'supportednetworkservices': {u'name': u'listSupportedNetworkServices', u'related': [], u'isasync': False, u'params': [{u'name': u'service', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'network service name to list providers and capabilities of'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required
 ': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'provider', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'network service provider name'}], u'requiredparams': [], u'description': u'Lists all network services provided by CloudStack or for the given Provider.'}, u'loadbalancerrules': {u'name': u'listLoadBalancerRules', u'related': [u'createLoadBalancerRule'], u'isasync': False, u'params': [{u'name': u'projectid', u'required': False, u'related': [u'createProject', u'updateProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'virtualmachineid', u'required': False, u'related': [u'updateVirtualMachine', u'revertToVMSnapshot', u'updateDefaultNicForVirtualMachine', u'destroyVirtualMachine', u'deployVirtualMachine', u'changeServiceForVirtualMachine', u'addNicToVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'resetPasswordForVirtua
 lMachine', u'startVirtualMachine', u'removeNicFromVirtualMachine', u'resetSSHKeyForVirtualMachine', u'updateVMAffinityGroup', u'rebootVirtualMachine', u'resetPasswordForVirtualMachine', u'restoreVirtualMachine', u'detachIso', u'revertToVMSnapshot', u'updateVirtualMachine', u'stopVirtualMachine', u'startVirtualMachine', u'stopVirtualMachine', u'assignVirtualMachine', u'destroyVirtualMachine', u'migrateVirtualMachineWithVolume', u'updateVMAffinityGroup', u'listVirtualMachines', u'detachIso', u'migrateVirtualMachine', u'updateDefaultNicForVirtualMachine', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the virtual machine of the load balancer rule'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'pagesize', u'r
 equired': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren', u'updateDomain'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the name of the load balancer rule'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'publicipid', u
 'required': False, u'related': [u'associateIpAddress', u'restartNetwork', u'listPublicIpAddresses', u'associateIpAddress'], u'length': 255, u'type': u'uuid', u'description': u'the public IP address id of the load balancer rule '}, {u'name': u'fordisplay', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'list resources by display flag; only ROOT admin is eligible to pass this parameter'}, {u'name': u'zoneid', u'required': False, u'related': [u'listZones', u'updateZone', u'listZones', u'createZone'], u'length': 255, u'type': u'uuid', u'description': u'the availability zone ID'}, {u'name': u'tags', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'List resources by tags (key/value pairs)'}, {u'name': u'id', u'required': False, u'related': [u'listIpForwardingRules'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the load balancer rule'}, {u'name': u'networkid', u'required': False, u'related': 
 [u'listPaloAltoFirewallNetworks', u'updateNetwork', u'listNetworks', u'listSrxFirewallNetworks', u'createNetwork', u'updateNetwork', u'listNetscalerLoadBalancerNetworks'], u'length': 255, u'type': u'uuid', u'description': u'list by network id the rule belongs to'}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}], u'requiredparams': [], u'description': u'Lists load balancer rules.'}, u'autoscalepolicies': {u'name': u'listAutoScalePolicies', u'related': [u'updateAutoScalePolicy', u'createAutoScalePolicy'], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be
  used with the domainId parameter.'}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren', u'createDomain', u'listDomains', u'updateDomain'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'action', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the action to be executed if all the conditions evaluate to true for the specified duration.'}, {u'name': u'vmgroupid', u'required': False, u'related': [u'createAutoScaleVmGroup', u'updateAutoScaleVmGroup', u'disableAutoScaleVmGroup', u'enableAutoScaleVmGroup'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the autoscale vm group'}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'page', u'required':
  False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'id', u'required': False, u'related': [u'listAutoScalePolicies', u'updateAutoScalePolicy', u'createAutoScalePolicy'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the autoscale policy'}, {u'name': u'conditionid', u'required': False, u'related': [u'listConditions'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the condition of the policy'}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}], u'requiredparams': [], u'description': u'Lists autoscale policies.'}, u'niciranvpdevices': {u'name': u'listNiciraNvpDevices', u
 'related': [u'addNiciraNvpDevice'], u'isasync': False, u'params': [{u'name': u'nvpdeviceid', u'required': False, u'related': [u'addNiciraNvpDevice', u'listNiciraNvpDevices'], u'length': 255, u'type': u'uuid', u'description': u'nicira nvp device ID'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'physicalnetworkid', u'required': False, u'related': [u'listPhysicalNetworks', u'createPhysicalNetwork'], u'length': 255, u'type': u'uuid', u'description': u'the Physical Network ID'}], u'requiredparams': [], u'description': u'Lists Nicira NVP devices'}, u'f5loadbalancernetworks': {u'name': u'listF5LoadBalancerNetworks', u'related': [u'listPaloAltoFirewallNetworks', u'u
 pdateNetwork', u'listNetworks', u'listSrxFirewallNetworks', u'createNetwork', u'updateNetwork', u'listNetscalerLoadBalancerNetworks'], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'lbdeviceid', u'required': True, u'related': [u'addF5LoadBalancer'], u'length': 255, u'type': u'uuid', u'description': u'f5 load balancer device ID'}], u'requiredparams': [u'lbdeviceid'], u'description': u'lists network that are using a F5 load balancer device'}, u'templatepermissions': {u'name': u'listTemplatePermissions', u'related': [u'listIsoPermissions', u'listTemplatePermissions', u'listIsoPermissions'], u'isasync': False, u'params': [{u'name': u'
 id', u'required': True, u'related': [u'listIsoPermissions', u'listTemplatePermissions', u'listTemplatePermissions', u'listIsoPermissions'], u'length': 255, u'type': u'uuid', u'description': u'the template ID'}], u'requiredparams': [u'id'], u'description': u'List template visibility and all accounts that have permissions to view this template.'}, u'projects': {u'name': u'listProjects', u'related': [u'createProject', u'listProjectAccounts', u'activateProject', u'updateProject'], u'isasync': False, u'params': [{u'name': u'displaytext', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list projects by display text'}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren', u'createDomain', u'listDomains', u'updateDomain'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'
 description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'id', u'required': False, u'related': [u'listProjects', u'createProject', u'listProjectAccounts', u'activateProject', u'updateProject'], u'length': 255, u'type': u'uuid', u'description': u'list projects by project ID'}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list projects by name'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'state', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list projects by state'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'listall', u'required': False, u'r
 elated': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'tags', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'List projects by tags (key/value pairs)'}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}], u'requiredparams': [], u'description': u'Lists projects and provides detailed information for listed projects'}, u'systemvms': {u'name': u'listSystemVms', u'related': [u'scaleSystemVm', u'rebootSystemVm'], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'name
 ', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the name of the system VM'}, {u'name': u'systemvmtype', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the system VM type. Possible types are "consoleproxy" and "secondarystoragevm".'}, {u'name': u'storageid', u'required': False, u'related': [u'findStoragePoolsForMigration'], u'length': 255, u'type': u'uuid', u'description': u"the storage ID where vm's volumes belong to"}, {u'name': u'id', u'required': False, u'related': [u'scaleSystemVm', u'rebootSystemVm', u'listSystemVms'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the system VM'}, {u'name': u'hostid', u'required': False, u'related': [u'listHosts'], u'length': 255, u'type': u'uuid', u'description': u'the host ID of the system VM'}, {u'name': u'state', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the state of the system VM'}, {u'name
 ': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'zoneid', u'required': False, u'related': [u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'the Zone ID of the system VM'}, {u'name': u'podid', u'required': False, u'related': [u'updatePod'], u'length': 255, u'type': u'uuid', u'description': u'the Pod ID of the system VM'}], u'requiredparams': [], u'description': u'List system virtual machines.'}, u'portforwardingrules': {u'name': u'listPortForwardingRules', u'related': [u'listIpForwardingRules', u'createPortForwardingRule'], u'isasync': False, u'params': [{u'name': u'fordisplay', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'list resources by display flag; only ROOT admin is eligible to pass this parameter'}, {u'name': u'id', u'required':
  False, u'related': [u'listPortForwardingRules', u'listIpForwardingRules', u'createPortForwardingRule'], u'length': 255, u'type': u'uuid', u'description': u'Lists rule with the specified ID.'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'tags', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'List resources by tags (key/value pairs)'}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren', u'createDomain', u'listDomains', u'updateDomain'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'ipaddressid', u'required': False, u'related': [u'associateIpAddress', u'restartNetwork', u'listPublicIpAddresses', u'associateIpAddress'], u'length': 255, u'type': u'uuid', u'description': u'the id of IP address of the port forwarding services'}, {u'name': u'keyword', u'required': Fa
 lse, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'networkid', u'required': False, u'related': [u'listF5LoadBalancerNetworks', u'listPaloAltoFirewallNetworks', u'updateNetwork', u'listNetworks', u'listSrxFirewallNetworks', u'createNetwork', u'updateNetwork', u'listNetscalerLoadBalancerNetworks'], u'length': 255, u'type': u'uuid', u'description': u'list port forwarding rules for ceratin network'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true
 , lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'projectid', u'required': False, u'related': [u'createProject', u'updateProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}], u'requiredparams': [], u'description': u'Lists all port forwarding rules for an IP address.'}, u'bigswitchvnsdevices': {u'name': u'listBigSwitchVnsDevices', u'related': [], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'physicalnetworkid', u'required': False, u'related': [u'listPhysicalNetworks'], u'length': 255,
  u'type': u'uuid', u'description': u'the Physical Network ID'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'vnsdeviceid', u'required': False, u'related': [u'listBigSwitchVnsDevices'], u'length': 255, u'type': u'uuid', u'description': u'bigswitch vns device ID'}], u'requiredparams': [], u'description': u'Lists BigSwitch Vns devices'}, u'networkacllists': {u'name': u'listNetworkACLLists', u'related': [u'createNetworkACLList'], u'isasync': False, u'params': [{u'name': u'networkid', u'required': False, u'related': [u'listF5LoadBalancerNetworks', u'listPaloAltoFirewallNetworks', u'updateNetwork', u'listNetworks', u'listSrxFirewallNetworks', u'createNetwork', u'updateNetwork', u'listNetscalerLoadBalancerNetworks'], u'length': 255, u'type': u'uuid', u'description': u'list network ACLs by network Id'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description':
  u'List by keyword'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'fordisplay', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'list resources by display flag; only ROOT admin is eligible to pass this parameter'}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren', u'createDomain', u'listDomains', u'updateDomain'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'projectid', u'required': False, u'related': [u'createProject', u'listProjectAccounts', u'updateProject'], u'length': 255, u
 'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'id', u'required': False, u'related': [u'listNetworkACLLists', u'createNetworkACLList'], u'length': 255, u'type': u'uuid', u'description': u'Lists network ACL with the specified ID.'}, {u'name': u'vpcid', u'required': False, u'related': [u'listVPCs', u'createVPC', u'createVPC', u'updateVPC', u'listVPCs', u'updateVPC', u'restartVPC'], u'length': 255, u'type': u'uuid', u'description': u'list network ACLs by Vpc Id'}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list network ACLs by specified name'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by 
 account. Must be used with the domainId parameter.'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'Lists all network ACLs'}, u'storageproviders': {u'name': u'listStorageProviders', u'related': [], u'isasync': False, u'params': [{u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'type', u'required': True, u'related': [], u'length': 255, u'type': u'string', u'description': u'the type of storage provider: either primary or image'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [u'type'], u'description': u'Lists storage providers.'}, u'vpngateways': {u'name': u'listVpnGateways', u'relat
 ed': [u'updateVpnGateway', u'createVpnGateway'], u'isasync': False, u'params': [{u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren', u'createDomain', u'listDomains', u'updateDomain'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'fordisplay', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'list resources by display flag; only ROOT admin is eligible to pass this parameter'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If se
 t to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'vpcid', u'required': False, u'related': [u'listVPCs', u'createVPC', u'createVPC', u'updateVPC', u'listVPCs', u'updateVPC', u'restartVPC'], u'length': 255, u'type': u'uuid', u'description': u'id of vpc'}, {u'name': u'projectid', u'required': False, u'related': [u'createProject', u'listProjectAccounts', u'activateProject', u'updateProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'id', u'required': False, u'related': [u'updateVpnGateway', u'createVpnGateway', u'listVpnGateways'], u'length': 255, u'type': u'uuid', u'description': u'id of the vpn gateway'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u
 'description': u''}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}], u'requiredparams': [], u'description': u'Lists site 2 site vpn gateways'}, u'events': {u'name': u'listEvents', u'related': [], u'isasync': False, u'params': [{u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'type', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the event type (see event types)'}, {u'name': u'entrytime', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'the time the event was entered'}, {u'name': u'level', u'required': Fals
 e, u'related': [], u'length': 255, u'type': u'string', u'description': u'the event level (INFO, WARN, ERROR)'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren', u'listDomains', u'updateDomain'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set
  to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'projectid', u'required': False, u'related': [u'createProject', u'updateProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'duration', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u'the duration of the event'}, {u'name': u'enddate', u'required': False, u'related': [], u'length': 255, u'type': u'date', u'description': u'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")'}, {u'name': u'id', u'required': False, u'related': [u'listEvents'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the event'}, {u'name': u'startdate', u'required': False, u'related': [], u'length': 255, u'type': u'date', u'description': u'the start date range of the list you want to retrieve (use format "yyyy-MM-dd" or the new format "yyyy-MM-d
 d HH:mm:ss")'}], u'requiredparams': [], u'description': u'A command to list events.'}, u'hosttags': {u'name': u'listHostTags', u'related': [], u'isasync': False, u'params': [{u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}], u'requiredparams': [], u'description': u'Lists host tags'}, u'hosts': {u'name': u'listHosts', u'related': [], u'isasync': False, u'params': [{u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the name of the host'}, {u'name': u'zoneid', u'required': False, u'related': [u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'the Zone ID for the host'}, {u'name': u'clusterid', u'required':
  False, u'related': [], u'length': 255, u'type': u'uuid', u'description': u'lists hosts existing in particular cluster'}, {u'name': u'virtualmachineid', u'required': False, u'related': [u'deployVirtualMachine', u'addNicToVirtualMachine', u'attachIso', u'resetSSHKeyForVirtualMachine', u'resetPasswordForVirtualMachine', u'restoreVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'startVirtualMachine', u'stopVirtualMachine', u'destroyVirtualMachine', u'updateVMAffinityGroup', u'detachIso', u'updateDefaultNicForVirtualMachine', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine'], u'length': 255, u'type': u'uuid', u'description': u'lists hosts in the same cluster as this VM and flag hosts with enough CPU/RAm to host this VM'}, {u'name': u'id', u'required': False, u'related': [u'listHosts'], u'length': 255, u'type': u'uuid', u'description': u'the id of the host'}, {u'name': u'keyword', u'required': False, u'rel
 ated': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'hypervisor', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'hypervisor type of host: XenServer,KVM,VMware,Hyperv,BareMetal,Simulator'}, {u'name': u'resourcestate', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list hosts by resource state. Resource state represents current state determined by admin of host, valule can be one of [Enabled, Disabled, Unmanaged, PrepareForMaintenance, ErrorInMaintenance, Maintenance, Error]'}, {u'name': u'state', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the state of the host'}, {u'name': u'hahost', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'if true, list only hosts dedicated to HA'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', 
 u'description': u''}, {u'name': u'podid', u'required': False, u'related': [u'updatePod'], u'length': 255, u'type': u'uuid', u'description': u'the Pod ID for the host'}, {u'name': u'details', u'required': False, u'related': [], u'length': 255, u'type': u'list', u'description': u'comma separated list of host details requested, value can be a list of [ min, all, capacity, events, stats]'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'type', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the host type'}], u'requiredparams': [], u'description': u'Lists hosts.'}, u'hypervisorcapabilities': {u'name': u'listHypervisorCapabilities', u'related': [], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'pagesize', u'required': False, u'related': [], u'le
 ngth': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'id', u'required': False, u'related': [u'listHypervisorCapabilities'], u'length': 255, u'type': u'uuid', u'description': u'ID of the hypervisor capability'}, {u'name': u'hypervisor', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the hypervisor for which to restrict the search'}], u'requiredparams': [], u'description': u'Lists all hypervisor capabilities.'}, u'deploymentplanners': {u'name': u'listDeploymentPlanners', u'related': [], u'isasync': False, u'params': [{u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, 
 u'type': u'string', u'description': u'List by keyword'}], u'requiredparams': [], u'description': u'Lists all DeploymentPlanners available.'}, u'configurations': {u'name': u'listConfigurations', u'related': [], u'isasync': False, u'params': [{u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists configuration by name'}, {u'name': u'accountid', u'required': False, u'related': [u'listAccounts', u'ldapCreateAccount', u'lockAccount', u'markDefaultZoneForAccount', u'disableAccount', u'createAccount', u'listAccounts'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the Account to update the parameter value for corresponding account'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'zoneid', u'required': False, u'related': [u'listZones', u'updateZone', u'listZones', u'createZone'], u'length': 255, u'type': u'uuid', u'descri
 ption': u'the ID of the Zone to update the parameter value for corresponding zone'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'category', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists configurations by category'}, {u'name': u'storageid', u'required': False, u'related': [u'listStoragePools', u'findStoragePoolsForMigration', u'createStoragePool'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the Storage pool to update the parameter value for corresponding storage pool'}, {u'name': u'clusterid', u'required': False, u'related': [u'updateCluster'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the Cluster to update the parameter value for corresponding cluster'}], u'requiredparams': [], u'description': u'Lis
 ts all configurations.'}, u'paloaltofirewalls': {u'name': u'listPaloAltoFirewalls', u'related': [u'configurePaloAltoFirewall'], u'isasync': False, u'params': [{u'name': u'physicalnetworkid', u'required': False, u'related': [u'listPhysicalNetworks'], u'length': 255, u'type': u'uuid', u'description': u'the Physical Network ID'}, {u'name': u'fwdeviceid', u'required': False, u'related': [u'configurePaloAltoFirewall', u'listPaloAltoFirewalls'], u'length': 255, u'type': u'uuid', u'description': u'Palo Alto firewall device ID'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}], u'requiredparams': [], u'description': u'lists Palo Alto firewall devices in a physical network'}, u'usag
 erecords': {u'name': u'listUsageRecords', u'related': [], u'isasync': False, u'params': [{u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'usageid', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List usage records for the specified usage UUID. Can be used only together with TYPE parameter.'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'enddate', u'required': True, u'related': [], u'length': 255, u'type': u'date', u'description': u'End date range for usage record query. Use yyyy-MM-dd as the date format, e.g. startDate=2009-06-03.'}, {u'name': u'projectid', u'required': False, u'related': [u'createProject', u'updateProject'], u'length': 255, u'type': u'uuid', u'description': u'List usage records for specified project'}, {u'name': u'domainid', u'required': False, u'rela
 ted': [u'listDomainChildren', u'createDomain', u'listDomains', u'updateDomain'], u'length': 255, u'type': u'uuid', u'description': u'List usage records for the specified domain.'}, {u'name': u'type', u'required': False, u'related': [], u'length': 255, u'type': u'long', u'description': u'List usage records for the specified usage type'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List usage records for the specified user.'}, {u'name': u'accountid', u'required': False, u'related': [u'listAccounts', u'ldapCreateAccount', u'lockAccount', u'markDefaultZoneForAccount', u'disableAccount', u'updateAccount', u'createAccount', u'listAccounts'], u'length': 255, u'type': u'uuid', u'description': u'List usage records for the specified account'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'startdate', u'required': True, u'related': [], u'length
 ': 255, u'type': u'date', u'description': u'Start date range for usage record query. Use yyyy-MM-dd as the date format, e.g. startDate=2009-06-01.'}], u'requiredparams': [u'enddate', u'startdate'], u'description': u'Lists usage records for accounts'}, u'storagepools': {u'name': u'listStoragePools', u'related': [u'findStoragePoolsForMigration'], u'isasync': False, u'params': [{u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the name of the storage pool'}, {u'name': u'scope', u'required': False, u'related': [u'listStoragePools', u'findStoragePoolsForMigration'], u'length': 255, u'type': u'string', u'description': u'the ID of the storage pool'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'path', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the storage pool path'}, {u'name': u'ipaddress
 ', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the IP address for the storage pool'}, {u'name': u'clusterid', u'required': False, u'related': [], u'length': 255, u'type': u'uuid', u'description': u'list storage pools belongig to the specific cluster'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'id', u'required': False, u'related': [u'listStoragePools', u'findStoragePoolsForMigration'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the storage pool'}, {u'name': u'zoneid', u'required': False, u'related': [u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'the Zone ID for the storage pool'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'podid', u'required': False, u'related': [u'updatePod'], u'length': 255, u'type': u'uuid', u'description': u'th
 e Pod ID for the storage pool'}], u'requiredparams': [], u'description': u'Lists storage pools.'}, u'ucsblades': {u'name': u'listUcsBlades', u'related': [], u'isasync': False, u'params': [{u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'ucsmanagerid', u'required': True, u'related': [u'addUcsManager'], u'length': 255, u'type': u'uuid', u'description': u'ucs manager id'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}], u'requiredparams': [u'ucsmanagerid'], u'description': u'List ucs blades'}, u'snapshots': {u'name': u'listSnapshots', u'related': [u'createSnapshot', u'revertSnapshot'], u'isasync': False, u'params': [{u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean'
 , u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'projectid', u'required': False, u'related': [u'createProject', u'updateProject'], u'length': 255, u'type': u'uuid', u'description': u'list objects by project'}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren', u'listDomains', u'updateDomain'], u'length': 255, u'type': u'uuid', u'description': u'list only resources belonging to the domain specified'}, {u'name': u'snapshottype', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'valid values are MANUAL or RECURRING.'}, {u'name': u'id', u'required': False, u'related': [u'createSnapshot', u'listSnapshots', u'revertSnapshot'], u'length': 255, u'type': u'uuid', u'description': u'lists snapshot by snapshot ID'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name'
 : u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'listall', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'volumeid', u'required': False, u'related': [u'uploadVolume', u'listVolumes', u'createVolume', u'migrateVolume', u'uploadVolume', u'attachVolume', u'createVolume', u'resizeVolume', u'detachVolume', u'updateVolume'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the disk volume'}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'lists snapshot by snapshot name'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used wi
 th the domainId parameter.'}, {u'name': u'zoneid', u'required': False, u'related': [u'listZones', u'updateZone', u'listZones', u'createZone'], u'length': 255, u'type': u'uuid', u'description': u'list snapshots by zone id'}, {u'name': u'intervaltype', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'valid values are HOURLY, DAILY, WEEKLY, and MONTHLY.'}, {u'name': u'tags', u'required': False, u'related': [], u'length': 255, u'type': u'map', u'description': u'List resources by tags (key/value pairs)'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}], u'requiredparams': [], u'description': u'Lists all available snapshots for the account.'}, u'vmwaredcs': {u'name': u'listVmwareDcs', u'related': [], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name
 ': u'zoneid', u'required': True, u'related': [u'listZones'], u'length': 255, u'type': u'uuid', u'description': u'Id of the CloudStack zone.'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [u'zoneid'], u'description': u'Retrieves VMware DC(s) associated with a zone.'}, u'dedicatedguestvlanranges': {u'name': u'listDedicatedGuestVlanRanges', u'related': [u'dedicateGuestVlanRange'], u'isasync': False, u'params': [{u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the account with which the guest VLAN range is associated. Must be used with the domainId parameter.'}, {u'name': u'id', u'required': False, u'related': [u'listDedicatedGuestVlanRanges', u'dedicateGuestVlanRange'], u'length': 255, u'type': u'uuid', u'description': 
 u'list dedicated guest vlan ranges by id'}, {u'name': u'physicalnetworkid', u'required': False, u'related': [u'listPhysicalNetworks'], u'length': 255, u'type': u'uuid', u'description': u'physical network id of the guest VLAN range'}, {u'name': u'guestvlanrange', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the dedicated guest vlan range'}, {u'name': u'projectid', u'required': False, u'related': [u'createProject', u'updateProject'], u'length': 255, u'type': u'uuid', u'description': u'project who will own the guest VLAN range'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainChildren', u'updateDomain'], u'length': 255, u'type': u'uuid', u'description': u'the domain ID with which the guest VLAN range is associated.  If used with the account parameter, returns all guest VLAN ranges for that account in the 
 specified domain.'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'zoneid', u'required': False, u'related': [u'listZones', u'updateZone', u'listZones', u'createZone'], u'length': 255, u'type': u'uuid', u'description': u'zone of the guest VLAN range'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}], u'requiredparams': [], u'description': u'Lists dedicated guest vlan ranges'}, u'serviceofferings': {u'name': u'listServiceOfferings', u'related': [], u'isasync': False, u'params': [{u'name': u'virtualmachineid', u'required': False, u'related': [u'revertToVMSnapshot', u'destroyVirtualMachine', u'deployVirtualMachine', u'addNicToVirtualMachine', u'attachIso', u'restoreVirtualMachine', u'resetSSHKeyForVirtualMachine', u'resetPasswordForVirtualMachine', u'restoreVirtualMachine', u'revertToVMSnapshot', u'updateVirtualMachine', u'sto
 pVirtualMachine', u'startVirtualMachine', u'stopVirtualMachine', u'destroyVirtualMachine', u'migrateVirtualMachineWithVolume', u'updateVMAffinityGroup', u'listVirtualMachines', u'detachIso', u'updateDefaultNicForVirtualMachine', u'removeNicFromVirtualMachine', u'rebootVirtualMachine', u'listVirtualMachines', u'changeServiceForVirtualMachine'], u'length': 255, u'type': u'uuid', u'description': u'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.'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'id', u'required': False, u'related': [u'listServiceOfferings'], u'length': 255, u'type': u'uuid', u'description': u'ID of the service offering'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'domainid', u'required': False, u'related': [u'listDomainCh
 ildren'], u'length': 255, u'type': u'uuid', u'description': u'the ID of the domain associated with the service offering'}, {u'name': u'issystem', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'is this a system vm offering'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'systemvmtype', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'the system VM type. Possible types are "consoleproxy", "secondarystoragevm" or "domainrouter".'}, {u'name': u'name', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'name of the service offering'}], u'requiredparams': [], u'description': u'Lists all available service offerings.'}, u'ciscoasa1000vresources': {u'name': u'listCiscoAsa1000vResources', u'related': [u'addCiscoAsa1000vResource'], u'isasync': False, u'params': [{u'name': u'hos
 tname', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'Hostname or ip address of the Cisco ASA 1000v appliance.'}, {u'name': u'resourceid', u'required': False, u'related': [u'addCiscoAsa1000vResource', u'listCiscoAsa1000vResources'], u'length': 255, u'type': u'uuid', u'description': u'Cisco ASA 1000v resource ID'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'physicalnetworkid', u'required': False, u'related': [u'listPhysicalNetworks', u'createPhysicalNetwork', u'updatePhysicalNetwork'], u'length': 255, u'type': u'uuid', u'description': u'the Physical Network ID'}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}], u'requiredparams': [], u'description': u'Lists Cisc
 o ASA 1000v appliances'}, u'brocadevcsdevices': {u'name': u'listBrocadeVcsDevices', u'related': [u'addBrocadeVcsDevice'], u'isasync': False, u'params': [{u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'physicalnetworkid', u'required': False, u'related': [u'listPhysicalNetworks', u'createPhysicalNetwork'], u'length': 255, u'type': u'uuid', u'description': u'the Physical Network ID'}, {u'name': u'vcsdeviceid', u'required': False, u'related': [u'addBrocadeVcsDevice', u'listBrocadeVcsDevices'], u'length': 255, u'type': u'uuid', u'description': u'Brocade VCS switch ID'}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}], u'requiredparams': [], u'description': u'Lists Brocade VCS Switches'}, u'affinitygrouptypes': {u'
 name': u'listAffinityGroupTypes', u'related': [], u'isasync': False, u'params': [{u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'page', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}, {u'name': u'pagesize', u'required': False, u'related': [], u'length': 255, u'type': u'integer', u'description': u''}], u'requiredparams': [], u'description': u'Lists affinity group types available'}, u'publicipaddresses': {u'name': u'listPublicIpAddresses', u'related': [u'associateIpAddress', u'updateIpAddress', u'restartNetwork', u'listPublicIpAddresses', u'associateIpAddress'], u'isasync': False, u'params': [{u'name': u'vlanid', u'required': False, u'related': [u'dedicatePublicIpRange', u'listVlanIpRanges', u'createVlanIpRange'], u'length': 255, u'type': u'uuid', u'description': u'lists all public IP addresses by VLAN ID'}, {u'name': u'listall', u'required': Fa
 lse, u'related': [], u'length': 255, u'type': u'boolean', u'description': u"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"}, {u'name': u'keyword', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'List by keyword'}, {u'name': u'issourcenat', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'list only source nat ip addresses'}, {u'name': u'account', u'required': False, u'related': [], u'length': 255, u'type': u'string', u'description': u'list resources by account. Must be used with the domainId parameter.'}, {u'name': u'isrecursive', u'required': False, u'related': [], u'length': 255, u'type': u'boolean', u'description': u'defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.'}, {u'name': u'associatednetworkid', u'required': False, u'r
 elated': [u'listF5LoadBalancerNetworks', u'listPaloAltoFirewallNetworks', u'listNetworks', u'updateNetwork', u'listNetworks', u'listSrxFirewallNetworks', u'listBrocadeVcsDeviceNetworks', u'createNetwork', u'updateNetwork', u'listNetscalerLoadBalancerNetworks'], u'length

<TRUNCATED>

[3/8] git commit: requester: remove double URL encoding, use urllib.quote instead of quote_plus

Posted by bh...@apache.org.
requester: remove double URL encoding, use urllib.quote instead of quote_plus

Signed-off-by: Rohit Yadav <ro...@shapeblue.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/commit/bbe01aae
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/tree/bbe01aae
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/diff/bbe01aae

Branch: refs/heads/master
Commit: bbe01aae2adf438272d865d28dfc122c1b5dc914
Parents: 2660143
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Fri Oct 31 01:26:20 2014 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Fri Oct 31 01:26:20 2014 +0530

----------------------------------------------------------------------
 cloudmonkey/cloudmonkey.py |  4 ----
 cloudmonkey/requester.py   | 10 +++++-----
 2 files changed, 5 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/bbe01aae/cloudmonkey/cloudmonkey.py
----------------------------------------------------------------------
diff --git a/cloudmonkey/cloudmonkey.py b/cloudmonkey/cloudmonkey.py
index 45e67c9..9950d0d 100644
--- a/cloudmonkey/cloudmonkey.py
+++ b/cloudmonkey/cloudmonkey.py
@@ -30,7 +30,6 @@ try:
     import sys
     import time
     import types
-    import urllib
 
     from cachemaker import loadcache, savecache, monkeycache, splitverbsubject
     from config import __version__, __description__, __projecturl__
@@ -370,9 +369,6 @@ class CloudMonkeyShell(cmd.Cmd, object):
         if 'asyncapis' in self.apicache:
             isasync = apiname in self.apicache['asyncapis']
 
-        for key in args_dict.keys():
-            args_dict[key] = urllib.quote(args_dict[key])
-
         result = self.make_request(apiname, args_dict, isasync)
 
         if not result:

http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/bbe01aae/cloudmonkey/requester.py
----------------------------------------------------------------------
diff --git a/cloudmonkey/requester.py b/cloudmonkey/requester.py
index 08876c9..c935488 100644
--- a/cloudmonkey/requester.py
+++ b/cloudmonkey/requester.py
@@ -178,14 +178,14 @@ def make_request(command, args, logger, url,
     request = zip(args.keys(), args.values())
     request.sort(key=lambda x: x[0].lower())
 
-    request_url = "&".join(["=".join([r[0], urllib.quote_plus(str(r[1]))])
+    request_url = "&".join(["=".join([r[0], urllib.quote(unicode(r[1]))])
                            for r in request])
     hashStr = "&".join(["=".join([r[0].lower(),
-                       str.lower(urllib.quote_plus(str(r[1]))).replace("+",
-                       "%20")]) for r in request])
+                                  urllib.quote(unicode(r[1])).lower()])
+                                  for r in request])
 
-    sig = urllib.quote_plus(base64.encodestring(hmac.new(secretkey, hashStr,
-                            hashlib.sha1).digest()).strip())
+    sig = urllib.quote(base64.encodestring(hmac.new(secretkey, hashStr,
+                       hashlib.sha1).digest()).strip())
     request_url += "&signature=%s" % sig
     request_url = "%s?%s" % (url, request_url)
 


[4/8] git commit: requester: refactor code, make it unicode friendly

Posted by bh...@apache.org.
requester: refactor code, make it unicode friendly

Signed-off-by: Rohit Yadav <ro...@shapeblue.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/commit/855434ca
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/tree/855434ca
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/diff/855434ca

Branch: refs/heads/master
Commit: 855434ca59c7657f28929ff55db946c25742be45
Parents: bbe01aa
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Fri Oct 31 01:55:43 2014 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Fri Oct 31 01:55:43 2014 +0530

----------------------------------------------------------------------
 cloudmonkey/requester.py | 36 ++++++++++++++++--------------------
 1 file changed, 16 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/855434ca/cloudmonkey/requester.py
----------------------------------------------------------------------
diff --git a/cloudmonkey/requester.py b/cloudmonkey/requester.py
index c935488..91b61a2 100644
--- a/cloudmonkey/requester.py
+++ b/cloudmonkey/requester.py
@@ -43,7 +43,6 @@ def logger_debug(logger, message):
 
 def writeError(msg):
     sys.stderr.write(msg)
-    print msg
 
 
 def login(url, username, password):
@@ -75,8 +74,8 @@ def login(url, username, password):
         session = None
         sessionkey = None
     elif resp.status_code == 531:
-        writeError("Error authenticating at %s using username: %s" \
-              ", and password: %s" % (url, username, password))
+        writeError("Error authenticating at %s using username: %s"
+                   ", and password: %s\n" % (url, username, password))
         session = None
         sessionkey = None
     else:
@@ -86,13 +85,12 @@ def login(url, username, password):
 
 
 def logout(url, session):
-    if session is None:
+    if not session:
         return
     session.get(url, params={'command': 'logout'})
 
 
 def make_request_with_password(command, args, logger, url, credentials):
-
     error = None
     username = credentials['username']
     password = credentials['password']
@@ -134,16 +132,15 @@ def make_request_with_password(command, args, logger, url, credentials):
             continue
 
         if resp.status_code != 200 and resp.status_code != 401:
-            error = "%s: %s" %\
-                    (str(resp.status_code), resp.headers.get('X-Description'))
+            error = u"{0}: {1}".format(resp.status_code,
+                                       resp.headers.get('X-Description'))
             result = None
             retry = False
 
     return result, error
 
 
-def make_request(command, args, logger, url,
-                 credentials, expires):
+def make_request(command, args, logger, url, credentials, expires):
     response = None
     error = None
 
@@ -152,13 +149,13 @@ def make_request(command, args, logger, url,
                 "please check and fix the url"
         return None, error
 
-    if args is None:
+    if not args:
         args = {}
 
     args["command"] = command
     args["response"] = "json"
     args["signatureversion"] = "3"
-    if expires == "" or expires == None:
+    if not expires:
         expires = 600
     expirationtime = datetime.utcnow() + timedelta(seconds=int(expires))
     args["expires"] = expirationtime.strftime('%Y-%m-%dT%H:%M:%S+0000')
@@ -178,11 +175,10 @@ def make_request(command, args, logger, url,
     request = zip(args.keys(), args.values())
     request.sort(key=lambda x: x[0].lower())
 
-    request_url = "&".join(["=".join([r[0], urllib.quote(unicode(r[1]))])
-                           for r in request])
-    hashStr = "&".join(["=".join([r[0].lower(),
-                                  urllib.quote(unicode(r[1])).lower()])
-                                  for r in request])
+    request_url = u"&".join([u"=".join([r[0], urllib.quote(r[1])])
+                            for r in request])
+    hashStr = u"&".join([u"=".join([r[0].lower(), urllib.quote(r[1]).lower()])
+                        for r in request])
 
     sig = urllib.quote(base64.encodestring(hmac.new(secretkey, hashStr,
                        hashlib.sha1).digest()).strip())
@@ -194,7 +190,7 @@ def make_request(command, args, logger, url,
         connection = urllib2.urlopen(request_url)
         response = connection.read()
     except HTTPError, e:
-        error = "Error:%s %s" % (e.msg, e.info().getheader('X-Description'))
+        error = u"{0}: {1}".format(e.msg, e.info().getheader('X-Description'))
     except URLError, e:
         error = e.reason
 
@@ -222,7 +218,7 @@ def monkeyrequest(command, args, isasync, asyncblock, logger, url,
 
     def process_json(response):
         try:
-            response = json.loads(str(response))
+            response = json.loads(unicode(response))
         except ValueError, e:
             logger_debug(logger, "Error processing json: %s" % e)
             writeError("Error processing json: %s" % e)
@@ -231,7 +227,7 @@ def monkeyrequest(command, args, isasync, asyncblock, logger, url,
         return response
 
     response = process_json(response)
-    if response is None:
+    if not response:
         return response, error
 
     isasync = isasync and (asyncblock == "true")
@@ -241,7 +237,7 @@ def monkeyrequest(command, args, isasync, asyncblock, logger, url,
         jobid = response[responsekey]['jobid']
         command = "queryAsyncJobResult"
         request = {'jobid': jobid}
-        if timeout == "" or timeout == None:
+        if not timeout:
             timeout = 3600
         timeout = int(timeout)
         pollperiod = 2


[5/8] git commit: cloudmonkey: add unicode support finally! :sunglasses:

Posted by bh...@apache.org.
cloudmonkey: add unicode support finally! :sunglasses:

Signed-off-by: Rohit Yadav <ro...@shapeblue.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/commit/ccb3a751
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/tree/ccb3a751
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/diff/ccb3a751

Branch: refs/heads/master
Commit: ccb3a751ed58bb2b144e394b4d804c23fc1b9200
Parents: 855434c
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Fri Oct 31 04:59:37 2014 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Fri Oct 31 05:17:40 2014 +0530

----------------------------------------------------------------------
 cloudmonkey/cloudmonkey.py | 93 +++++++++++++++++++++++------------------
 1 file changed, 53 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/ccb3a751/cloudmonkey/cloudmonkey.py
----------------------------------------------------------------------
diff --git a/cloudmonkey/cloudmonkey.py b/cloudmonkey/cloudmonkey.py
index 9950d0d..5213e67 100644
--- a/cloudmonkey/cloudmonkey.py
+++ b/cloudmonkey/cloudmonkey.py
@@ -99,7 +99,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
             if os.path.exists(self.history_file):
                 readline.read_history_file(self.history_file)
         except IOError, e:
-            logger.debug("Error: Unable to read history. " + str(e))
+            logger.debug(u"Error: Unable to read history. " + unicode(e))
         atexit.register(readline.write_history_file, self.history_file)
 
     def init_credential_store(self):
@@ -148,9 +148,10 @@ class CloudMonkeyShell(cmd.Cmd, object):
         for verb in self.verbs:
             def add_grammar(verb):
                 def grammar_closure(self, args):
-                    if args is None:
+                    if not args:
                         return
-                    if self.pipe_runner("%s %s" % (verb, args)):
+                    args = args.decode("utf-8")
+                    if self.pipe_runner(u"{0} {1}".format(verb, args)):
                         return
                     if ' --help' in args or ' -h' in args:
                         self.do_help("%s %s" % (verb, args))
@@ -160,26 +161,28 @@ class CloudMonkeyShell(cmd.Cmd, object):
                         cmd = self.apicache[verb][args_partition[0]]['name']
                         args = args_partition[2]
                     except KeyError, e:
-                        self.monkeyprint("Error: invalid %s api arg" % verb, e)
+                        self.monkeyprint("Error: invalid %s api arg " % verb,
+                                         str(e))
                         return
-                    self.default("%s %s" % (cmd, args))
+                    self.default(u"{0} {1}".format(cmd, args))
                 return grammar_closure
 
             grammar_handler = add_grammar(verb)
             grammar_handler.__doc__ = "%ss resources" % verb.capitalize()
-            grammar_handler.__name__ = 'do_' + str(verb)
+            grammar_handler.__name__ = "do_" + str(verb)
             setattr(self.__class__, grammar_handler.__name__, grammar_handler)
 
     def monkeyprint(self, *args):
-        output = ""
+        output = u""
         try:
             for arg in args:
-                if isinstance(type(arg), types.NoneType):
+                if isinstance(type(arg), types.NoneType) or not arg:
                     continue
-                output += str(arg)
+                output += arg
         except Exception, e:
-            print(e)
+            print(str(e))
 
+        output = output.encode("utf-8")
         if self.color == 'true':
             monkeyprint(output)
         else:
@@ -189,18 +192,18 @@ class CloudMonkeyShell(cmd.Cmd, object):
                 print output
 
     def print_result(self, result, result_filter=[]):
-        if result is None or len(result) == 0:
+        if not result or len(result) == 0:
             return
 
         def printer_helper(printer, toprow):
             if printer:
-                self.monkeyprint(printer)
+                self.monkeyprint(printer.get_string())
             return PrettyTable(toprow)
 
         def print_result_json(result, result_filter=None):
             tfilter = {}  # temp var to hold a dict of the filters
             tresult = copy.deepcopy(result)  # dupe the result to filter
-            if result_filter is not None:
+            if result_filter:
                 for res in result_filter:
                     tfilter[res] = 1
                 for okey, oval in result.iteritems():
@@ -225,17 +228,18 @@ class CloudMonkeyShell(cmd.Cmd, object):
                                     del(tresult[okey][x])
                                 except:
                                     pass
-            print json.dumps(tresult,
-                             sort_keys=True,
-                             indent=2,
-                             separators=(',', ': '))
+            self.monkeyprint(json.dumps(tresult,
+                                        sort_keys=True,
+                                        indent=2,
+                                        ensure_ascii=False,
+                                        separators=(',', ': ')))
 
         def print_result_tabular(result, result_filter=None):
             toprow = None
             printer = None
             for node in result:
                 if toprow != node.keys():
-                    if result_filter is not None and len(result_filter) != 0:
+                    if result_filter and len(result_filter) != 0:
                         commonkeys = filter(lambda x: x in node.keys(),
                                             result_filter)
                         if commonkeys != toprow:
@@ -248,7 +252,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
                 if printer and row:
                     printer.add_row(row)
             if printer:
-                self.monkeyprint(printer)
+                self.monkeyprint(printer.get_string())
 
         def print_result_as_dict(result, result_filter=[]):
             if self.display == "json":
@@ -259,14 +263,15 @@ class CloudMonkeyShell(cmd.Cmd, object):
                               x not in ['id', 'count', 'name'] and x):
                 if not (isinstance(result[key], list) or
                         isinstance(result[key], dict)):
-                    if result_filter is not None and key not in result_filter:
+                    if result_filter and key not in result_filter:
                         continue
-                    if result_filter is not None and len(result_filter) == 1:
-                        self.monkeyprint(result[key])
+                    value = unicode(result[key])
+                    if result_filter and len(result_filter) == 1:
+                        self.monkeyprint(value)
                     else:
-                        self.monkeyprint("%s = %s" % (key, result[key]))
+                        self.monkeyprint(key, " = ", value)
                 else:
-                    if result_filter is not None and key not in result_filter:
+                    if result_filter and key not in result_filter:
                         self.print_result(result[key], result_filter)
                         continue
                     self.monkeyprint(key + ":")
@@ -287,7 +292,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
             print_result_as_list(result, result_filter)
         elif isinstance(result, str):
             print result
-        elif not (str(result) is None):
+        elif result:
             self.monkeyprint(result)
 
     def make_request(self, command, args={}, isasync=False):
@@ -296,8 +301,8 @@ class CloudMonkeyShell(cmd.Cmd, object):
                                         self.asyncblock, logger,
                                         self.url, self.credentials,
                                         self.timeout, self.expires)
-        if error is not None:
-            self.monkeyprint("Error %s" % error)
+        if error:
+            self.monkeyprint(u"Error {0}".format(error))
             self.error_on_last_command = True
         return response
 
@@ -313,7 +318,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
             if isinstance(result[key], list):
                 for element in result[key]:
                     if 'id' in element.keys():
-                        uuid = str(element['id'])
+                        uuid = unicode(element['id'])
                         name = ""
                         keyspace = ["name", "displayname",
                                     "username", "description"]
@@ -332,19 +337,26 @@ class CloudMonkeyShell(cmd.Cmd, object):
         if self.pipe_runner(args):
             return
 
+        try:
+            args = args.strip()
+            args.decode("utf-8")
+        except UnicodeError, ignore:
+            args = args.encode("utf-8")
+
         apiname = args.partition(' ')[0]
         verb, subject = splitverbsubject(apiname)
 
-        lexp = shlex.shlex(args.strip())
+        lexp = shlex.shlex(args)
         lexp.whitespace = " "
         lexp.whitespace_split = True
         lexp.posix = True
         args = []
         while True:
             next_val = lexp.next()
-            if next_val is None:
+            if not next_val:
                 break
-            args.append(next_val.replace('\x00', ''))
+            next_val = next_val.decode("utf-8")
+            args.append(next_val.replace(u'\x00', u''))
 
         args_dict = dict(map(lambda x: [x.partition("=")[0],
                                         x.partition("=")[2]],
@@ -367,7 +379,8 @@ class CloudMonkeyShell(cmd.Cmd, object):
 
         isasync = False
         if 'asyncapis' in self.apicache:
-            isasync = apiname in self.apicache['asyncapis']
+            if apiname.decode("utf-8") in self.apicache["asyncapis"]:
+                isasync = True
 
         result = self.make_request(apiname, args_dict, isasync)
 
@@ -379,10 +392,10 @@ class CloudMonkeyShell(cmd.Cmd, object):
             for responsekey in responsekeys:
                 self.print_result(result[responsekey], field_filter)
             print
-            if apiname.startswith("list"):
+            if apiname.startswith("list") and "id" not in args_dict:
                 self.update_param_cache(apiname, result)
         except Exception as e:
-            self.monkeyprint("Error on parsing and printing", e)
+            self.monkeyprint("Error on parsing and printing ", e)
 
     def completedefault(self, text, line, begidx, endidx):
         partitions = line.partition(" ")
@@ -484,7 +497,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
         it rollbacks last datastore or api precached datastore.
         """
         response = self.make_request("listApis")
-        if response is None:
+        if not response:
             monkeyprint("Failed to sync apis, please check your config?")
             monkeyprint("Note: `sync` requires api discovery service enabled" +
                         " on the CloudStack management server")
@@ -572,7 +585,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
             self.credentials['session'] = session
             self.credentials['sessionkey'] = sessionkey
         except Exception, e:
-            self.monkeyprint("Error: Login failed to the server: ", str(e))
+            self.monkeyprint("Error: Login failed to the server: ", unicode(e))
 
     def do_logout(self, args):
         """
@@ -586,11 +599,11 @@ class CloudMonkeyShell(cmd.Cmd, object):
         self.credentials['sessionkey'] = None
 
     def pipe_runner(self, args):
-        if args.find(' |') > -1:
+        if args.find(u" |") > -1:
             pname = self.program_name
             if '.py' in pname:
                 pname = "python " + pname
-            self.do_shell("%s %s" % (pname, args))
+            self.do_shell(u"{0} {1}".format(pname, args))
             return True
         return False
 
@@ -605,7 +618,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
             email=test@test.tt firstname=user$i lastname=user$i \
             password=password username=user$i; done
         """
-        os.system(args)
+        os.system(args.encode("utf-8"))
 
     def do_help(self, args):
         """
@@ -701,7 +714,7 @@ def main():
 
     shell = CloudMonkeyShell(sys.argv[0], args.configFile)
 
-    if args.displayType is not None and args.displayType in displayTypes:
+    if args.displayType and args.displayType in displayTypes:
         shell.set_attr("display", args.displayType)
 
     if len(args.commands) > 0:


[6/8] git commit: cloudmonkey: autocomplete filter options

Posted by bh...@apache.org.
cloudmonkey: autocomplete filter options

Signed-off-by: Rohit Yadav <ro...@shapeblue.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/commit/8202b8bb
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/tree/8202b8bb
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/diff/8202b8bb

Branch: refs/heads/master
Commit: 8202b8bb18f830e2d53f03da92261fd4eebefdae
Parents: ccb3a75
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Fri Oct 31 06:17:59 2014 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Fri Oct 31 06:17:59 2014 +0530

----------------------------------------------------------------------
 cloudmonkey/cachemaker.py  |  1 +
 cloudmonkey/cloudmonkey.py | 17 ++++++++++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/8202b8bb/cloudmonkey/cachemaker.py
----------------------------------------------------------------------
diff --git a/cloudmonkey/cachemaker.py b/cloudmonkey/cachemaker.py
index 47749e5..2f2fa87 100644
--- a/cloudmonkey/cachemaker.py
+++ b/cloudmonkey/cachemaker.py
@@ -132,6 +132,7 @@ def monkeycache(apis):
 
         apidict['requiredparams'] = required
         apidict['params'] = apiparams
+        apidict['response'] = getvalue(api, 'response')
         if verb not in cache:
             cache[verb] = {}
         cache[verb][subject] = apidict

http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/8202b8bb/cloudmonkey/cloudmonkey.py
----------------------------------------------------------------------
diff --git a/cloudmonkey/cloudmonkey.py b/cloudmonkey/cloudmonkey.py
index 5213e67..08ccb4d 100644
--- a/cloudmonkey/cloudmonkey.py
+++ b/cloudmonkey/cloudmonkey.py
@@ -424,7 +424,22 @@ class CloudMonkeyShell(cmd.Cmd, object):
                 idx = param.find("=")
                 value = param[idx + 1:]
                 param = param[:idx]
-                if len(value) < 36 and idx != -1:
+                if param == "filter":
+                    response_params = self.apicache[verb][subject]["response"]
+                    used = filter(lambda x: x.strip() != "", value.split(",")[:-1])
+                    unused = map(lambda x: x['name'] + ",", filter(lambda x:
+                                 "name" in x and x["name"] not in used,
+                                 response_params))
+                    last_value = value.split(",")[-1]
+                    if last_value:
+                        unused = filter(lambda x: x.startswith(last_value),
+                                        unused)
+                    suffix = ",".join(used)
+                    if suffix:
+                        suffix += ","
+                    return filter(lambda x: x.startswith(value),
+                                  map(lambda x: suffix + x, unused))
+                elif len(value) < 36 and idx != -1:
                     api = None
                     logger.debug("[Paramcompl] For %s %s %s=" % (verb, subject,
                                                                  param))