API:Admin

From SolusVM

Jump to: navigation, search

Contents

Overview

To create an API user in SolusVM click Configuration >> API Users from the top menu then select Create API User.

You will be presented with some fields like the image below:

File:Image-api.png

The ID & Key are auto generated and cannot be changed, all you need to add is the IP Address of the connecting user and set it to active.

Functions

Create Virtual Server

Action ................ : vserver-create
Method ................ : GET or POST
Variables ............. : type             [openvz|xen|xen hvm|kvm]
                          node             [name of node]
                          nodegroup        [name of nodegroup]
                          hostname         [hostname of virtual server]
                          password         [root password]
                          username         [client username]
                          plan             [plan name]
                          template         [template or iso name]
                          ips              [amount of ips]
                          hvmt             [0|1] default is 0. This allows to to define templates & isos for Xen HVM
                          custommemory     [overide plan memory with this amount]
                          customdiskspace  [overide plan diskspace with this amount]
                          custombandwidth  [overide plan bandwidth with this amount]
                          customcpu        [overide plan cpu cores with this amount]
                          customextraip    [add this amount of extra ips]
                          issuelicense     [1|2] 1 = cPanel monthly 2= cPanel yearly


Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server created</statusmsg>
                          <mainipaddress>123.123.123.123</mainipaddress>
                          <extraipaddress>122.122.122.122,111.111.111.111</extraipaddress>
                          <rootpassword>123456</rootpassword>
                          <vserverid>100</vserverid>
                          <consoleuser>console-123</consoleuser>
                          <consolepassword>123456</consolepassword>
                          <hostname>server.hostname.com</hostname>
                          <virtid>vm101|101</virtid>
                          <nodeid>1</nodeid>
                         
Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Check if Virtual Server Exists

Action ................ : vserver-checkexists
Method ................ : GET or POST
Variables ............. : vserverid  [virtual server id]
                                                 
Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server exists</statusmsg>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Check if Client Exists

Action ................ : client-checkexists
Method ................ : GET or POST
Variables ............. : username
                                                 
Success Returns ....... : <status>success</status>
                          <statusmsg>Client exists</statusmsg>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Delete Client

Action ................ : client-delete
Method ................ : GET or POST
Variables ............. : username
                                                 
Success Returns ....... : <status>success</status>
                          <statusmsg>Client deleted</statusmsg>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Check Virtual Server Status

Action ................ : vserver-status
Method ................ : GET or POST
Variables ............. : vserverid  [virtual server id]
                                                 
Success Returns ....... : <status>success</status>
                          <statusmsg>disabled|online|offline</statusmsg>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Create Client

Action ................ : client-create
Method ................ : GET or POST
Variables ............. : username   [username]
                          password   [password]
                          email      [email address]
                          firstname  [first name]
                          lastname   [last name]
                          company    [compnay]

Success Returns ....... : <status>success</status>
                          <statusmsg>Successfully added client</statusmsg>
                          <username>vps123</username>
                          <password>123456</passowrd>
                          <email>email@address.com</email>
                          <firstname>phill</firstname>
                          <lastname>smith</lastname>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Create Reseller

Action ................ : reseller-create
Method ................ : GET or POST
Variables ............. : username      [username]
                          password       [password]
                          email          [email address]
                          firstname      [first name]
                          lastname       [last name]
                          company        [company] (optional)
                          usernameprefix [prefix for reseller client usernames] (optional)
                          maxvps         [maximum amount of virtual servers] (optional)
                          maxusers       [maximum amount of users] (optional)
                          maxmem         [maximum amount memory] (optional)
                          maxburst       [maximum amount of burst memory or swapspace] (optional)
                          maxdisk        [maximum amount of diskspace] (optional)
                          maxbw          [maximum amount of bandwidth] (optional)
                          maxipv4        [maximum amount of ipv4 addresses] (optional)
                          maxipv6        [maximum amount of ipv6 addresses] (optional)
                          nodegroup      [comma seperated list of node groups] (optional)
                          mediagroups    [comma seperated list of media groups] (optional)
                          openvz         [y|n (Allow building of openvz virtual servers)] (optional)
                          xenpv          [y|n (Allow building of xen pv virtual servers)] (optional)
                          xenhvm         [y|n (Allow building of xen hvm virtual servers)] (optional)
                          kvm            [y|n (Allow building of kvmvirtual servers)] (optional)

