{"schema_version":[1,2,4],"commands":[{"use":"server","short":"Server management","commands":[{"use":"list","short":"List servers","run":{"cmd":"getList","path":"\/service\/servers","method":"listServers","fields":[{"name":"id"},{"name":"name"},{"name":"datacenter"},{"name":"power"}]}},{"use":"terminate","short":"Terminate server\/s","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"wait":true,"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching multiple servers"},{"name":"force","usage":"Force servers termination even if powered on.","bool":true},{"name":"wait","usage":"Wait for command execution to finish only then exit cli.","bool":true},{"name":"dryrun","usage":"Lists the server IDs which will be deleted, but doesn't delete them.","bool":true}],"run":{"cmd":"post","path":"\/service\/server\/terminate","method":"terminateServer","serverPostMethod":"returnProxyHttpMultiServerPostResponse","serverPath":"\/service\/server\/<id>\/terminate","serverMethod":"DELETE","fields":[{"name":"id","flag":"id"},{"name":"name","flag":"name"},{"name":"force","flag":"force","bool":true},{"name":"dryrun","flag":"dryrun","bool":true}],"serverFields":[{"name":"confirm","value":"1"}]}},{"use":"poweron","short":"Power On server\/s","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"wait":true,"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching multiple servers"},{"name":"wait","usage":"Wait for command execution to finish only then exit cli.","bool":true}],"run":{"cmd":"post","path":"\/service\/server\/poweron","method":"poweronServer","serverPostMethod":"returnProxyHttpMultiServerPostResponse","serverPath":"\/service\/server\/<id>\/power","serverMethod":"PUT","fields":[{"name":"id","flag":"id"},{"name":"name","flag":"name"}],"serverFields":[{"name":"power","value":"on"}]}},{"use":"poweroff","short":"Power Off server\/s","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"wait":true,"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching multiple servers"},{"name":"wait","usage":"Wait for command execution to finish only then exit cli.","bool":true}],"run":{"cmd":"post","path":"\/service\/server\/poweroff","method":"poweroffServer","serverPostMethod":"returnProxyHttpMultiServerPostResponse","serverPath":"\/service\/server\/<id>\/power","serverMethod":"PUT","fields":[{"name":"id","flag":"id"},{"name":"name","flag":"name"}],"serverFields":[{"name":"power","value":"off"}]}},{"use":"reboot","short":"Reboot server\/s","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"wait":true,"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching multiple servers"},{"name":"wait","usage":"Wait for command execution to finish only then exit cli.","bool":true}],"run":{"cmd":"post","path":"\/service\/server\/reboot","method":"rebootServer","serverPostMethod":"returnProxyHttpMultiServerPostResponse","serverPath":"\/service\/server\/<id>\/power","serverMethod":"PUT","fields":[{"name":"id","flag":"id"},{"name":"name","flag":"name"}],"serverFields":[{"name":"power","value":"restart"}]}},{"use":"options","short":"List server options - deprecated","cache-file":"cloudcli-server-options.json","run":{"cmd":"getListOfLists","path":"\/service\/server","method":"getServerOptions","lists":[{"name":"datacenter","key":"datacenters","type":"map","fields":[{"name":"datacenter","from":"key"},{"name":"datacenter_description","from":"value","parsers":[{"parser":"split_value_remove_first","split_string":":"}]}]},{"name":"cpu","key":"cpu","type":"list","fields":[{"name":"cpu_type","from":"value"}]},{"name":"ram","key":"ram","type":"mapOfLists","fields":[{"name":"cpu_type","from":"key"},{"name":"ram_size_gb","from":"value"}]},{"name":"disk","key":"disk","type":"list","fields":[{"name":"disk_size_gb","from":"value"}]},{"name":"image","key":"diskImages","type":"mapOfLists","fields":[{"name":"image_id","from":"id"},{"name":"image_name","from":"description"},{"name":"image_size_gb","from":"sizeGB"},{"name":"image_usage_info","from":"usageInfo","long":true},{"name":"image_guest_description","from":"guestDescription","long":true},{"name":"image_text_one","from":"freeTextOne","long":true},{"name":"image_text_two","from":"freeTextTwo","long":true}]},{"name":"traffic","key":"traffic","type":"mapOfLists","fields":[{"name":"datacenter","from":"key"},{"name":"traffic","from":"id"},{"name":"traffic_info","from":"info"}]},{"name":"network","key":"networks","type":"mapOfLists","fields":[{"name":"datacenter","from":"key"},{"name":"network","from":"name"},{"name":"network_ips","from":"ips","parsers":[{"parser":"network_ips","only_for_humans":true}]}]},{"name":"billing","key":"billing","type":"list","fields":[{"name":"billing_plan","from":"value"}]}]}},{"use":"create","short":"Create a server","long":"Create a server\n\nIt's recommended to use our server configuration interface at \nhttps:\/\/kamatera.github.io\/kamateratoolbox\/serverconfiggen.html?configformat=cloudcli \nto get ready to use cloudcli command arguments with valid configuration options \nand identifiers according to your selection.","wait":true,"interactive":true,"dont-sort-flags":true,"flags":[{"name":"interactive","usage":"Create server in interactive mode","bool":true},{"name":"name","usage":"Server name (a-zA-Z0-9()_-). (must be at least 4 characters long, mandatory)","long-name":"server name","required":true,"validate-regex":"[a-zA-Z0-9()_-]{4,}"},{"name":"datacenter","usage":"Server datacenter (EU, US-NY2, AS.. see server options subcommand). (mandatory)","required":true,"selectfrom-serveroption":"datacenter"},{"name":"image","usage":"Server image name or image ID (see server options subcommand). (mandatory)","required":true,"selectfrom-serveroption":"image"},{"name":"cpu","usage":"CPU count and type. (optional, default: 1B)","cloneUsage":"CPU count and type. (optional, default from source server)","default":"1B","selectfrom-serveroption":"cpu"},{"name":"ram","usage":"Size of server ram in MiB. (optional, default: 1024)","cloneUsage":"Size of server ram in MiB. (optional, default from source server)","default":"1024","selectfrom-serveroption":"ram"},{"name":"disk","array":true,"usage":"Configure Persistent Disks, Up to 4 disks allowed. (at least 1 is mandatory)\n--disk id=ID,size=SIZE --disk <DISK2>..\nID: first disk # is 0. (optional, default is auto-incremented starting from 0)\nSIZE: in GiB. (optional, defaults to one 20GB disk)","cloneUsage":"Configure Persistent Disks, Up to 4 disks allowed. (optional, if provided overrides all source server disks)\n--disk id=ID,size=SIZE --disk <DISK2>..\nID: first disk # is 0. (optional, default is auto-incremented starting from 0)\nSIZE: in GiB. (optional, defaults to one 20GB disk)","fields":[{"name":"id"},{"name":"size"}],"default":"id=0,size=20","selectfrom-serveroption":"disk"},{"name":"network","array":true,"usage":"Configure networking, up to 4 networks allowed. (at least 1 is mandatory)\n--network id=ID,name=NAME,ip=IP --network <NETWORK2>..\nID: first network # is 0. (optional, default is auto-incremented starting from 0)\nNAME: Set the network VLAN name, set 'wan' for wan interface, otherwise, set the name of an existing lan. (mandatory)\nIP: Set the IP address of the server\u2019s network interface. Set 'auto' for auto allocation. (mandatory)","cloneUsage":"Configure networking, up to 4 networks allowed. (optional, if provided overrides all source server networks)\n--network id=ID,name=NAME,ip=IP --network <NETWORK2>..\nID: first network # is 0. (optional, default is auto-incremented starting from 0)\nNAME: Set the network VLAN name, set 'wan' for wan interface, otherwise, set the name of an existing lan. (mandatory)\nIP: Set the IP address of the server\u2019s network interface. Set 'auto' for auto allocation. (mandatory)","fields":[{"name":"id"},{"name":"name"},{"name":"ip"}],"default":"id=0,name=wan,ip=auto","selectfrom-serveroption":"network"},{"name":"password","usage":"Server password (a-z, A-Z, 0-9, !@#$^&*()~). (must be 10-20 characters long with at least 1 capital letter, 1 small letter and 1 digit, mandatory)","cloneUsage":"Server password (a-z, A-Z, 0-9, !@#$^&*()~). (must be 10-20 characters long with at least 1 capital letter, 1 small letter and 1 digit, mandatory)","required":true,"optionalIfFlag":"ssh-key","validate-regex":"[a-zA-Z0-9!@#$^&*()~)]{10,20}","validate-password":true},{"name":"dailybackup","usage":"Set Daily Backup (yes | no). (optional, default: no)","cloneUsage":"Set Daily Backup (yes | no). (optional, default from source server)","default":"no","validate-boolean":true},{"name":"managed","usage":"Set Managed Hosting Services (yes | no). (optional, default: no)","cloneUsage":"Set Managed Hosting Services (yes | no). (optional, default from source server)","default":"no","validate-boolean":true},{"name":"quantity","usage":"Number of servers to create, up to 50 servers. (optional, default: 1)","cloneUsage":"Number of servers to create, up to 50 servers. (optional, default from source server)","default":"1","validate-integer-min":1,"validate-integer-max":50},{"name":"billingcycle","usage":"Servers' Billing Cycle. (hourly | monthly) (optional, default: hourly)","cloneUsage":"Servers' Billing Cycle. (hourly | monthly) (optional, default from source server)","default":"hourly","validate-values":["hourly","monthly"]},{"name":"monthlypackage","usage":"Monthly billing cycle package (see server options subcommand). (required for monthly billing cycle)","cloneUsage":"Monthly billing cycle package (see server options subcommand). (optional in monthly billing cycle, default from source server)","default":"t5000","selectfrom-serveroption":"traffic"},{"name":"poweronaftercreate","usage":"Power on server after server created. (optional, default: yes)","cloneUsage":"Power on server after server created. (optional, default: yes, not copied from source server)","default":"yes","cloneDefault":"yes","validate-boolean":true},{"name":"wait","usage":"Wait for command execution to finish only then exit cli.","bool":true,"processing":[{"method":"validateAllowedOutputFormats","args":["human"]}]},{"name":"ssh-key","usage":"Path to public SSH key file, adds to server authorized keys","cloneUsage":"Path to public SSH key file, adds to server authorized keys (not copied from source server)"},{"name":"script-file","usage":"Path to script file to run on server startup, Bash script for Linux\/FreeBSD servers, Powershell for Windows","cloneUsage":"Path to script file to run on server startup, Bash script for Linux\/FreeBSD servers, Powershell for Windows (not copied from source server)"},{"name":"userdata-file","usage":"Path to user data file","cloneUsage":"Path to user data file (not copied from source server)"},{"name":"tag","array":true,"usage":"Set server tags:\n--tag TAG1 --tag TAG2 ..","cloneUsage":"Set server tags:\n--tag TAG1 --tag TAG2 ..\n(not copied from source server)"}],"run":{"cmd":"post","path":"\/service\/server","method":"createServer","serverPostMethod":"returnProxyHttpPostJsonResponse","serverPostMultipartArray":true,"serverPath":"\/svc\/serverCreate","serverPostProcessing":[{"method":"validateDiskImageId"},{"method":"createServerPostProcessing"}],"fields":[{"name":"name","flag":"name"},{"name":"password","flag":"password"},{"name":"datacenter","flag":"datacenter"},{"name":"image","flag":"image"},{"name":"cpu","flag":"cpu"},{"name":"ram","flag":"ram"},{"name":"disk","flag":"disk","array":true},{"name":"dailybackup","flag":"dailybackup"},{"name":"managed","flag":"managed"},{"name":"network","flag":"network","array":true},{"name":"quantity","flag":"quantity"},{"name":"billingcycle","flag":"billingcycle"},{"name":"monthlypackage","flag":"monthlypackage"},{"name":"poweronaftercreate","flag":"poweronaftercreate"},{"name":"ssh-key","flag":"ssh-key","fromFile":true},{"name":"script-file","flag":"script-file","fromFile":true},{"name":"userdata-file","flag":"userdata-file","fromFile":true},{"name":"tag","flag":"tag","array":true,"stringOnlyArray":true}]},"isServerClone":false},{"use":"clone","short":"Clone a server","long":"Create a server\n\nIt's recommended to use our server configuration interface at \nhttps:\/\/kamatera.github.io\/kamateratoolbox\/serverconfiggen.html?configformat=cloudcli \nto get ready to use cloudcli command arguments with valid configuration options \nand identifiers according to your selection.","wait":true,"dont-sort-flags":true,"flags":[{"name":"source-id","usage":"Source server ID to clone"},{"name":"source-name","usage":"Source server name or regular expression matching a single server to clone"},{"name":"name","usage":"Server name (a-zA-Z0-9()_-). (must be at least 4 characters long, mandatory)","long-name":"server name","required":true,"validate-regex":"[a-zA-Z0-9()_-]{4,}","__cloneDefault":null},{"name":"cpu","usage":"CPU count and type. (optional, default from source server)","cloneUsage":"CPU count and type. (optional, default from source server)","selectfrom-serveroption":"cpu","__cloneDefault":"1B"},{"name":"ram","usage":"Size of server ram in MiB. (optional, default from source server)","cloneUsage":"Size of server ram in MiB. (optional, default from source server)","selectfrom-serveroption":"ram","__cloneDefault":"1024"},{"name":"disk","array":true,"usage":"Configure Persistent Disks, Up to 4 disks allowed. (optional, if provided overrides all source server disks)\n--disk id=ID,size=SIZE --disk <DISK2>..\nID: first disk # is 0. (optional, default is auto-incremented starting from 0)\nSIZE: in GiB. (optional, defaults to one 20GB disk)","cloneUsage":"Configure Persistent Disks, Up to 4 disks allowed. (optional, if provided overrides all source server disks)\n--disk id=ID,size=SIZE --disk <DISK2>..\nID: first disk # is 0. (optional, default is auto-incremented starting from 0)\nSIZE: in GiB. (optional, defaults to one 20GB disk)","fields":[{"name":"id"},{"name":"size"}],"selectfrom-serveroption":"disk","__cloneDefault":"id=0,size=20"},{"name":"network","array":true,"usage":"Configure networking, up to 4 networks allowed. (optional, if provided overrides all source server networks)\n--network id=ID,name=NAME,ip=IP --network <NETWORK2>..\nID: first network # is 0. (optional, default is auto-incremented starting from 0)\nNAME: Set the network VLAN name, set 'wan' for wan interface, otherwise, set the name of an existing lan. (mandatory)\nIP: Set the IP address of the server\u2019s network interface. Set 'auto' for auto allocation. (mandatory)","cloneUsage":"Configure networking, up to 4 networks allowed. (optional, if provided overrides all source server networks)\n--network id=ID,name=NAME,ip=IP --network <NETWORK2>..\nID: first network # is 0. (optional, default is auto-incremented starting from 0)\nNAME: Set the network VLAN name, set 'wan' for wan interface, otherwise, set the name of an existing lan. (mandatory)\nIP: Set the IP address of the server\u2019s network interface. Set 'auto' for auto allocation. (mandatory)","fields":[{"name":"id"},{"name":"name"},{"name":"ip"}],"selectfrom-serveroption":"network","__cloneDefault":"id=0,name=wan,ip=auto"},{"name":"password","usage":"Server password (a-z, A-Z, 0-9, !@#$^&*()~). (must be 10-20 characters long with at least 1 capital letter, 1 small letter and 1 digit, mandatory)","cloneUsage":"Server password (a-z, A-Z, 0-9, !@#$^&*()~). (must be 10-20 characters long with at least 1 capital letter, 1 small letter and 1 digit, mandatory)","required":true,"optionalIfFlag":"ssh-key","validate-regex":"[a-zA-Z0-9!@#$^&*()~)]{10,20}","validate-password":true,"__cloneDefault":null},{"name":"dailybackup","usage":"Set Daily Backup (yes | no). (optional, default from source server)","cloneUsage":"Set Daily Backup (yes | no). (optional, default from source server)","validate-boolean":true,"__cloneDefault":"no"},{"name":"managed","usage":"Set Managed Hosting Services (yes | no). (optional, default from source server)","cloneUsage":"Set Managed Hosting Services (yes | no). (optional, default from source server)","validate-boolean":true,"__cloneDefault":"no"},{"name":"quantity","usage":"Number of servers to create, up to 50 servers. (optional, default from source server)","cloneUsage":"Number of servers to create, up to 50 servers. (optional, default from source server)","validate-integer-min":1,"validate-integer-max":50,"__cloneDefault":"1"},{"name":"billingcycle","usage":"Servers' Billing Cycle. (hourly | monthly) (optional, default from source server)","cloneUsage":"Servers' Billing Cycle. (hourly | monthly) (optional, default from source server)","validate-values":["hourly","monthly"],"__cloneDefault":"hourly"},{"name":"monthlypackage","usage":"Monthly billing cycle package (see server options subcommand). (optional in monthly billing cycle, default from source server)","cloneUsage":"Monthly billing cycle package (see server options subcommand). (optional in monthly billing cycle, default from source server)","selectfrom-serveroption":"traffic","__cloneDefault":"t5000"},{"name":"poweronaftercreate","usage":"Power on server after server created. (optional, default: yes, not copied from source server)","cloneUsage":"Power on server after server created. (optional, default: yes, not copied from source server)","cloneDefault":"yes","validate-boolean":true,"__cloneDefault":"yes","default":"yes"},{"name":"wait","usage":"Wait for command execution to finish only then exit cli.","bool":true,"processing":[{"method":"validateAllowedOutputFormats","args":["human"]}],"__cloneDefault":null},{"name":"ssh-key","usage":"Path to public SSH key file, adds to server authorized keys (not copied from source server)","cloneUsage":"Path to public SSH key file, adds to server authorized keys (not copied from source server)","__cloneDefault":null},{"name":"script-file","usage":"Path to script file to run on server startup, Bash script for Linux\/FreeBSD servers, Powershell for Windows (not copied from source server)","cloneUsage":"Path to script file to run on server startup, Bash script for Linux\/FreeBSD servers, Powershell for Windows (not copied from source server)","__cloneDefault":null},{"name":"userdata-file","usage":"Path to user data file (not copied from source server)","cloneUsage":"Path to user data file (not copied from source server)","__cloneDefault":null},{"name":"tag","array":true,"usage":"Set server tags:\n--tag TAG1 --tag TAG2 ..\n(not copied from source server)","cloneUsage":"Set server tags:\n--tag TAG1 --tag TAG2 ..\n(not copied from source server)","__cloneDefault":null}],"run":{"cmd":"post","path":"\/service\/cloneServer","method":"post","serverPostMethod":"returnProxyHttpPostJsonResponse","serverPostMultipartArray":true,"serverPath":"\/svc\/serverCreate","serverPostProcessing":[{"method":"createServerPostProcessing"}],"fields":[{"name":"source-id","flag":"source-id"},{"name":"source-name","flag":"source-name"},{"name":"name","flag":"name"},{"name":"password","flag":"password"},{"name":"cpu","flag":"cpu"},{"name":"ram","flag":"ram"},{"name":"disk","flag":"disk","array":true},{"name":"dailybackup","flag":"dailybackup"},{"name":"managed","flag":"managed"},{"name":"network","flag":"network","array":true},{"name":"quantity","flag":"quantity"},{"name":"billingcycle","flag":"billingcycle"},{"name":"monthlypackage","flag":"monthlypackage"},{"name":"poweronaftercreate","flag":"poweronaftercreate"},{"name":"ssh-key","flag":"ssh-key","fromFile":true},{"name":"script-file","flag":"script-file","fromFile":true},{"name":"userdata-file","flag":"userdata-file","fromFile":true},{"name":"tag","flag":"tag","array":true,"stringOnlyArray":true}]},"isServerClone":true},{"use":"info","short":"Get server overview\/information","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching multiple servers"}],"run":{"cmd":"post","path":"\/service\/server\/info","method":"serversInfo","serverPostMethod":"returnProxyHttpMultiServerPostResponse","serverPath":"\/service\/server\/<id>","serverMethod":"GET","allowNoServers":true,"fields":[{"name":"id","flag":"id"},{"name":"name","flag":"name"},{"name":"datacenter"},{"name":"power"},{"name":"cpu"},{"name":"ram"},{"name":"diskSizes"},{"name":"networks"},{"name":"billing"},{"name":"traffic"},{"name":"managed"},{"name":"backup"},{"name":"priceMonthlyOn"},{"name":"priceHourlyOn"},{"name":"priceHourlyOff"}],"postGetResponsesActions":[{"addServerPricingInfo":true}]}},{"use":"attach","aliases":["connect","ssh"],"short":"Connect to the server via SSH","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching a single server"},{"name":"password","usage":"The server SSH password."},{"name":"key","usage":"Private key file to login with."}],"run":{"cmd":"post","path":"\/service\/server\/ssh","method":"sshServer","serverPostMethod":"returnProxyHttpMultiServerPostResponse","onlyOneServer":true,"returnServerInfoWithIP":true,"fields":[{"name":"id","flag":"id"},{"name":"name","flag":"name"}]}},{"use":"passwordreset","short":"Reset server\/s password","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"wait":true,"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching multiple servers"},{"name":"password","usage":"The new password to set","required":true},{"name":"wait","usage":"Wait for command execution to finish only then exit cli.","bool":true}],"run":{"cmd":"post","path":"\/service\/server\/password","method":"terminateServer","serverPostMethod":"returnProxyHttpMultiServerPostResponse","serverPath":"\/service\/server\/<id>\/password","serverMethod":"PUT","fields":[{"name":"id","flag":"id"},{"name":"name","flag":"name"},{"name":"password","flag":"password"}]}},{"use":"sshkey","short":"Add an SSH public key to the server authorized keys","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching a single server"},{"name":"password","usage":"The server SSH password.","required":true},{"name":"public-key","usage":"Path to the public key file","required":true}],"run":{"cmd":"post","path":"\/service\/server\/sshkey","method":"sshServerKey","serverPostMethod":"returnProxyHttpMultiServerPostResponse","onlyOneServer":true,"returnServerInfoWithIP":true,"fields":[{"name":"id","flag":"id"},{"name":"name","flag":"name"}]}},{"use":"description","short":"Get or set server description","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching a single server"},{"name":"set","usage":"Set server description to the given value"}],"run":{"cmd":"post","path":"\/server\/description","method":"serverDescription","serverPostMethod":"returnProxyHttpMultiServerPostResponse","onlyOneServer":true,"serverPath":"\/svc\/server\/<id>\/overview","serverMethod":"GET","prePostActions":[{"runIfNotEmpty":["serverId","set"],"httpMethod":"PUT","path":"\/svc\/server\/<serverId>\/description","payload":{"description":"<set>"}}],"fields":[{"name":"id","flag":"id","hide":true},{"name":"name","flag":"name"},{"name":"description"},{"name":"set","flag":"set","hide":true}],"postGetResponsesActions":[{"returnFields":["name","description"]}]}},{"use":"snapshot","short":"List\/manage server snapshots","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"wait":true,"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching a single server"},{"name":"create","usage":"Name of a new snapshot to create"},{"name":"delete","usage":"Snapshot ID to delete"},{"name":"revert","usage":"Snaptshot ID to revert to"},{"name":"wait","usage":"Wait for command execution to finish only then exit cli.","bool":true,"processing":[{"method":"validateAllowedOutputFormats","args":["human"]}]}],"run":{"cmd":"post","path":"\/server\/snapshot","method":"serverSnapshot","serverPostMethod":"returnProxyHttpMultiServerPostResponse","onlyOneServer":true,"serverPath":"\/service\/server\/<id>\/snapshots","serverMethod":"GET","prePostActions":[{"runIfNotEmpty":["serverId","create"],"httpMethod":"POST","path":"\/service\/server\/<serverId>\/snapshot","payload":{"name":"<create>"},"returnsCommandIDOnSuccess":true},{"runIfNotEmpty":["serverId","delete"],"httpMethod":"DELETE","path":"\/service\/server\/<serverId>\/snapshot","payload":{"snapshotId":"<delete>"},"returnsCommandIDOnSuccess":true},{"runIfNotEmpty":["serverId","revert"],"httpMethod":"PUT","path":"\/service\/server\/<serverId>\/snapshot","payload":{"snapshotId":"<revert>"},"returnsCommandIDOnSuccess":true}],"fields":[{"name":"create","flag":"create","hide":true},{"name":"delete","flag":"delete","hide":true},{"name":"revert","flag":"revert","hide":true},{"name":"id","flag":"id"},{"name":"name","flag":"name"},{"name":"date"},{"name":"depth"},{"name":"active"}],"postGetResponsesActions":[{"collapseResponses":true,"recursiveFlattenField":"child"}]}},{"use":"network","short":"List\/manage server networks","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"wait":true,"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching a single server"},{"name":"add","usage":"Name of a new or existing VLAN interface to add to the server"},{"name":"ip","usage":"Required when using --add flag - set the IP address of the added network interface"},{"name":"subnet","usage":"Required when using --add flag to create a new VLAN - Set the subnet of the network."},{"name":"bits","usage":"Required when using --add flag to create a new VLAN - Set the subnet bits of the network"},{"name":"disconnect","usage":"Mac address of a network to disconnect"},{"name":"connect","usage":"Mac address of a network to connect"},{"name":"wait","usage":"Wait for command execution to finish only then exit cli.","bool":true,"processing":[{"method":"validateAllowedOutputFormats","args":["human"]}]}],"run":{"cmd":"post","path":"\/server\/network","method":"serverNetwork","serverPostMethod":"returnProxyHttpMultiServerPostResponse","onlyOneServer":true,"serverPath":"\/svc\/server\/<id>\/nics","serverMethod":"GET","prePostActions":[{"runIfNotEmpty":["serverId","add"],"httpMethod":"POST","path":"\/svc\/server\/<serverId>\/nics","payload":{"network":"<add>","ip":"<ip>","provision":false},"returnsCommandIDOnSuccess":true,"addNewNetworkOnNetworkNotFoundError":true},{"runIfNotEmpty":["serverId","disconnect"],"httpMethod":"PUT","postJson":true,"path":"\/svc\/server\/<serverId>\/nics","payload":{"connected":false,"mac":"<disconnect>"},"returnsCommandIDOnSuccess":true},{"runIfNotEmpty":["serverId","connect"],"httpMethod":"PUT","postJson":true,"path":"\/svc\/server\/<serverId>\/nics","payload":{"connected":true,"mac":"<connect>"},"returnsCommandIDOnSuccess":true}],"fields":[{"name":"add","flag":"add","hide":true},{"name":"ip","flag":"ip","hide":true},{"name":"subnet","flag":"subnet","hide":true},{"name":"bits","flag":"bits","hide":true},{"name":"disconnect","flag":"disconnect","hide":true},{"name":"connect","flag":"connect","hide":true},{"name":"id","flag":"id","hide":true},{"name":"name","flag":"name","hide":true},{"name":"network"},{"name":"ips"},{"name":"connected"},{"name":"mac"}],"postGetResponsesActions":[{"parseNetworks":true}]}},{"use":"disk","short":"List\/manage server disks","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"wait":true,"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching a single server"},{"name":"add","usage":"Size in GB of new disk to add"},{"name":"remove","usage":"ID of disk to remove"},{"name":"resize","usage":"ID of disk to resize, must set size flag as well for the new size"},{"name":"size","usage":"size in GB to resize the disk to, required only when using resize flag"},{"name":"wait","usage":"Wait for command execution to finish only then exit cli.","bool":true,"processing":[{"method":"validateAllowedOutputFormats","args":["human"]}]}],"run":{"cmd":"post","path":"\/server\/disk","method":"serverDisk","serverPostMethod":"returnProxyHttpMultiServerPostResponse","onlyOneServer":true,"serverPath":"\/service\/server\/<id>","serverMethod":"GET","prePostActions":[{"runIfNotEmpty":["serverId","add"],"httpMethod":"POST","path":"\/service\/server\/<serverId>\/disk","payload":{"size":"<add>","provision":1},"returnsCommandIDOnSuccess":true},{"runIfNotEmpty":["serverId","remove"],"httpMethod":"DELETE","path":"\/service\/server\/<serverId>\/disk\/remove","payload":{"index":"<remove>","confirm":1},"returnsCommandIDOnSuccess":true},{"runIfNotEmpty":["serverId","resize","size"],"httpMethod":"PUT","path":"\/service\/server\/<serverId>\/disk","payload":{"index":"<resize>","size":"<size:int_gb>","provision":1},"returnsCommandIDOnSuccess":true}],"fields":[{"name":"add","flag":"add","hide":true},{"name":"remove","flag":"remove","hide":true},{"name":"resize","flag":"resize","hide":true},{"name":"id","flag":"id"},{"name":"name","flag":"name","hide":true},{"name":"size","flag":"size"}],"postGetResponsesActions":[{"parseDisks":true}]}},{"use":"configure","short":"Change server configuration","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"wait":true,"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching a single server"},{"name":"cpu","usage":"CPU count and type (see server options)"},{"name":"ram","usage":"Size of server ram in MiB (see server options)"},{"name":"dailybackup","usage":"Enable or disable daily backup (yes | no)"},{"name":"managed","usage":"Enable or disable managed hosting services (yes | no)"},{"name":"billingcycle","usage":"Server billing cycle (hourly | monthly)"},{"name":"monthlypackage","usage":"Required when billingcycle is monthly, run without this flag to get the available options"},{"name":"wait","usage":"Wait for command execution to finish only then exit cli.","bool":true,"processing":[{"method":"validateAllowedOutputFormats","args":["human"]}]}],"run":{"cmd":"post","path":"\/server\/configure","method":"serverConfigure","serverPath":"\/service\/server\/<id>","fields":[{"name":"id","flag":"id"},{"name":"name","flag":"name"},{"name":"cpu","flag":"cpu"},{"name":"ram","flag":"ram"},{"name":"dailybackup","flag":"dailybackup"},{"name":"managed","flag":"managed"},{"name":"billingcycle","flag":"billingcycle"},{"name":"monthlypackage","flag":"monthlypackage"}]}},{"use":"history","short":"List server actions history","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching a single server"}],"run":{"cmd":"post","path":"\/server\/history","method":"serverHistory","serverPostMethod":"returnProxyHttpMultiServerPostResponse","onlyOneServer":true,"serverPath":"\/svc\/server\/<id>\/history","serverMethod":"GET","fields":[{"name":"id","flag":"id","hide":true},{"name":"name","flag":"name","hide":true},{"name":"action"},{"name":"date"},{"name":"user"}],"postGetResponsesActions":[{"collapseResponses":true}]}},{"use":"rename","short":"Rename server","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"wait":true,"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching a single server"},{"name":"new-name","usage":"The new name (a-zA-Z0-9()_-). (must be at least 4 characters long)","required":true},{"name":"wait","usage":"Wait for command execution to finish only then exit cli.","bool":true}],"run":{"cmd":"post","path":"\/service\/server\/rename","method":"post","serverPostMethod":"returnProxyHttpMultiServerPostResponse","onlyOneServer":true,"serverPath":"\/svc\/server\/<id>\/rename","serverMethod":"PUT","serverFieldsEncoding":"json","fields":[{"name":"id","flag":"id"},{"name":"name","flag":"name"},{"name":"new-name","flag":"new-name","postName":"name","serverProcessing":[{"method":"validateChars","extraAllowedChars":"()-_qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789","minLength":4,"maxLength":40}]}]}},{"use":"statistics","short":"Get server statistics","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching a single server"},{"name":"all","usage":"Show all metrics","bool":true},{"name":"cpu","usage":"Show CPU metrics","bool":true},{"name":"ram","usage":"Show RAM metrics","bool":true},{"name":"network","usage":"Show Network metrics","bool":true},{"name":"disksIops","usage":"Show Disk IO Operations metrics","bool":true},{"name":"disksTransfer","usage":"Show Disk Transfer metrics","bool":true},{"name":"startdate","usage":"Show metrics since this date (yyyymmdd)"},{"name":"enddate","usage":"Show metrics until this date (yyyymmdd)"},{"name":"period","usage":"Period to show metrics for: (1h | 8h |1w | 1m | 3m)"}],"run":{"cmd":"post","path":"\/server\/statistics","method":"post","serverPostMethod":"returnProxyHttpMultiServerPostResponse","onlyOneServer":true,"serverPath":"\/svc\/server\/<id>\/statistics","serverPathPreProcessing":[{"serverStatisticsPath":true}],"ParseStatisticsResponse":true,"postGetResponsesActions":[{"parseStatistics":true}],"serverMethod":"GET","fields":[{"name":"id","flag":"id","hide":true},{"name":"name","flag":"name","hide":true},{"name":"date"},{"name":"metric"},{"name":"value"},{"name":"all","flag":"all","hide":true,"bool":true},{"name":"cpu","flag":"cpu","hide":true,"bool":true},{"name":"ram","flag":"ram","hide":true,"bool":true},{"name":"network","flag":"network","hide":true,"bool":true},{"name":"disksIops","flag":"disksIops","hide":true,"bool":true},{"name":"disksTransfer","flag":"disksTransfer","hide":true,"bool":true},{"name":"startdate","flag":"startdate","hide":true},{"name":"enddate","flag":"enddate","hide":true},{"name":"period","flag":"period","hide":true}]}},{"use":"tags","short":"List\/manage server tags","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching a single server"},{"name":"add","usage":"Name of a new or existing tag to add to the server"},{"name":"remove","usage":"Name of tag to remove from the server"}],"run":{"cmd":"post","path":"\/server\/tags","method":"serverTags","serverPostMethod":"returnProxyHttpMultiServerPostResponse","onlyOneServer":true,"serverPath":"\/svc\/tags\/ot.server\/<id>","serverMethod":"GET","prePostActions":[{"runIfNotEmpty":["serverId","add"],"httpMethod":"POST","path":"\/svc\/tags","payload":{"objectType":"ot.server","objectId":"<serverId>","tagName":"<add>"}},{"runIfNotEmpty":["serverId","remove"],"httpMethod":"DELETE","path":"\/svc\/tags\/ot.server\/<serverId>\/<remove>"}],"fields":[{"name":"add","flag":"add","hide":true},{"name":"remove","flag":"remove","hide":true},{"name":"name","flag":"name","hide":true},{"name":"id","flag":"id","hide":true},{"name":"tagName"}],"postGetResponsesActions":[{"collapseResponses":true},{"parseTags":true}]}},{"use":"reports","short":"Get server monthly usage reports","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching a single server"}],"run":{"cmd":"post","path":"\/server\/report","method":"post","serverPostMethod":"returnProxyHttpMultiServerPostResponse","onlyOneServer":true,"serverPath":"\/svc\/server\/<id>\/reports","serverMethod":"GET","fields":[{"name":"id","flag":"id","hide":true},{"name":"name","flag":"name","hide":true},{"name":"year"},{"name":"month"},{"name":"cpu"},{"name":"ram"},{"name":"disk"},{"name":"diskTraffic"},{"name":"wanRcTraffic"},{"name":"wanTrTraffic"},{"name":"wanRcPer"},{"name":"wanTrPer"},{"name":"lanRcTraffic"},{"name":"lanTrTraffic"},{"name":"lanRcPer"},{"name":"lanTrPer"}],"postGetResponsesActions":[{"collapseResponses":true},{"parseReports":true}]}},{"use":"hdlib","short":"List cloneable hard-disks \/ Clone to hard-disk library ","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"wait":true,"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching a single server"},{"name":"clone","usage":"UUID Of hard-disk to clone"},{"name":"image-name","usage":"Name of image to clone the hard-disk as"},{"name":"wait","usage":"Wait for command execution to finish only then exit cli.","bool":true,"processing":[{"method":"validateAllowedOutputFormats","args":["human"]}]}],"run":{"cmd":"post","path":"\/server\/hdlib","method":"post","serverPostMethod":"returnProxyHttpMultiServerPostResponse","onlyOneServer":true,"serverPath":"\/service\/server\/<id>\/hdlib","serverMethod":"GET","prePostActions":[{"runIfNotEmpty":["serverId","clone"],"httpMethod":"POST","path":"\/service\/server\/<serverId>\/hdlib","payload":{"disk_src_0":"<clone>","disk_name_0":"<image-name>"},"returnsCommandIDOnSuccess":true}],"fields":[{"name":"clone","flag":"clone","hide":true},{"name":"image-name","flag":"image-name","hide":true},{"name":"id","flag":"id","hide":true},{"name":"name","flag":"name","hide":true},{"name":"uuid"},{"name":"sizeGB"}],"postGetResponsesActions":[{"collapseResponses":true,"recursiveFlattenField":"child"}]}},{"use":"suspend","short":"Suspend server\/s","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"wait":true,"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching multiple servers"},{"name":"wait","usage":"Wait for command execution to finish only then exit cli.","bool":true}],"run":{"cmd":"post","path":"\/service\/server\/suspend","method":"post","serverPostMethod":"returnProxyHttpMultiServerPostResponse","serverPath":"\/svc\/server\/<id>\/power\/suspend","serverMethod":"PUT","fields":[{"name":"id","flag":"id"},{"name":"name","flag":"name"}]}},{"use":"resume","short":"Resume server\/s","cliUsage":"Required arguments: one of --id or --name flags must be provided.","cliPreRunHooks":[{"type":"requireOneOf","oneOf":["id","name"]}],"wait":true,"flags":[{"name":"id","usage":"Specific server UUID"},{"name":"name","usage":"Server name or regular expression matching multiple servers"},{"name":"wait","usage":"Wait for command execution to finish only then exit cli.","bool":true}],"run":{"cmd":"post","path":"\/service\/server\/resume","method":"post","serverPostMethod":"returnProxyHttpMultiServerPostResponse","serverPath":"\/svc\/server\/<id>\/power\/resume","serverMethod":"PUT","fields":[{"name":"id","flag":"id"},{"name":"name","flag":"name"}]}}]},{"use":"queue","short":"Task queue management","commands":[{"use":"list","short":"List all tasks in queue","run":{"cmd":"getList","path":"\/svc\/queue","method":"listQueue","fields":[{"name":"id","number":true},{"name":"commandInfo"},{"name":"dtComplete"},{"name":"dtCreate"},{"name":"dtExecute"},{"name":"exitCode","number":true},{"name":"progress","number":true},{"name":"serviceName"}]}},{"use":"detail","short":"Get details of tasks","default-format":"yaml","flags":[{"name":"id","usage":"Command ids to get details for\n--id ID1 --id ID2","required":true,"array":true},{"name":"log","usage":"Only output the command log","bool":true},{"name":"wait","usage":"Wait for command to complete","bool":true}],"run":{"cmd":"getList","path":"\/service\/queue","method":"getQueue","serverPath":"\/service\/queue\/<id>","fields":[{"name":"id","number":true,"flag":"id","array":true},{"name":"status","wait":"complete","waitPrintField":"log","waitError":"error"},{"name":"server"},{"name":"description"},{"name":"added"},{"name":"executed"},{"name":"completed"},{"name":"log","long":true,"flag":"log"}]}}]},{"use":"datacenters","short":"List datacenters","run":{"cmd":"getList","path":"\/service\/server\/options\/datacenters","method":"listDatacenters","fields":[{"name":"id"},{"name":"region"}]}},{"use":"images","short":"List and show image details","long":"List and show image details\n\nDue to the large amount of data for this command, you should always use --format=json or --format=yaml","flags":[{"name":"datacenter","usage":"List available images for this datacenter ID"},{"name":"image-id","usage":"Show details for this image ID"}],"run":{"cmd":"post","path":"\/service\/server\/options\/images","method":"listImages","serverMethod":"GET","SimpleJsonServerResponse":true,"fields":[{"name":"datacenter","flag":"datacenter","hide":true},{"name":"image-id","flag":"image-id","hide":true},{"name":"id"},{"name":"description"}]}}],"schema_generated_at":"2026-05-01T16:37:16+00:00"}