Success Returns ....... : <status>success</status>
                          <statusmsg>Successfully added reseller</statusmsg>
                          <username>apitest3</username>
                          <password>1234567</password>
                          <email>phill@email.com</email>
                          <firstname>Phill</firstname>
                          <lastname>Smith</lastname>
                          <company>FastServers</company>
                          <usernameprefix>vpsuser</usernameprefix>
                          <maxvps>10</maxvps>
                          <maxdisk>21474836480</maxdisk>
                          <maxmem>10737418240</maxmem>
                          <maxusers>20</maxusers>
                          <maxipv4>4</maxipv4>
                          <maxipv6>6</maxipv6>
                          <maxburst>10738466816</maxburst>
                          <maxbw>107374182400</maxbw>
                          <nodegroupids>14,11,9</nodegroupids>
                          <mediagroupids>14,11,9</mediagroupids>
                          <xenpv>1</xenpv>
                          <xenhvm>1</xenhvm>
                          <kvm>1</kvm>
                          <openvz>1</openvz>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Modify Reseller Resources

Action ................ : reseller-modifyresources
Method ................ : GET or POST
Variables ............. : username   [username]
                          maxvps     [maximum amount of virtual servers] (optional)
                          maxusers   [maximum amount of users] (optional)
                          maxmem     [maximum amount memory] (optional)
                          maxburst   [maximum amount of burst memory or swapspace] (optional)
                          maxdisk    [maximum amount of diskspace] (optional)
                          maxbw      [maximum amount of bandwidth] (optional)
                          maxipv4    [maximum amount of ipv4 addresses] (optional)
                          maxipv6    [maximum amount of ipv6 addresses] (optional)
                          nodegroup  [comma seperated list of node groups] (optional)
                          mediagroups[comma seperated list of media groups] (optional)
                          openvz     [y|n (Allow building of openvz virtual servers)] (optional)
                          xenpv      [y|n (Allow building of xen pv virtual servers)] (optional)
                          xenhvm     [y|n (Allow building of xen hvm virtual servers)] (optional)
                          kvm        [y|n (Allow building of kvmvirtual servers)] (optional)

Success Returns ....... : <status>success</status>
                          <statusmsg>Successfully modified reseller resources</statusmsg>
                          <maxvps>10</maxvps>
                          <maxdisk>21474836480</maxdisk>
                          <maxmem>10737418240</maxmem>
                          <maxusers>20</maxusers>
                          <maxipv4>4</maxipv4>
                          <maxipv6>6</maxipv6>
                          <maxburst>10738466816</maxburst>
                          <maxbw>107374182400</maxbw>
                          <nodegroupids>14,11,9</nodegroupids>
                          <mediagroupids>14,11,9</mediagroupids>
                          <xenpv>1</xenpv>
                          <xenhvm>1</xenhvm>
                          <kvm>1</kvm>
                          <openvz>1</openvz>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

List Reseller Info

Action ................ : reseller-info
Method ................ : GET or POST
Variables ............. : username   [username]

Success Returns ....... : <status>success</status>
                          <statusmsg></statusmsg>
                          <username>apitest3</username>
                          <email>phill@email.com</email>
                          <firstname>Phill</firstname>
                          <lastname>Smith</lastname>
                          <company>FastServers</company>
                          <usernameprefix>vpsuser</usernameprefix>
                          <maxvps>10</maxvps>
                          <maxdisk>21474836480</maxdisk>
                          <maxmem>10737418240</maxmem>
                          <maxusers>20</maxusers>
                          <maxipv4>4</maxipv4>
                          <maxipv6>6</maxipv6>
                          <maxburst>10738466816</maxburst>
                          <maxbw>107374182400</maxbw>
                          <nodegroupids>14,11,9</nodegroupids>
                          <mediagroupids>14,11,9</mediagroupids>
                          <xenpv>1</xenpv>
                          <xenhvm>1</xenhvm>
                          <kvm>1</kvm>
                          <openvz>1</openvz>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

List Reseller Usernames

Action ................ : reseller-list
Method ................ : GET or POST

Success Returns ....... : <status>success</status>
                          <statusmsg></statusmsg>
                          <usernames>username1,username2,username3</usernames>

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Delete Reseller

Action ................ : reseller-delete
Method ................ : GET or POST
Variables ............. : username
                                                 
Success Returns ....... : <status>success</status>
                          <statusmsg>Reseller deleted</statusmsg>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Update Client Password

Action ................ : client-updatepassword
Method ................ : GET or POST
Variables ............. : username   [username]
                          password   [new password]
                                                  
Success Returns ....... : <status>success</status>
                          <statusmsg>Successfully updated client password</statusmsg>
                          <username>vps123</username>
                          <password>123456</passowrd>                                                 

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Add Ip Address

Action ................ : vserver-addip
Method ................ : GET or POST
Variables ............. : vserverid  [virtual server id]
                                                 
Success Returns ....... : <status>success</status>
                          <statusmsg>Ip address added</statusmsg>
                          <ipaddress>123.123.123.123</ipaddress>

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Change Owner of Virtual Server

Action ................ : vserver-changeowner
Method ................ : GET or POST
Variables ............. : vserverid  [virtual server id]
                          clientid   [new client id]
                                                 
Success Returns ....... : <status>success</status>
                          <statusmsg>Successfully changed owner</statusmsg>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Reboot Virtual Server

Action ................ : vserver-reboot
Method ................ : GET or POST
Variables ............. : vserverid  [virtual server id]
                                                 
Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server rebooted</statusmsg>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Shutdown Virtual Server

Action ................ : vserver-shutdown
Method ................ : GET or POST
Variables ............. : vserverid  [virtual server id]
                                                 
Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server shutdown</statusmsg>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Boot Virtual Server

Action ................ : vserver-boot
Method ................ : GET or POST
Variables ............. : vserverid  [virtual server id]
                                                 
Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server booted</statusmsg>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Suspend Virtual Server

Action ................ : vserver-suspend
Method ................ : GET or POST
Variables ............. : vserverid  [virtual server id]
                                                 
Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server suspended</statusmsg>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Unsuspend Virtual Server

Action ................ : vserver-unsuspend
Method ................ : GET or POST
Variables ............. : vserverid  [virtual server id]
                                                 
Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server unsuspended</statusmsg>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Enable TUN/TAP

Action ................ : vserver-tun-enable
Method ................ : GET or POST
Variables ............. : vserverid     [virtual server id]
                                                                         
Success Returns ....... : <status>success</status>
                          <statusmsg>Enabled</statusmsg>                       

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Enable Network Mode

Action ................ : vserver-network-enable
Method ................ : GET or POST
Variables ............. : vserverid     [virtual server id]
                                                                         
Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server network enabled</statusmsg>                       

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Disable Network Mode

Action ................ : vserver-network-disable
Method ................ : GET or POST
Variables ............. : vserverid     [virtual server id]
                                                                         
Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server network disabled</statusmsg>                       

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Change Serial Console Password

Action ................ : vserver-consolepass
Method ................ : GET or POST
Variables ............. : vserverid        [virtual server id]
Variables ............. : consolepassword  [new password]
                                                                         
Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server console password changed</statusmsg> 
                          <consolepassword></consolepassword>                      

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Change VNC Password

Action ................ : vserver-vncpass
Method ................ : GET or POST
Variables ............. : vserverid        [virtual server id]
Variables ............. : vncpassword      [new password]
                                                                         
Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server vnc password changed</statusmsg> 
                          <vncpassword></vncpassword>                      

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

VNC Info

Action ................ : vserver-vnc
Method ................ : GET or POST
Variables ............. : vserverid        [virtual server id]
                                                                         
Success Returns ....... : <status>success</status>
                          <statusmsg></statusmsg> 
                          <type>kvm|hvm</type>
                          <vncip>ip of host</vncip>
                          <vncport>vncport</vncport>
                          <vncpassword>vnc password</vncpassword>                      

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Serial Console Info

Action ................ : vserver-console
Method ................ : GET or POST
Variables ............. : vserverid        [virtual server id]
                                                                         
Success Returns ....... : <status>success</status>
                          <statusmsg></statusmsg> 
                          <type>openvz|xen</type>
                          <consoleip>ip of host</consoleip>
                          <consoleport>port of host</consoleport>
                          <consolepassword>console password</consolepassword>
                          <consoleusername>console username</consoleusername>                      

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Disable TUN/TAP

Action ................ : vserver-tun-disable
Method ................ : GET or POST
Variables ............. : vserverid     [virtual server id]
                                                                         
Success Returns ....... : <status>success</status>
                          <statusmsg>Disabled</statusmsg>                       

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Mount ISO

Action ................ : vserver-mountiso
Method ................ : GET or POST
Variables ............. : vserverid     [virtual server id]
                          iso           [filename of iso]
                                                                         
Success Returns ....... : <status>success</status>
                          <statusmsg>ISO mounted</statusmsg>                       

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Unmount ISO

Action ................ : vserver-unmountiso
Method ................ : GET or POST
Variables ............. : vserverid     [virtual server id]
                                                                                                  
Success Returns ....... : <status>success</status>
                          <statusmsg>ISO unmounted</statusmsg>                       

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Enable/Disable PAE

Action ................ : vserver-pae
Method ................ : GET or POST
Variables ............. : vserverid     [virtual server id]
                          pae           [on|off] 
                                                                                                  
Success Returns ....... : <status>success</status>
                          <statusmsg>Enabled|Disabled</statusmsg>                       

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Change Boot Order

Action ................ : vserver-bootorder
Method ................ : GET or POST
Variables ............. : vserverid     [virtual server id]
                          bootorder     [cd(Hard Disk CDROM)|dc{CDROM Hard Disk)|c(Hard Disk)|d{CDROM)]
                                                                                                  
Success Returns ....... : <status>success</status>
                          <statusmsg>Boot order changed</statusmsg>                       

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Terminate Virtual Server

Action ................ : vserver-terminate
Method ................ : GET or POST
Variables ............. : vserverid     [virtual server id]
                          deleteclient  [true|false]  
                                                 
Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server terminated</statusmsg>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Rebuild Virtual Server

Action ................ : vserver-rebuild
Method ................ : GET or POST
Variables ............. : vserverid  [virtual server id]
                          template [template filename without extension]
                      
Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server rebuilt</statusmsg>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Change Virtual Server Plan

Action ................ : vserver-change
Method ................ : GET or POST
Variables ............. : vserverid  [virtual server id]
                          plan       [new plan name]
                      
Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server updated</statusmsg>                        

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Change Virtual Server Root Password

Action ................ : vserver-rootpassword
Method ................ : GET or POST
Variables ............. : vserverid     [virtual server id]
                          rootpassword  [new root password]
                      
Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server root password changed</statusmsg>
                          <rootpassword>rootpassword</rootpassword>

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Change Virtual Server Hostname

Action ................ : vserver-hostname
Method ................ : GET or POST
Variables ............. : vserverid [virtual server id]
                          hostname  [new hostname]
                      
Success Returns ....... : <status>success</status>
                          <statusmsg>Virtual server hostname changed</statusmsg>
                          <hostname>hostname</hostname>

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

List Nodes by Name

Action ................ : listnodes
Method ................ : GET or POST
Variables ............. : type  [openvz|xen|xen hvm|kvm]

Success Returns ....... : <status>success</status>
                          <statusmsg></statusmsg>
                          <nodes>node1,node2,node3,node4</nodes>

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

List Nodes by ID

Action ................ : node-idlist
Method ................ : GET or POST
Variables ............. : type  [openvz|xen|xen hvm|kvm]

Success Returns ....... : <status>success</status>
                          <statusmsg></statusmsg>
                          <nodes>nodeid,nodeid,nodeid,nodeid</nodes>

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

List Node Groups

Action ................ : listnodegroups
Method ................ : GET or POST

Success Returns ....... : <status>success</status>
                          <statusmsg></statusmsg>
                          <nodegroups>0|--none--,1|nodegroup1,2|nodegroup2,3|nodegroup3</nodegroups>

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

List Clients

Action ................ : client-list
Method ................ : GET or POST

Please note, successful data will be returned in XML format.

Success Returns ....... : <clients>
                            <client>
                              <id>1</id> 
                              <username>philltest</username> 
                              <email>support@soluslabs.com</email> 
                              <firstname>Phill</firstname> 
                              <lastname>B</lastname> 
                              <company>Soluslabs Ltd</company> 
                              <level>Client</level> 
                              <status>Active</status> 
                              <created>2009-01-01</created> 
                              <lastlogin>2010-04-23</lastlogin> 
                            </client>
                            ......
                          </clients>

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

List Plans

Action ................ : listplans
Method ................ : GET or POST
Variables ............. : type  [openvz|xen|xen hvm]

Success Returns ....... : <status>success</status>
                          <statusmsg></statusmsg>
                          <plans>plan1,plan2,plan3,plan4</plans>

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

List Templates

Action ................ : listtemplates
Method ................ : GET or POST
Variables ............. : type  [openvz|xen|xen hvm]

Success Returns ....... : <status>success</status>
                          <statusmsg></statusmsg>
                          <templates>template1,template2,template3</templates>

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

List ISO

Action ................ : listiso
Method ................ : GET or POST
Variables ............. : type  [xen hvm|kvm]

Success Returns ....... : <status>success</status>
                          <statusmsg></statusmsg>
                          <iso>iso1,iso2,iso3</iso>

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

List All IP Addresses for a Node

Action ................ : node-iplist
Method ................ : GET or POST
Variables ............. : nodeid  [ID of node]

Success Returns ....... : <status>success</status>
                          <statusmsg>Available ip addresses</statusmsg> / <statusmsg>No available ip addresses</statusmsg>
                          <ipcount>numbers of ip's</ipcount>
                          <ips>123.123.123.123,124.124.124.124,125.125.125.125</ips>

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

List Virtual Servers

Action ................ : node-virtualservers
Method ................ : GET or POST
Variables ............. : nodeid  [node id]

Success Returns ....... : <virtualservers>
                             <virtualserver>                              
                                <vserverid>[vserverid]</vserverid>
                                <ctid-xid>[ctid or xen id]</ctid-xid>
                                <clientid>[clientid]</clientid>
                                <ipaddress>[main ipaddress]</ipaddress>
                                <hostname>[hostname]</hostname>
                                <template>[template]</template>
                                <hdd>[diskspace]</hdd>
                                <memory>[memory]</memory>
                                <swap-burst>[swp or burst memory]</swap-burst>
                                <type>[openvz/xen/xenhvm]</type>
                                <mac>[mac address]</mac>
                            </virtualserver>
                          </virtualservers> 	

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Virtual Server Information

Action ................ : vserver-info
Method ................ : GET or POST
Variables ............. : vserverid  [vserver id]
                          reboot [true/false] (only required for Xen PV] if not specified default is false

Success Returns ....... : <vserverid>[vserverid]</vserverid>
                          <ctid-xid>[ctid or xen id]</ctid-xid>
                          <clientid>[clientid]</clientid>
                          <ipaddress>[main ipaddress]</ipaddress>
                          <hostname>[hostname]</hostname>
                          <template>[template]</template>
                          <hdd>[diskspace]</hdd>
                          <memory>[memory]</memory>
                          <swap-burst>[swp or burst memory]</swap-burst>
                          <type>[openvz/xen/xenhvm]</type>
                          <mac>[mac address]</mac>

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Virtual Server State

Action ................ : vserver-infoall
Method ................ : GET or POST
Variables ............. : vserverid  [vserver id]
                        
Success Returns ....... : <status>success</status>
                          <statusmsg></statusmsg>
                          <state>online|offline|disabled</state>
                          <ipaddresses>comma seperated list of ip's</ipaddresses>
                          <mainipaddress>main ipaddress</mainipaddress>
                          <type>openvz|xen|xenhvm|kvm</type>
                          <trafficgraph>path to graph</trafficgraph>
                          <loadgraph>path to graph</loadgraph>
                          <memorygraph>path to graph</memorygraph>
                          <node>name of node</node>
                          <hdd>total space, used space, free space, percent used space</hdd>
                          <bandwidth>total bandwidth, used bandwidth, free bandwidth, percent used bandwidth</bandwidth>
                          <memory>total memory used memory, free memory, percent used memory</memory

Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Xen Node Resources

Action ................ : node-xenresources
Method ................ : GET or POST
Variables ............. : nodeid  [node id]

Success Returns ....... : <status>success</status>
                          <statusmsg></statusmsg>
                          <freememory>[Amount of free memory in bytes]</freememory>
                          <freehdd>[Amount of free hard diskspace in bytes]</freehdd>
                          	
Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Node Statistics

Action ................ : node-statistics
Method ................ : GET or POST
Variables ............. : nodeid  [node id or name]

Success Returns ....... : <status>success</status>
                          <statusmsg></statusmsg>
                          <id>[node id]</id>
                          <name>[node name]</name>
                          <ip>[ipaddress]</ip>
                          <hostname>[hostname]</hostname>
                          <country>[country]</country>
                          <city>[city]</city>
                          <sshport>[sshport]</sshport>
                          <arch>[arch]</arch>
                          <freememory>[free memory]</freememory>
                          <freedisk>[free diskspace]</freedisk>
                          <virtualservers>[number of virtual servers]</virtualservers>
                          <freeips>[number of free ips]</freeips>
                          <allocatedmemory>[amount of memory allocated to virtual servers]</allocatedmemory>
                          <allocatedbandwidth>[amount of bandwidth allocated to virtual servers]</allocatedbandwidth>
                          <memorylimit>[the max memory of the node]</memorylimit>
                          <disklimit>[the max disk space of the node]</disklimit>
	
Failure Returns ....... : <status>error</status>
                          <statusmsg>error message</statusmsg>

Authenticate Client

Action ................ : client-authenticate
Method ................ : GET or POST
Variables ............. : username
                          password

Success Returns ....... : <status>success</status>
                          <statusmsg>validated</statusmsg>
                          	
Failure Returns ....... : <status>error</status>
                          <statusmsg>invalid username or password</statusmsg>

Connection Examples

Curl method using POST

<?php
 
// Url to the admin API
 
$url = "https://<MASTER IP>:5656/api/admin";
 
$postfields["id"] = "EXAMPLEIDKEY";
$postfields["key"] = "EXAMPLEIDPASSWORD";
$postfields["action"] = "reboot";
$postfields["vserverid"] = "100"; 
 
// Send the query to the solusvm master
 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/command.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Expect:"));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
$data = curl_exec($ch);
curl_close($ch);
 
// Parse the returned data and build an array
 
preg_match_all('/<(.*?)>([^<]+)<\/\\1>/i', $data, $match);
$result = array();
foreach ($match[1] as $x => $y)
{
	$result[$y] = $match[2][$x];
}
 
?>
Personal tools
Installation/Upgrading
Customization