1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
5 >PlanetLab Central API Documentation</TITLE
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD
27 >PlanetLab Central API Documentation</A
46 HREF="#Authentication"
69 >PlanetLab API Methods</A
75 HREF="#AddAddressType"
80 HREF="#AddAddressTypeToAddress"
81 >AddAddressTypeToAddress</A
95 HREF="#AddConfFileToNodeGroup"
96 >AddConfFileToNodeGroup</A
100 HREF="#AddConfFileToNode"
101 >AddConfFileToNode</A
115 HREF="#AddNetworkMethod"
120 HREF="#AddNetworkType"
130 HREF="#AddNodeNetwork"
140 HREF="#AddNodeToNodeGroup"
141 >AddNodeToNodeGroup</A
170 HREF="#AddPersonToSite"
175 HREF="#AddPersonToSlice"
185 HREF="#AddRoleToPerson"
190 HREF="#AddSiteAddress"
200 HREF="#AddSliceAttribute"
201 >AddSliceAttribute</A
205 HREF="#AddSliceAttributeType"
206 >AddSliceAttributeType</A
210 HREF="#AddSliceInstantiation"
211 >AddSliceInstantiation</A
220 HREF="#AddSliceToNodes"
235 HREF="#BootGetNodeDetails"
236 >BootGetNodeDetails</A
240 HREF="#BootNotifyOwners"
245 HREF="#BootUpdateNode"
250 HREF="#DeleteAddress"
255 HREF="#DeleteAddressTypeFromAddress"
256 >DeleteAddressTypeFromAddress</A
260 HREF="#DeleteAddressType"
261 >DeleteAddressType</A
265 HREF="#DeleteBootState"
270 HREF="#DeleteConfFileFromNodeGroup"
271 >DeleteConfFileFromNodeGroup</A
275 HREF="#DeleteConfFileFromNode"
276 >DeleteConfFileFromNode</A
280 HREF="#DeleteConfFile"
290 HREF="#DeleteKeyType"
295 HREF="#DeleteMessage"
300 HREF="#DeleteNetworkMethod"
301 >DeleteNetworkMethod</A
305 HREF="#DeleteNetworkType"
306 >DeleteNetworkType</A
310 HREF="#DeleteNodeFromNodeGroup"
311 >DeleteNodeFromNodeGroup</A
315 HREF="#DeleteNodeFromPCU"
316 >DeleteNodeFromPCU</A
320 HREF="#DeleteNodeGroup"
325 HREF="#DeleteNodeNetwork"
326 >DeleteNodeNetwork</A
345 HREF="#DeletePersonFromSite"
346 >DeletePersonFromSite</A
350 HREF="#DeletePersonFromSlice"
351 >DeletePersonFromSlice</A
360 HREF="#DeleteRoleFromPerson"
361 >DeleteRoleFromPerson</A
370 HREF="#DeleteSession"
380 HREF="#DeleteSliceAttribute"
381 >DeleteSliceAttribute</A
385 HREF="#DeleteSliceAttributeType"
386 >DeleteSliceAttributeType</A
390 HREF="#DeleteSliceFromNodes"
391 >DeleteSliceFromNodes</A
395 HREF="#DeleteSliceInstantiation"
396 >DeleteSliceInstantiation</A
410 HREF="#GetAddressTypes"
415 HREF="#GetBootStates"
445 HREF="#GetNetworkMethods"
446 >GetNetworkMethods</A
450 HREF="#GetNetworkTypes"
455 HREF="#GetNodeGroups"
460 HREF="#GetNodeNetworks"
510 HREF="#GetSliceAttributes"
511 >GetSliceAttributes</A
515 HREF="#GetSliceAttributeTypes"
516 >GetSliceAttributeTypes</A
520 HREF="#GetSliceInstantiations"
521 >GetSliceInstantiations</A
530 HREF="#GetSliceTicket"
540 HREF="#NotifyPersons"
555 HREF="#ResetPassword"
560 HREF="#SetPersonPrimarySite"
561 >SetPersonPrimarySite</A
565 HREF="#UpdateAddress"
570 HREF="#UpdateAddressType"
571 >UpdateAddressType</A
575 HREF="#UpdateConfFile"
585 HREF="#UpdateMessage"
590 HREF="#UpdateNodeGroup"
595 HREF="#UpdateNodeNetwork"
596 >UpdateNodeNetwork</A
625 HREF="#UpdateSliceAttribute"
626 >UpdateSliceAttribute</A
630 HREF="#UpdateSliceAttributeType"
631 >UpdateSliceAttributeType</A
645 HREF="#system.listMethods"
646 >system.listMethods</A
650 HREF="#system.methodHelp"
651 >system.methodHelp</A
655 HREF="#system.methodSignature"
656 >system.methodSignature</A
660 HREF="#system.multicall"
673 >Chapter 1. Introduction</H1
675 >The PlanetLab Central API (PLCAPI) is the interface through
676 which the PlanetLab Central database should be accessed and
677 maintained. The API is used by the website, by nodes, by automated
678 scripts, and by users to access and update information about
679 users, nodes, sites, slices, and other entities maintained by the
686 NAME="Authentication"
687 >1.1. Authentication</A
690 >The API should be accessed via XML-RPC over HTTPS. The API
691 supports the standard introspection calls <A
692 HREF="#system.listMethods"
693 >system.listMethods</A
695 HREF="#system.methodSignature"
696 >system.methodSignature</A
699 HREF="#system.methodHelp"
700 >system.methodHelp</A
702 and the standard batching call <A
703 HREF="#system.multicall"
706 exception of these calls, all PLCAPI calls take an
707 authentication structure as their first argument. All
708 authentication structures require the specification of
712 >. If the documentation for a
713 call does not further specify the authentication structure, then
714 any of (but only) the following authentication structures may be
721 >Session authentication. User sessions are typically
722 valid for 24 hours. Node sessions are valid until the next
723 reboot. Obtain a session key with <A
726 > using another form of
727 authentication, such as password or GnuPG
730 CLASS="informaltable"
740 ><COL><COL><COL><TBODY
768 >Password authentication.</P
770 CLASS="informaltable"
780 ><COL><COL><COL><TBODY
796 >Username, typically an e-mail address</TD
804 >Authentication string, typically a password</TD
816 >GnuPG authentication. Users may upload a GPG public key
821 GPG keys should be added with <A
830 CLASS="informaltable"
840 ><COL><COL><COL><TBODY
856 >Peer or user name</TD
866 HREF="http://www.w3.org/TR/xml-c14n"
871 HREF="http://www.xmlrpc.com/spec"
875 representation of the rest of the arguments to the
888 >Anonymous authentication.</P
890 CLASS="informaltable"
900 ><COL><COL><COL><TBODY
929 >Some functions may only be called by users with certain
934 may return different information to different callers depending
935 on the role(s) of the caller.</P
944 > roles are pseudo-roles. A function
948 > role may be called by
949 automated scripts running on a node, such as the Boot and Node
950 Managers. A function that allows the
954 > role may be called by anyone; an
955 API authentication structure must still be specified (see <A
956 HREF="#Authentication"
973 filter argument. Filters may be arrays of integer (and sometimes
974 string) identifiers, or a struct representing a filter on the
975 attributes of the entities being queried. For example,</P
977 CLASS="programlisting"
978 > # plcsh code fragment (see below)
980 GetNodes({'node_id': [1,2,3]})
981 GetNodes({'node_id': 1}) + GetNodes({'node_id': 2}) + GetNodes({'node_id': 3})
984 >Would all be equivalent queries. Attributes that are
985 themselves arrays (such as <TT
992 > for nodes) cannot be used in
1001 >1.4. PlanetLab shell</A
1004 >A command-line program called <B
1008 simplifies authentication structure handling, and is useful for
1009 scripting. This program is distributed as a Linux RPM called
1010 PLCAPI and requires Python ≥2.4.</P
1012 CLASS="programlisting"
1013 > usage: plcsh [options]
1016 -f CONFIG, --config=CONFIG
1017 PLC configuration file
1018 -h URL, --url=URL API URL
1019 -c CACERT, --cacert=CACERT
1021 -k INSECURE, --insecure=INSECURE
1022 Do not check SSL certificate
1023 -m METHOD, --method=METHOD
1024 API authentication method
1025 -s SESSION, --session=SESSION
1027 -u USER, --user=USER API user name
1028 -p PASSWORD, --password=PASSWORD
1030 -r ROLE, --role=ROLE API role
1031 -x, --xmlrpc Use XML-RPC interface
1032 --help show this help message and exit
1035 >Specify at least the API URL and your user name:</P
1037 CLASS="programlisting"
1038 > plcsh --url https://www.planet-lab.org/PLCAPI/ -u user@site.edu
1041 >You will be presented with a prompt. From here, you can
1042 invoke API calls and omit the authentication structure, as it will
1043 be filled in automatically.</P
1045 CLASS="programlisting"
1046 > user@site.edu connected using password authentication
1047 Type "system.listMethods()" or "help(method)" for more information.
1048 [user@site.edu]>>> AuthCheck()
1050 [user@site.edu]>>> GetNodes([121], ['node_id', 'hostname'])
1051 [{'node_id': 121, 'hostname': 'planetlab-1.cs.princeton.edu'}]
1054 >As this program is actually a Python interpreter, you may
1055 create variables, execute for loops, import other packages, etc.,
1056 directly on the command line as you would using the regular Python
1062 > programmatically, import
1068 CLASS="programlisting"
1069 > #!/usr/bin/python
1073 # Default location that the PLCAPI RPM installs the PLC class
1074 sys.path.append('/usr/share/plc_api')
1076 # Initialize shell environment. Shell() will define all PLCAPI methods
1077 # in the specified namespace (specifying globals() will define them
1079 from PLC.Shell import Shell
1080 plc = Shell(globals(),
1081 url = "https://www.planet-lab.org/PLCAPI/",
1082 user = "user@site.edu",
1083 password = "password")
1085 # Both are equivalent
1086 nodes = GetNodes([121], ['node_id', 'hostname'])
1087 nodes = plc.GetNodes([121], ['node_id', 'hostname'])
1097 >Chapter 2. PlanetLab API Methods</H1
1105 NAME="AddAddressType"
1106 >2.1. AddAddressType</A
1115 >AddAddressType (auth, address_type_fields)</P
1125 >Adds a new address type. Fields specified in address_type_fields
1128 >Returns the new address_type_id (> 0) if successful, faults otherwise.</P
1152 : struct, API authentication structure </P
1162 : string, Authentication method to use </P
1170 >address_type_fields</CODE
1182 : string, Address type </P
1190 : string, Address type description </P
1202 > int, New address_type_id (> 0) if successful </P
1211 NAME="AddAddressTypeToAddress"
1212 >2.2. AddAddressTypeToAddress</A
1221 >AddAddressTypeToAddress (auth, address_type_id_or_name, address_id)</P
1231 >Adds an address type to the specified address.</P
1233 >PIs may only update addresses of their own sites.</P
1235 >Returns 1 if successful, faults otherwise.</P
1259 : struct, API authentication structure </P
1269 : string, Authentication method to use </P
1277 >address_type_id_or_name</CODE
1285 > int, Address type identifier </P
1289 > string, Address type </P
1299 : int, Address identifier </P
1309 > int, 1 if successful </P
1319 >2.3. AddBootState</A
1328 >AddBootState (auth, name)</P
1338 >Adds a new node boot state.</P
1340 >Returns 1 if successful, faults otherwise.</P
1364 : struct, API authentication structure </P
1374 : string, Authentication method to use </P
1384 : string, Boot state </P
1394 > int, 1 if successful </P
1404 >2.4. AddConfFile</A
1413 >AddConfFile (auth, conf_file_fields)</P
1423 >Adds a new node configuration file. Any fields specified in
1424 conf_file_fields are used, otherwise defaults are used.</P
1426 >Returns the new conf_file_id (> 0) if successful, faults otherwise.</P
1450 : struct, API authentication structure </P
1460 : string, Authentication method to use </P
1468 >conf_file_fields</CODE
1480 : string, chown(1) owner </P
1486 >postinstall_cmd</CODE
1488 : string, Shell command to execute after installing </P
1496 : string, Shell command to execute if any error occurs </P
1502 >preinstall_cmd</CODE
1504 : string, Shell command to execute prior to installing </P
1512 : string, Absolute path where file should be installed </P
1518 >ignore_cmd_errors</CODE
1520 : boolean, Install file anyway even if an error occurs </P
1528 : boolean, Configuration file is active </P
1534 >file_permissions</CODE
1536 : string, chmod(1) permissions </P
1544 : string, Relative path on the boot server where file can be downloaded </P
1550 >always_update</CODE
1552 : boolean, Always attempt to install file even if unchanged </P
1560 : string, chgrp(1) owner </P
1572 > int, New conf_file_id (> 0) if successful </P
1581 NAME="AddConfFileToNodeGroup"
1582 >2.5. AddConfFileToNodeGroup</A
1591 >AddConfFileToNodeGroup (auth, conf_file_id, nodegroup_id_or_name)</P
1601 >Adds a configuration file to the specified node group. If the node
1602 group is already linked to the configuration file, no errors are
1605 >Returns 1 if successful, faults otherwise.</P
1629 : struct, API authentication structure </P
1639 : string, Authentication method to use </P
1649 : int, Configuration file identifier </P
1655 >nodegroup_id_or_name</CODE
1663 > int, Node group identifier </P
1667 > string, Node group name </P
1679 > int, 1 if successful </P
1688 NAME="AddConfFileToNode"
1689 >2.6. AddConfFileToNode</A
1698 >AddConfFileToNode (auth, conf_file_id, node_id_or_hostname)</P
1708 >Adds a configuration file to the specified node. If the node is
1709 already linked to the configuration file, no errors are returned.</P
1711 >Returns 1 if successful, faults otherwise.</P
1735 : struct, API authentication structure </P
1745 : string, Authentication method to use </P
1755 : int, Configuration file identifier </P
1761 >node_id_or_hostname</CODE
1769 > int, Node identifier </P
1773 > string, Fully qualified hostname </P
1785 > int, 1 if successful </P
1804 >AddKeyType (auth, name)</P
1814 >Adds a new key type.</P
1816 >Returns 1 if successful, faults otherwise.</P
1840 : struct, API authentication structure </P
1850 : string, Authentication method to use </P
1860 : string, Key type </P
1870 > int, 1 if successful </P
1889 >AddMessage (auth, message_fields)</P
1899 >Adds a new message template. Any values specified in
1900 message_fields are used, otherwise defaults are used.</P
1902 >Returns 1 if successful, faults otherwise.</P
1926 : struct, API authentication structure </P
1936 : string, Authentication method to use </P
1944 >message_fields</CODE
1956 : boolean, Message is enabled </P
1964 : string, Message identifier </P
1972 : string, Message template </P
1980 : string, Message summary </P
1992 > int, 1 if successful </P
2001 NAME="AddNetworkMethod"
2002 >2.9. AddNetworkMethod</A
2011 >AddNetworkMethod (auth, name)</P
2021 >Adds a new network method.</P
2023 >Returns 1 if successful, faults otherwise.</P
2047 : struct, API authentication structure </P
2057 : string, Authentication method to use </P
2067 : string, Network method </P
2077 > int, 1 if successful </P
2086 NAME="AddNetworkType"
2087 >2.10. AddNetworkType</A
2096 >AddNetworkType (auth, name)</P
2106 >Adds a new network type.</P
2108 >Returns 1 if successful, faults otherwise.</P
2132 : struct, API authentication structure </P
2142 : string, Authentication method to use </P
2152 : string, Network type </P
2162 > int, 1 if successful </P
2172 >2.11. AddNodeGroup</A
2181 >AddNodeGroup (auth, nodegroup_fields)</P
2191 >Adds a new node group. Any values specified in nodegroup_fields
2192 are used, otherwise defaults are used.</P
2194 >Returns the new nodegroup_id (> 0) if successful, faults otherwise.</P
2218 : struct, API authentication structure </P
2228 : string, Authentication method to use </P
2236 >nodegroup_fields</CODE
2248 : string, Node group name </P
2256 : string, Node group description </P
2268 > int, New nodegroup_id (> 0) if successful </P
2277 NAME="AddNodeNetwork"
2278 >2.12. AddNodeNetwork</A
2287 >AddNodeNetwork (auth, node_id_or_hostname, nodenetwork_fields)</P
2297 >Adds a new network for a node. Any values specified in
2298 nodenetwork_fields are used, otherwise defaults are
2299 used. Acceptable values for method may be retrieved via
2300 GetNetworkMethods. Acceptable values for type may be retrieved via
2303 >If type is static, ip, gateway, network, broadcast, netmask, and
2304 dns1 must all be specified in nodenetwork_fields. If type is dhcp,
2305 these parameters, even if specified, are ignored.</P
2307 >PIs and techs may only add networks to their own nodes. Admins may
2308 add networks to any node.</P
2310 >Returns the new nodenetwork_id (> 0) if successful, faults otherwise.</P
2334 : struct, API authentication structure </P
2344 : string, Authentication method to use </P
2352 >node_id_or_hostname</CODE
2360 > int, Node identifier </P
2364 > string, Fully qualified hostname </P
2372 >nodenetwork_fields</CODE
2384 : string, Subnet address </P
2392 : boolean, Is the primary interface for this node </P
2400 : string, IP address of primary DNS server </P
2408 : string, (Optional) Hostname </P
2416 : string, MAC address </P
2424 : int, Bandwidth limit </P
2432 : string, Network broadcast address </P
2440 : string, Addressing method (e.g., 'static' or 'dhcp') </P
2448 : string, Subnet mask </P
2456 : string, IP address of secondary DNS server </P
2464 : string, IP address </P
2472 : string, Address type (e.g., 'ipv4') </P
2480 : string, IP address of primary gateway </P
2492 > int, New nodenetwork_id (> 0) if successful </P
2511 >AddNode (auth, site_id_or_login_base, node_fields)</P
2521 >Adds a new node. Any values specified in node_fields are used,
2522 otherwise defaults are used.</P
2524 >PIs and techs may only add nodes to their own sites. Admins may
2525 add nodes to any site.</P
2527 >Returns the new node_id (> 0) if successful, faults otherwise.</P
2551 : struct, API authentication structure </P
2561 : string, Authentication method to use </P
2569 >site_id_or_login_base</CODE
2577 > int, Site identifier </P
2581 > string, Site slice prefix </P
2601 : string, Boot state </P
2609 : string, Make and model of the actual machine </P
2617 : string, Apparent Boot CD version </P
2625 : string, Fully qualified hostname </P
2637 > int, New node_id (> 0) if successful </P
2646 NAME="AddNodeToNodeGroup"
2647 >2.14. AddNodeToNodeGroup</A
2656 >AddNodeToNodeGroup (auth, node_id_or_hostname, nodegroup_id_or_name)</P
2666 >Add a node to the specified node group. If the node is
2667 already a member of the nodegroup, no errors are returned.</P
2669 >Returns 1 if successful, faults otherwise.</P
2693 : struct, API authentication structure </P
2703 : string, Authentication method to use </P
2711 >node_id_or_hostname</CODE
2719 > int, Node identifier </P
2723 > string, Fully qualified hostname </P
2731 >nodegroup_id_or_name</CODE
2739 > int, Node group identifier </P
2743 > string, Node group name </P
2755 > int, 1 if successful </P
2765 >2.15. AddNodeToPCU</A
2774 >AddNodeToPCU (auth, node_id_or_hostname, pcu_id, port)</P
2784 >Adds a node to a port on a PCU. Faults if the node has already
2785 been added to the PCU or if the port is already in use.</P
2787 >Non-admins may only update PCUs at their sites.</P
2789 >Returns 1 if successful, faults otherwise.</P
2813 : struct, API authentication structure </P
2823 : string, Authentication method to use </P
2831 >node_id_or_hostname</CODE
2839 > int, Node identifier </P
2843 > string, Fully qualified hostname </P
2853 : int, PCU identifier </P
2861 : int, PCU port number </P
2871 > int, 1 if successful </P
2890 >AddPCU (auth, site_id_or_login_base, pcu_fields)</P
2900 >Adds a new power control unit (PCU) to the specified site. Any
2901 fields specified in pcu_fields are used, otherwise defaults are
2904 >PIs and technical contacts may only add PCUs to their own sites.</P
2906 >Returns the new pcu_id (> 0) if successful, faults otherwise.</P
2930 : struct, API authentication structure </P
2940 : string, Authentication method to use </P
2948 >site_id_or_login_base</CODE
2956 > int, Site identifier </P
2960 > string, Site slice prefix </P
2980 : string, PCU username </P
2988 : string, PCU protocol, e.g. ssh, https, telnet </P
2996 : string, PCU IP address </P
3004 : string, Miscellaneous notes </P
3012 : string, PCU hostname </P
3020 : string, PCU model string </P
3028 : string, PCU username </P
3040 > int, New pcu_id (> 0) if successful </P
3059 >AddPeer (auth, peer_fields)</P
3069 >Adds a new peer.</P
3071 >Returns the new peer_id (> 0) if successful, faults otherwise.</P
3095 : struct, API authentication structure </P
3105 : string, Authentication method to use </P
3125 : string, Peer GPG public key </P
3133 : string, Peer SSL public certificate </P
3141 : string, Peer name </P
3149 : string, Peer API URL </P
3161 > int, New peer_id (> 0) if successful </P
3171 >2.18. AddPersonKey</A
3180 >AddPersonKey (auth, person_id_or_email, key_fields)</P
3190 >Adds a new key to the specified account.</P
3192 >Non-admins can only modify their own keys.</P
3194 >Returns the new key_id (> 0) if successful, faults otherwise.</P
3204 >admin, pi, tech, user</P
3218 : struct, API authentication structure </P
3228 : string, Authentication method to use </P
3236 >person_id_or_email</CODE
3244 > int, User identifier </P
3248 > string, Primary e-mail address </P
3268 : string, Key type </P
3276 : string, Key value </P
3288 > int, New key_id (> 0) if successful </P
3307 >AddPerson (auth, person_fields)</P
3317 >Adds a new account. Any fields specified in person_fields are
3318 used, otherwise defaults are used.</P
3320 >Accounts are disabled by default. To enable an account, use
3323 >Returns the new person_id (> 0) if successful, faults otherwise.</P
3347 : struct, API authentication structure </P
3357 : string, Authentication method to use </P
3365 >person_fields</CODE
3377 : string, Biography </P
3385 : string, Given name </P
3393 : string, Surname </P
3409 : string, Home page </P
3417 : string, Telephone number </P
3425 : string, Account password in crypt() form </P
3433 : string, Primary e-mail address </P
3445 > int, New person_id (> 0) if successful </P
3454 NAME="AddPersonToSite"
3455 >2.20. AddPersonToSite</A
3464 >AddPersonToSite (auth, person_id_or_email, site_id_or_login_base)</P
3474 >Adds the specified person to the specified site. If the person is
3475 already a member of the site, no errors are returned. Does not
3476 change the person's primary site.</P
3478 >Returns 1 if successful, faults otherwise.</P
3502 : struct, API authentication structure </P
3512 : string, Authentication method to use </P
3520 >person_id_or_email</CODE
3528 > int, User identifier </P
3532 > string, Primary e-mail address </P
3540 >site_id_or_login_base</CODE
3548 > int, Site identifier </P
3552 > string, Site slice prefix </P
3564 > int, 1 if successful </P
3573 NAME="AddPersonToSlice"
3574 >2.21. AddPersonToSlice</A
3583 >AddPersonToSlice (auth, person_id_or_email, slice_id_or_name)</P
3593 >Adds the specified person to the specified slice. If the person is
3594 already a member of the slice, no errors are returned.</P
3596 >Returns 1 if successful, faults otherwise.</P
3620 : struct, API authentication structure </P
3630 : string, Authentication method to use </P
3638 >person_id_or_email</CODE
3646 > int, User identifier </P
3650 > string, Primary e-mail address </P
3658 >slice_id_or_name</CODE
3666 > int, Slice identifier </P
3670 > string, Slice name </P
3682 > int, 1 if successful </P
3701 >AddRole (auth, role_id, name)</P
3711 >Adds a new role.</P
3713 >Returns 1 if successful, faults otherwise.</P
3737 : struct, API authentication structure </P
3747 : string, Authentication method to use </P
3757 : int, Role identifier </P
3775 > int, 1 if successful </P
3784 NAME="AddRoleToPerson"
3785 >2.23. AddRoleToPerson</A
3794 >AddRoleToPerson (auth, role_id_or_name, person_id_or_email)</P
3804 >Grants the specified role to the person.</P
3806 >PIs can only grant the tech and user roles to users and techs at
3807 their sites. Admins can grant any role to any user.</P
3809 >Returns 1 if successful, faults otherwise.</P
3833 : struct, API authentication structure </P
3843 : string, Authentication method to use </P
3851 >role_id_or_name</CODE
3859 > int, Role identifier </P
3863 > string, Role </P
3871 >person_id_or_email</CODE
3879 > int, User identifier </P
3883 > string, Primary e-mail address </P
3895 > int, 1 if successful </P
3904 NAME="AddSiteAddress"
3905 >2.24. AddSiteAddress</A
3914 >AddSiteAddress (auth, site_id_or_login_base, address_fields)</P
3924 >Adds a new address to a site. Fields specified in
3925 address_fields are used; some are not optional.</P
3927 >PIs may only add addresses to their own sites.</P
3929 >Returns the new address_id (> 0) if successful, faults otherwise.</P
3953 : struct, API authentication structure </P
3963 : string, Authentication method to use </P
3971 >site_id_or_login_base</CODE
3979 > int, Site identifier </P
3983 > string, Site slice prefix </P
3991 >address_fields</CODE
4011 : string, Country </P
4019 : string, Address line 3 </P
4027 : string, Address line 2 </P
4035 : string, Address line 1 </P
4043 : string, State or province </P
4051 : string, Postal code </P
4063 > int, New address_id (> 0) if successful </P
4082 >AddSite (auth, site_fields)</P
4092 >Adds a new site, and creates a node group for that site. Any
4093 fields specified in site_fields are used, otherwise defaults are
4096 >Returns the new site_id (> 0) if successful, faults otherwise.</P
4120 : struct, API authentication structure </P
4130 : string, Authentication method to use </P
4150 : string, Full site name </P
4158 : string, URL of a page that describes the site </P
4166 : boolean, Has been enabled </P
4174 : double, Decimal longitude of the site </P
4182 : double, Decimal latitude of the site </P
4190 : int, Maximum number of slices that the site is able to create </P
4198 : string, Site slice prefix </P
4206 : int, Maximum number of slivers that the site is able to create </P
4214 : boolean, Publicly viewable site </P
4220 >abbreviated_name</CODE
4222 : string, Abbreviated site name </P
4234 > int, New site_id (> 0) if successful </P
4243 NAME="AddSliceAttribute"
4244 >2.26. AddSliceAttribute</A
4253 >AddSliceAttribute (auth, slice_id_or_name, attribute_type_id_or_name, value, node_id_or_hostname)</P
4263 >Sets the specified attribute of the slice (or sliver, if
4264 node_id_or_hostname is specified) to the specified value.</P
4266 >Attributes may require the caller to have a particular role in
4267 order to be set or changed. Users may only set attributes of
4268 slices or slivers of which they are members. PIs may only set
4269 attributes of slices or slivers at their sites, or of which they
4270 are members. Admins may set attributes of any slice or sliver.</P
4272 >Returns the new slice_attribute_id (> 0) if successful, faults
4297 : struct, API authentication structure </P
4307 : string, Authentication method to use </P
4315 >slice_id_or_name</CODE
4323 > int, Slice identifier </P
4327 > string, Slice attribute type name </P
4335 >attribute_type_id_or_name</CODE
4343 > int, Slice attribute type identifier </P
4347 > string, Slice attribute type name </P
4357 : string, Slice attribute value </P
4363 >node_id_or_hostname</CODE
4371 > int, Node identifier </P
4375 > string, Fully qualified hostname </P
4387 > int, New slice_attribute_id (> 0) if successful </P
4396 NAME="AddSliceAttributeType"
4397 >2.27. AddSliceAttributeType</A
4406 >AddSliceAttributeType (auth, attribute_type_fields)</P
4416 >Adds a new type of slice attribute. Any fields specified in
4417 attribute_type_fields are used, otherwise defaults are used.</P
4419 >Returns the new attribute_type_id (> 0) if successful, faults
4444 : struct, API authentication structure </P
4454 : string, Authentication method to use </P
4462 >attribute_type_fields</CODE
4474 : int, Minimum (least powerful) role that can set or change this attribute </P
4482 : string, Slice attribute type name </P
4490 : string, Slice attribute type description </P
4502 > int, New attribute_id (> 0) if successful </P
4511 NAME="AddSliceInstantiation"
4512 >2.28. AddSliceInstantiation</A
4521 >AddSliceInstantiation (auth, name)</P
4531 >Adds a new slice instantiation state.</P
4533 >Returns 1 if successful, faults otherwise.</P
4557 : struct, API authentication structure </P
4567 : string, Authentication method to use </P
4577 : string, Slice instantiation state </P
4587 > int, 1 if successful </P
4606 >AddSlice (auth, slice_fields)</P
4616 >Adds a new slice. Any fields specified in slice_fields are used,
4617 otherwise defaults are used.</P
4619 >Valid slice names are lowercase and begin with the login_base
4620 (slice prefix) of a valid site, followed by a single
4621 underscore. Thereafter, only letters, numbers, or additional
4622 underscores may be used.</P
4624 >PIs may only add slices associated with their own sites (i.e.,
4625 slice prefixes must always be the login_base of one of their
4628 >Returns the new slice_id (> 0) if successful, faults otherwise.</P
4652 : struct, API authentication structure </P
4662 : string, Authentication method to use </P
4682 : string, URL further describing this slice </P
4690 : int, Maximum number of nodes that can be assigned to this slice </P
4696 >instantiation</CODE
4698 : string, Slice instantiation state </P
4706 : string, Slice name </P
4714 : string, Slice description </P
4726 > int, New slice_id (> 0) if successful </P
4735 NAME="AddSliceToNodes"
4736 >2.30. AddSliceToNodes</A
4745 >AddSliceToNodes (auth, slice_id_or_name, node_id_or_hostname_list)</P
4755 >Adds the specified slice to the specified nodes. Nodes may be
4756 either local or foreign nodes.</P
4758 >If the slice is already associated with a node, no errors are
4761 >Returns 1 if successful, faults otherwise.</P
4785 : struct, API authentication structure </P
4795 : string, Authentication method to use </P
4803 >slice_id_or_name</CODE
4811 > int, Slice identifier </P
4815 > string, Slice name </P
4823 >node_id_or_hostname_list</CODE
4825 : array of int or string </P
4831 > int, Node identifier </P
4835 > string, Fully qualified hostname </P
4847 > int, 1 if successful </P
4866 >AuthCheck (auth)</P
4876 >Returns 1 if the user or node authenticated successfully, faults
4887 >admin, pi, user, tech, node</P
4901 : struct, API authentication structure </P
4911 : string, Authentication method to use </P
4923 > int, 1 if successful </P
4933 >2.32. BlacklistKey</A
4942 >BlacklistKey (auth, key_id)</P
4952 >Blacklists a key, disassociating it and all others identical to it
4953 from all accounts and preventing it from ever being added again.</P
4955 >WARNING: Identical keys associated with other accounts with also
4958 >Returns 1 if successful, faults otherwise.</P
4982 : struct, API authentication structure </P
4992 : string, Authentication method to use </P
5002 : int, Key identifier </P
5012 > int, 1 if successful </P
5021 NAME="BootGetNodeDetails"
5022 >2.33. BootGetNodeDetails</A
5031 >BootGetNodeDetails (auth)</P
5041 >Returns a set of details about the calling node, including a new
5042 node session value.</P
5066 : struct, API authentication structure </P
5076 : string, Authentication method to use, always 'hmac' </P
5084 : string, HMAC of node key and method call </P
5092 : int, Node identifier </P
5114 : string, Boot state </P
5122 : string, Make and model of the actual machine </P
5130 : string, Fully qualified hostname </P
5138 : array of struct </P
5148 : string, Network broadcast address </P
5156 : boolean, Is the primary interface for this node </P
5164 : string, Subnet address </P
5172 : string, IP address </P
5180 : string, IP address of primary DNS server </P
5188 : string, (Optional) Hostname </P
5196 : string, Subnet mask </P
5204 : string, IP address of primary gateway </P
5210 >nodenetwork_id</CODE
5212 : int, Node interface identifier </P
5220 : string, MAC address </P
5228 : int, Node associated with this interface </P
5236 : string, IP address of secondary DNS server </P
5244 : int, Bandwidth limit </P
5252 : string, Address type (e.g., 'ipv4') </P
5260 : string, Addressing method (e.g., 'static' or 'dhcp') </P
5270 : string, Session key </P
5281 NAME="BootNotifyOwners"
5282 >2.34. BootNotifyOwners</A
5291 >BootNotifyOwners (auth, message_id, include_pis, include_techs, include_support)</P
5301 >Notify the owners of the node, and/or support about an event that
5302 happened on the machine.</P
5304 >Returns 1 if successful.</P
5328 : struct, API authentication structure </P
5338 : string, Authentication method to use, always 'hmac' </P
5346 : string, HMAC of node key and method call </P
5354 : int, Node identifier </P
5364 : string, Message identifier </P
5372 : int, Notify PIs </P
5378 >include_techs</CODE
5380 : int, Notify technical contacts </P
5386 >include_support</CODE
5388 : int, Notify support </P
5398 > int, 1 if successful </P
5407 NAME="BootUpdateNode"
5408 >2.35. BootUpdateNode</A
5417 >BootUpdateNode (auth, node_fields)</P
5427 >Allows the calling node to update its own record. Only the primary
5428 network can be updated, and the node IP cannot be changed.</P
5430 >Returns 1 if updated successfully.</P
5454 : struct, API authentication structure </P
5464 : string, Authentication method to use, always 'hmac' </P
5472 : string, HMAC of node key and method call </P
5480 : int, Node identifier </P
5500 : string, Boot state </P
5506 >primary_network</CODE
5518 : string, Subnet address </P
5526 : string, IP address of secondary DNS server </P
5534 : string, IP address of primary DNS server </P
5542 : string, Subnet mask </P
5550 : string, Addressing method (e.g., 'static' or 'dhcp') </P
5558 : string, Network broadcast address </P
5566 : string, MAC address </P
5574 : string, IP address of primary gateway </P
5584 : string, Last known SSH host key </P
5596 > int, 1 if successful </P
5605 NAME="DeleteAddress"
5606 >2.36. DeleteAddress</A
5615 >DeleteAddress (auth, address_id)</P
5625 >Deletes an address.</P
5627 >PIs may only delete addresses from their own sites.</P
5629 >Returns 1 if successful, faults otherwise.</P
5653 : struct, API authentication structure </P
5663 : string, Authentication method to use </P
5673 : int, Address identifier </P
5683 > int, 1 if successful </P
5692 NAME="DeleteAddressTypeFromAddress"
5693 >2.37. DeleteAddressTypeFromAddress</A
5702 >DeleteAddressTypeFromAddress (auth, address_type_id_or_name, address_id)</P
5712 >Deletes an address type from the specified address.</P
5714 >PIs may only update addresses of their own sites.</P
5716 >Returns 1 if successful, faults otherwise.</P
5740 : struct, API authentication structure </P
5750 : string, Authentication method to use </P
5758 >address_type_id_or_name</CODE
5766 > int, Address type identifier </P
5770 > string, Address type </P
5780 : int, Address identifier </P
5790 > int, 1 if successful </P
5799 NAME="DeleteAddressType"
5800 >2.38. DeleteAddressType</A
5809 >DeleteAddressType (auth, address_type_id_or_name)</P
5819 >Deletes an address type.</P
5821 >Returns 1 if successful, faults otherwise.</P
5845 : struct, API authentication structure </P
5855 : string, Authentication method to use </P
5863 >address_type_id_or_name</CODE
5871 > int, Address type identifier </P
5875 > string, Address type </P
5887 > int, 1 if successful </P
5896 NAME="DeleteBootState"
5897 >2.39. DeleteBootState</A
5906 >DeleteBootState (auth, name)</P
5916 >Deletes a node boot state.</P
5918 >WARNING: This will cause the deletion of all nodes in this boot
5921 >Returns 1 if successful, faults otherwise.</P
5945 : struct, API authentication structure </P
5955 : string, Authentication method to use </P
5965 : string, Boot state </P
5975 > int, 1 if successful </P
5984 NAME="DeleteConfFileFromNodeGroup"
5985 >2.40. DeleteConfFileFromNodeGroup</A
5994 >DeleteConfFileFromNodeGroup (auth, conf_file_id, nodegroup_id_or_name)</P
6004 >Deletes a configuration file from the specified nodegroup. If the nodegroup
6005 is not linked to the configuration file, no errors are returned.</P
6007 >Returns 1 if successful, faults otherwise.</P
6031 : struct, API authentication structure </P
6041 : string, Authentication method to use </P
6051 : int, Configuration file identifier </P
6057 >nodegroup_id_or_name</CODE
6065 > int, Node group identifier </P
6069 > string, Node group name </P
6081 > int, 1 if successful </P
6090 NAME="DeleteConfFileFromNode"
6091 >2.41. DeleteConfFileFromNode</A
6100 >DeleteConfFileFromNode (auth, conf_file_id, node_id_or_hostname)</P
6110 >Deletes a configuration file from the specified node. If the node
6111 is not linked to the configuration file, no errors are returned.</P
6113 >Returns 1 if successful, faults otherwise.</P
6137 : struct, API authentication structure </P
6147 : string, Authentication method to use </P
6157 : int, Configuration file identifier </P
6163 >node_id_or_hostname</CODE
6171 > int, Node identifier </P
6175 > string, Fully qualified hostname </P
6187 > int, 1 if successful </P
6196 NAME="DeleteConfFile"
6197 >2.42. DeleteConfFile</A
6206 >DeleteConfFile (auth, conf_file_id)</P
6216 >Returns an array of structs containing details about node
6217 configuration files. If conf_file_ids is specified, only the
6218 specified configuration files will be queried.</P
6242 : struct, API authentication structure </P
6252 : string, Authentication method to use </P
6262 : int, Configuration file identifier </P
6272 > int, 1 if successful </P
6291 >DeleteKey (auth, key_id)</P
6303 >Non-admins may only delete their own keys.</P
6305 >Returns 1 if successful, faults otherwise.</P
6315 >admin, pi, tech, user</P
6329 : struct, API authentication structure </P
6339 : string, Authentication method to use </P
6349 : int, Key identifier </P
6359 > int, 1 if successful </P
6368 NAME="DeleteKeyType"
6369 >2.44. DeleteKeyType</A
6378 >DeleteKeyType (auth, name)</P
6388 >Deletes a key type.</P
6390 >WARNING: This will cause the deletion of all keys of this type.</P
6392 >Returns 1 if successful, faults otherwise.</P
6416 : struct, API authentication structure </P
6426 : string, Authentication method to use </P
6436 : string, Key type </P
6446 > int, 1 if successful </P
6455 NAME="DeleteMessage"
6456 >2.45. DeleteMessage</A
6465 >DeleteMessage (auth, message_id)</P
6475 >Deletes a message template.</P
6477 >Returns 1 if successful, faults otherwise.</P
6501 : struct, API authentication structure </P
6511 : string, Authentication method to use </P
6521 : string, Message identifier </P
6531 > int, 1 if successful </P
6540 NAME="DeleteNetworkMethod"
6541 >2.46. DeleteNetworkMethod</A
6550 >DeleteNetworkMethod (auth, name)</P
6560 >Deletes a network method.</P
6562 >WARNING: This will cause the deletion of all network interfaces
6563 that use this method.</P
6565 >Returns 1 if successful, faults otherwise.</P
6589 : struct, API authentication structure </P
6599 : string, Authentication method to use </P
6609 : string, Network method </P
6619 > int, 1 if successful </P
6628 NAME="DeleteNetworkType"
6629 >2.47. DeleteNetworkType</A
6638 >DeleteNetworkType (auth, name)</P
6648 >Deletes a network type.</P
6650 >WARNING: This will cause the deletion of all network interfaces
6651 that use this type.</P
6653 >Returns 1 if successful, faults otherwise.</P
6677 : struct, API authentication structure </P
6687 : string, Authentication method to use </P
6697 : string, Network type </P
6707 > int, 1 if successful </P
6716 NAME="DeleteNodeFromNodeGroup"
6717 >2.48. DeleteNodeFromNodeGroup</A
6726 >DeleteNodeFromNodeGroup (auth, node_id_or_hostname, nodegroup_id_or_name)</P
6736 >Removes a node from the specified node group.</P
6738 >Returns 1 if successful, faults otherwise.</P
6762 : struct, API authentication structure </P
6772 : string, Authentication method to use </P
6780 >node_id_or_hostname</CODE
6788 > int, Node identifier </P
6792 > string, Fully qualified hostname </P
6800 >nodegroup_id_or_name</CODE
6808 > int, Node group identifier </P
6812 > string, Node group name </P
6824 > int, 1 if successful </P
6833 NAME="DeleteNodeFromPCU"
6834 >2.49. DeleteNodeFromPCU</A
6843 >DeleteNodeFromPCU (auth, node_id_or_hostname, pcu_id)</P
6853 >Deletes a node from a PCU.</P
6855 >Non-admins may only update PCUs at their sites.</P
6857 >Returns 1 if successful, faults otherwise.</P
6881 : struct, API authentication structure </P
6891 : string, Authentication method to use </P
6899 >node_id_or_hostname</CODE
6907 > int, Node identifier </P
6911 > string, Fully qualified hostname </P
6921 : int, PCU identifier </P
6931 > int, 1 if successful </P
6940 NAME="DeleteNodeGroup"
6941 >2.50. DeleteNodeGroup</A
6950 >DeleteNodeGroup (auth, node_group_id_or_name)</P
6960 >Delete an existing Node Group.</P
6962 >ins may delete any node group</P
6964 >Returns 1 if successful, faults otherwise.</P
6988 : struct, API authentication structure </P
6998 : string, Authentication method to use </P
7006 >node_group_id_or_name</CODE
7014 > int, Node group identifier </P
7018 > string, Node group name </P
7030 > int, 1 if successful </P
7039 NAME="DeleteNodeNetwork"
7040 >2.51. DeleteNodeNetwork</A
7049 >DeleteNodeNetwork (auth, nodenetwork_id)</P
7059 >Deletes an existing node network interface.</P
7061 >Admins may delete any node network. PIs and techs may only delete
7062 node network interfaces associated with nodes at their sites.</P
7064 >Returns 1 if successful, faults otherwise.</P
7088 : struct, API authentication structure </P
7098 : string, Authentication method to use </P
7106 >nodenetwork_id</CODE
7108 : int, Node interface identifier </P
7118 > int, 1 if successful </P
7128 >2.52. DeleteNode</A
7137 >DeleteNode (auth, node_id_or_hostname)</P
7147 >Mark an existing node as deleted.</P
7149 >PIs and techs may only delete nodes at their own sites. ins may
7150 delete nodes at any site.</P
7152 >Returns 1 if successful, faults otherwise.</P
7176 : struct, API authentication structure </P
7186 : string, Authentication method to use </P
7194 >node_id_or_hostname</CODE
7202 > int, Node identifier </P
7206 > string, Fully qualified hostname </P
7218 > int, 1 if successful </P
7237 >DeletePCU (auth, pcu_id)</P
7249 >Non-admins may only delete PCUs at their sites.</P
7251 >Returns 1 if successful, faults otherwise.</P
7275 : struct, API authentication structure </P
7285 : string, Authentication method to use </P
7295 : int, PCU identifier </P
7305 > int, 1 if successful </P
7315 >2.54. DeletePeer</A
7324 >DeletePeer (auth, peer_id_or_name)</P
7334 >Mark an existing peer as deleted. All entities (e.g., slices,
7335 keys, nodes, etc.) for which this peer is authoritative will also
7336 be deleted or marked as deleted.</P
7338 >Returns 1 if successful, faults otherwise.</P
7362 : struct, API authentication structure </P
7372 : string, Authentication method to use </P
7380 >peer_id_or_name</CODE
7388 > int, Peer identifier </P
7392 > string, Peer name </P
7404 > int, 1 if successful </P
7413 NAME="DeletePersonFromSite"
7414 >2.55. DeletePersonFromSite</A
7423 >DeletePersonFromSite (auth, person_id_or_email, site_id_or_login_base)</P
7433 >Removes the specified person from the specified site. If the
7434 person is not a member of the specified site, no error is
7437 >Returns 1 if successful, faults otherwise.</P
7461 : struct, API authentication structure </P
7471 : string, Authentication method to use </P
7479 >person_id_or_email</CODE
7487 > int, User identifier </P
7491 > string, Primary e-mail address </P
7499 >site_id_or_login_base</CODE
7507 > int, Site identifier </P
7511 > string, Site slice prefix </P
7523 > int, 1 if successful </P
7532 NAME="DeletePersonFromSlice"
7533 >2.56. DeletePersonFromSlice</A
7542 >DeletePersonFromSlice (auth, person_id_or_email, slice_id_or_name)</P
7552 >Deletes the specified person from the specified slice. If the person is
7553 not a member of the slice, no errors are returned.</P
7555 >Returns 1 if successful, faults otherwise.</P
7579 : struct, API authentication structure </P
7589 : string, Authentication method to use </P
7597 >person_id_or_email</CODE
7605 > int, User identifier </P
7609 > string, Primary e-mail address </P
7617 >slice_id_or_name</CODE
7625 > int, Slice identifier </P
7629 > string, Slice name </P
7641 > int, 1 if successful </P
7651 >2.57. DeletePerson</A
7660 >DeletePerson (auth, person_id_or_email)</P
7670 >Mark an existing account as deleted.</P
7672 >Users and techs can only delete themselves. PIs can only delete
7673 themselves and other non-PIs at their sites. ins can delete
7676 >Returns 1 if successful, faults otherwise.</P
7686 >admin, pi, user, tech</P
7700 : struct, API authentication structure </P
7710 : string, Authentication method to use </P
7718 >person_id_or_email</CODE
7726 > int, User identifier </P
7730 > string, Primary e-mail address </P
7742 > int, 1 if successful </P
7751 NAME="DeleteRoleFromPerson"
7752 >2.58. DeleteRoleFromPerson</A
7761 >DeleteRoleFromPerson (auth, role_id_or_name, person_id_or_email)</P
7771 >Deletes the specified role from the person.</P
7773 >PIs can only revoke the tech and user roles from users and techs
7774 at their sites. ins can revoke any role from any user.</P
7776 >Returns 1 if successful, faults otherwise.</P
7800 : struct, API authentication structure </P
7810 : string, Authentication method to use </P
7818 >role_id_or_name</CODE
7826 > int, Role identifier </P
7830 > string, Role </P
7838 >person_id_or_email</CODE
7846 > int, User identifier </P
7850 > string, Primary e-mail address </P
7862 > int, 1 if successful </P
7872 >2.59. DeleteRole</A
7881 >DeleteRole (auth, role_id_or_name)</P
7893 >WARNING: This will remove the specified role from all accounts
7894 that possess it, and from all node and slice attributes that refer
7897 >Returns 1 if successful, faults otherwise.</P
7921 : struct, API authentication structure </P
7931 : string, Authentication method to use </P
7939 >role_id_or_name</CODE
7947 > int, Role identifier </P
7951 > string, Role </P
7963 > int, 1 if successful </P
7972 NAME="DeleteSession"
7973 >2.60. DeleteSession</A
7982 >DeleteSession (auth)</P
7992 >Invalidates the current session.</P
7994 >Returns 1 if successful.</P
8004 >admin, pi, user, tech, node</P
8018 : struct, API authentication structure </P
8028 : string, Session key </P
8036 : string, Authentication method to use, always 'session' </P
8048 > int, 1 if successful </P
8058 >2.61. DeleteSite</A
8067 >DeleteSite (auth, site_id_or_login_base)</P
8077 >Mark an existing site as deleted. The accounts of people who are
8078 not members of at least one other non-deleted site will also be
8079 marked as deleted. Nodes, PCUs, and slices associated with the
8080 site will be deleted.</P
8082 >Returns 1 if successful, faults otherwise.</P
8106 : struct, API authentication structure </P
8116 : string, Authentication method to use </P
8124 >site_id_or_login_base</CODE
8132 > int, Site identifier </P
8136 > string, Site slice prefix </P
8148 > int, 1 if successful </P
8157 NAME="DeleteSliceAttribute"
8158 >2.62. DeleteSliceAttribute</A
8167 >DeleteSliceAttribute (auth, slice_attribute_id)</P
8177 >Deletes the specified slice or sliver attribute.</P
8179 >Attributes may require the caller to have a particular role in
8180 order to be deleted. Users may only delete attributes of
8181 slices or slivers of which they are members. PIs may only delete
8182 attributes of slices or slivers at their sites, or of which they
8183 are members. Admins may delete attributes of any slice or sliver.</P
8185 >Returns 1 if successful, faults otherwise.</P
8209 : struct, API authentication structure </P
8219 : string, Authentication method to use </P
8227 >slice_attribute_id</CODE
8229 : int, Slice attribute identifier </P
8239 > int, 1 if successful </P
8248 NAME="DeleteSliceAttributeType"
8249 >2.63. DeleteSliceAttributeType</A
8258 >DeleteSliceAttributeType (auth, attribute_type_id_or_name)</P
8268 >Deletes the specified slice attribute.</P
8270 >Returns 1 if successful, faults otherwise.</P
8294 : struct, API authentication structure </P
8304 : string, Authentication method to use </P
8312 >attribute_type_id_or_name</CODE
8320 > int, Slice attribute type identifier </P
8324 > string, Slice attribute type name </P
8336 > int, 1 if successful </P
8345 NAME="DeleteSliceFromNodes"
8346 >2.64. DeleteSliceFromNodes</A
8355 >DeleteSliceFromNodes (auth, slice_id_or_name, node_id_or_hostname_list)</P
8365 >Deletes the specified slice from the specified nodes. If the slice is
8366 not associated with a node, no errors are returned.</P
8368 >Returns 1 if successful, faults otherwise.</P
8392 : struct, API authentication structure </P
8402 : string, Authentication method to use </P
8410 >slice_id_or_name</CODE
8418 > int, Slice identifier </P
8422 > string, Slice name </P
8430 >node_id_or_hostname_list</CODE
8432 : array of int or string </P
8438 > int, Node identifier </P
8442 > string, Fully qualified hostname </P
8454 > int, 1 if successful </P
8463 NAME="DeleteSliceInstantiation"
8464 >2.65. DeleteSliceInstantiation</A
8473 >DeleteSliceInstantiation (auth, instantiation)</P
8483 >Deletes a slice instantiation state.</P
8485 >WARNING: This will cause the deletion of all slices of this instantiation.</P
8487 >Returns 1 if successful, faults otherwise.</P
8511 : struct, API authentication structure </P
8521 : string, Authentication method to use </P
8529 >instantiation</CODE
8531 : string, Slice instantiation state </P
8541 > int, 1 if successful </P
8551 >2.66. DeleteSlice</A
8560 >DeleteSlice (auth, slice_id_or_name)</P
8570 >Deletes the specified slice.</P
8572 >Users may only delete slices of which they are members. PIs may
8573 delete any of the slices at their sites, or any slices of which
8574 they are members. Admins may delete any slice.</P
8576 >Returns 1 if successful, faults otherwise.</P
8600 : struct, API authentication structure </P
8610 : string, Authentication method to use </P
8618 >slice_id_or_name</CODE
8626 > int, Slice identifier </P
8630 > string, Slice name </P
8642 > int, 1 if successful </P
8652 >2.67. GetAddresses</A
8661 >GetAddresses (auth, address_filter, return_fields)</P
8671 >Returns an array of structs containing details about addresses. If
8672 address_filter is specified and is an array of address
8673 identifiers, or a struct of address attributes, only addresses
8674 matching the filter will be returned. If return_fields is
8675 specified, only the specified details will be returned.</P
8685 >admin, pi, user, tech, node</P
8699 : struct, API authentication structure </P
8709 : string, Authentication method to use </P
8717 >address_filter</CODE
8719 : array of int or struct </P
8725 > array of int, Address identifier </P
8729 > struct, Attribute filter </P
8739 : string or array of string </P
8745 > string, City </P
8749 > array of string, City </P
8759 : int or array of int </P
8765 > int, Address identifier </P
8769 > array of int, Address identifier </P
8779 : string or array of string </P
8785 > string, Country </P
8789 > array of string, Country </P
8799 : string or array of string </P
8805 > string, Address line 3 </P
8809 > array of string, Address line 3 </P
8819 : string or array of string </P
8825 > string, Address line 2 </P
8829 > array of string, Address line 2 </P
8839 : string or array of string </P
8845 > string, Address line 1 </P
8849 > array of string, Address line 1 </P
8859 : string or array of string </P
8865 > string, State or province </P
8869 > array of string, State or province </P
8879 : string or array of string </P
8885 > string, Postal code </P
8889 > array of string, Postal code </P
8901 >return_fields</CODE
8903 : array, List of fields to return </P
8921 > array of struct </P
8939 : int, Address identifier </P
8947 : string, Country </P
8955 : string, Address line 3 </P
8963 : string, Address line 2 </P
8971 : string, Address line 1 </P
8977 >address_type_ids</CODE
8979 : array, Address type identifiers </P
8995 : string, State or province </P
9003 : string, Postal code </P
9009 >address_types</CODE
9011 : array, Address types </P
9030 NAME="GetAddressTypes"
9031 >2.68. GetAddressTypes</A
9040 >GetAddressTypes (auth, address_type_filter, return_fields)</P
9050 >Returns an array of structs containing details about address
9051 types. If address_type_filter is specified and is an array of
9052 address type identifiers, or a struct of address type attributes,
9053 only address types matching the filter will be returned. If
9054 return_fields is specified, only the specified details will be
9065 >admin, pi, user, tech, node</P
9079 : struct, API authentication structure </P
9089 : string, Authentication method to use </P
9097 >address_type_filter</CODE
9099 : array of int or string or struct </P
9105 > array of int or string </P
9111 > int, Address type identifier </P
9115 > string, Address type </P
9121 > struct, Attribute filter </P
9131 : string or array of string </P
9137 > string, Address type </P
9141 > array of string, Address type </P
9149 >address_type_id</CODE
9151 : int or array of int </P
9157 > int, Address type identifier </P
9161 > array of int, Address type identifier </P
9171 : string or array of string </P
9177 > string, Address type description </P
9181 > array of string, Address type description </P
9193 >return_fields</CODE
9195 : array, List of fields to return </P
9213 > array of struct </P
9223 : string, Address type </P
9229 >address_type_id</CODE
9231 : int, Address type identifier </P
9239 : string, Address type description </P
9250 NAME="GetBootStates"
9251 >2.69. GetBootStates</A
9260 >GetBootStates (auth)</P
9270 >Returns an array of all valid node boot states.</P
9280 >admin, pi, user, tech, node</P
9294 : struct, API authentication structure </P
9304 : string, Authentication method to use </P
9316 > array of string, Boot state </P
9326 >2.70. GetConfFiles</A
9335 >GetConfFiles (auth, conf_file_filter, return_fields)</P
9345 >Returns an array of structs containing details about configuration
9346 files. If conf_file_filter is specified and is an array of
9347 configuration file identifiers, or a struct of configuration file
9348 attributes, only configuration files matching the filter will be
9349 returned. If return_fields is specified, only the specified
9350 details will be returned.</P
9374 : struct, API authentication structure </P
9384 : string, Authentication method to use </P
9392 >conf_file_filter</CODE
9394 : array of int or struct </P
9400 > array of int, Configuration file identifier </P
9404 > struct, Attribute filter </P
9414 : string or array of string </P
9420 > string, chown(1) owner </P
9424 > array of string, chown(1) owner </P
9432 >postinstall_cmd</CODE
9434 : string or array of string </P
9440 > string, Shell command to execute after installing </P
9444 > array of string, Shell command to execute after installing </P
9454 : string or array of string </P
9460 > string, Shell command to execute if any error occurs </P
9464 > array of string, Shell command to execute if any error occurs </P
9472 >preinstall_cmd</CODE
9474 : string or array of string </P
9480 > string, Shell command to execute prior to installing </P
9484 > array of string, Shell command to execute prior to installing </P
9494 : int or array of int </P
9500 > int, List of nodes linked to this file </P
9504 > array of int, List of nodes linked to this file </P
9514 : string or array of string </P
9520 > string, Absolute path where file should be installed </P
9524 > array of string, Absolute path where file should be installed </P
9532 >ignore_cmd_errors</CODE
9534 : boolean or array of boolean </P
9540 > boolean, Install file anyway even if an error occurs </P
9544 > array of boolean, Install file anyway even if an error occurs </P
9554 : boolean or array of boolean </P
9560 > boolean, Configuration file is active </P
9564 > array of boolean, Configuration file is active </P
9574 : int or array of int </P
9580 > int, Configuration file identifier </P
9584 > array of int, Configuration file identifier </P
9592 >file_permissions</CODE
9594 : string or array of string </P
9600 > string, chmod(1) permissions </P
9604 > array of string, chmod(1) permissions </P
9614 : string or array of string </P
9620 > string, Relative path on the boot server where file can be downloaded </P
9624 > array of string, Relative path on the boot server where file can be downloaded </P
9632 >nodegroup_ids</CODE
9634 : int or array of int </P
9640 > int, List of node groups linked to this file </P
9644 > array of int, List of node groups linked to this file </P
9652 >always_update</CODE
9654 : boolean or array of boolean </P
9660 > boolean, Always attempt to install file even if unchanged </P
9664 > array of boolean, Always attempt to install file even if unchanged </P
9674 : string or array of string </P
9680 > string, chgrp(1) owner </P
9684 > array of string, chgrp(1) owner </P
9696 >return_fields</CODE
9698 : array, List of fields to return </P
9716 > array of struct </P
9726 : string, chown(1) owner </P
9732 >postinstall_cmd</CODE
9734 : string, Shell command to execute after installing </P
9742 : string, Shell command to execute if any error occurs </P
9748 >preinstall_cmd</CODE
9750 : string, Shell command to execute prior to installing </P
9758 : int, List of nodes linked to this file </P
9766 : string, Absolute path where file should be installed </P
9772 >ignore_cmd_errors</CODE
9774 : boolean, Install file anyway even if an error occurs </P
9782 : boolean, Configuration file is active </P
9790 : int, Configuration file identifier </P
9796 >file_permissions</CODE
9798 : string, chmod(1) permissions </P
9806 : string, Relative path on the boot server where file can be downloaded </P
9812 >nodegroup_ids</CODE
9814 : int, List of node groups linked to this file </P
9820 >always_update</CODE
9822 : boolean, Always attempt to install file even if unchanged </P
9830 : string, chgrp(1) owner </P
9851 >GetEvents (auth, event_filter, return_fields)</P
9861 >Returns an array of structs containing details about events and
9862 faults. If event_filter is specified and is an array of event
9863 identifiers, or a struct of event attributes, only events matching
9864 the filter will be returned. If return_fields is specified, only the
9865 specified details will be returned.</P
9889 : struct, API authentication structure </P
9899 : string, Authentication method to use </P
9909 : array of int or struct </P
9915 > array of int, Event identifier </P
9919 > struct, Attribute filter </P
9929 : int or array of int </P
9935 > int, Event fault code </P
9939 > array of int, Event fault code </P
9949 : int or array of int </P
9955 > int, Event identifier </P
9959 > array of int, Event identifier </P
9969 : string or array of string </P
9975 > string, What type of object is this event affecting </P
9979 > array of string, What type of object is this event affecting </P
9989 : int or array of int </P
9995 > int, Identifier of node responsible for event, if any </P
9999 > array of int, Identifier of node responsible for event, if any </P
10009 : string or array of string </P
10015 > string, Call responsible for this event, including paramters </P
10019 > array of string, Call responsible for this event, including paramters </P
10029 : int or array of int </P
10035 > int, Date and time that the event took place, in seconds since UNIX epoch </P
10039 > array of int, Date and time that the event took place, in seconds since UNIX epoch </P
10049 : int or array of int </P
10055 > int, Identifier of person responsible for event, if any </P
10059 > array of int, Identifier of person responsible for event, if any </P
10069 : string or array of string </P
10075 > string, High level description of this event </P
10079 > array of string, High level description of this event </P
10089 : double or array of double </P
10095 > double, Runtime of event </P
10099 > array of double, Runtime of event </P
10109 : string or array of string </P
10115 > string, Call responsible for this event </P
10119 > array of string, Call responsible for this event </P
10131 >return_fields</CODE
10133 : array, List of fields to return </P
10151 > array of struct </P
10161 : int, Event fault code </P
10169 : int, Event identifier </P
10177 : string, What type of object is this event affecting </P
10185 : array, IDs of objects affected by this event </P
10201 : int, Identifier of node responsible for event, if any </P
10209 : string, Call responsible for this event, including paramters </P
10217 : int, Date and time that the event took place, in seconds since UNIX epoch </P
10225 : int, Identifier of person responsible for event, if any </P
10233 : string, High level description of this event </P
10241 : double, Runtime of event </P
10249 : string, Call responsible for this event </P
10270 >GetKeys (auth, key_filter, return_fields)</P
10280 >Returns an array of structs containing details about keys. If
10281 key_filter is specified and is an array of key identifiers, or a
10282 struct of key attributes, only keys matching the filter will be
10283 returned. If return_fields is specified, only the specified
10284 details will be returned.</P
10286 >Admin may query all keys. Non-admins may only query their own
10297 >admin, pi, user, tech, node</P
10311 : struct, API authentication structure </P
10321 : string, Authentication method to use </P
10331 : array of int or struct </P
10337 > array of int </P
10343 > int, Key identifier </P
10349 > struct, Attribute filter </P
10359 : int or array of int </P
10365 > int, Foreign key identifier at peer </P
10369 > array of int, Foreign key identifier at peer </P
10379 : string or array of string </P
10385 > string, Key type </P
10389 > array of string, Key type </P
10399 : string or array of string </P
10405 > string, Key value </P
10409 > array of string, Key value </P
10419 : int or array of int </P
10425 > int, User to which this key belongs </P
10429 > array of int, User to which this key belongs </P
10439 : int or array of int </P
10445 > int, Key identifier </P
10449 > array of int, Key identifier </P
10459 : int or array of int </P
10465 > int, Peer to which this key belongs </P
10469 > array of int, Peer to which this key belongs </P
10481 >return_fields</CODE
10483 : array, List of fields to return </P
10501 > array of struct </P
10511 : int, Peer to which this key belongs </P
10519 : string, Key type </P
10527 : string, Key value </P
10535 : int, User to which this key belongs </P
10543 : int, Key identifier </P
10551 : int, Foreign key identifier at peer </P
10563 >2.73. GetKeyTypes</A
10572 >GetKeyTypes (auth)</P
10582 >Returns an array of all valid key types.</P
10592 >admin, pi, user, tech, node</P
10606 : struct, API authentication structure </P
10616 : string, Authentication method to use </P
10628 > array of string, Key type </P
10638 >2.74. GetMessages</A
10647 >GetMessages (auth, message_filter, return_fields)</P
10657 >Returns an array of structs containing details about message
10658 templates. If message template_filter is specified and is an array
10659 of message template identifiers, or a struct of message template
10660 attributes, only message templates matching the filter will be
10661 returned. If return_fields is specified, only the specified
10662 details will be returned.</P
10686 : struct, API authentication structure </P
10696 : string, Authentication method to use </P
10704 >message_filter</CODE
10706 : array of string or struct </P
10712 > array of string, Message identifier </P
10716 > struct, Attribute filter </P
10726 : boolean or array of boolean </P
10732 > boolean, Message is enabled </P
10736 > array of boolean, Message is enabled </P
10746 : string or array of string </P
10752 > string, Message identifier </P
10756 > array of string, Message identifier </P
10766 : string or array of string </P
10772 > string, Message template </P
10776 > array of string, Message template </P
10786 : string or array of string </P
10792 > string, Message summary </P
10796 > array of string, Message summary </P
10808 >return_fields</CODE
10810 : array, List of fields to return </P
10828 > array of struct </P
10838 : boolean, Message is enabled </P
10846 : string, Message identifier </P
10854 : string, Message template </P
10862 : string, Message summary </P
10873 NAME="GetNetworkMethods"
10874 >2.75. GetNetworkMethods</A
10883 >GetNetworkMethods (auth)</P
10893 >Returns a list of all valid network methods.</P
10903 >admin, pi, user, tech, node</P
10917 : struct, API authentication structure </P
10927 : string, Authentication method to use </P
10939 > array of string, Network method </P
10948 NAME="GetNetworkTypes"
10949 >2.76. GetNetworkTypes</A
10958 >GetNetworkTypes (auth)</P
10968 >Returns a list of all valid network types.</P
10978 >admin, pi, user, tech, node</P
10992 : struct, API authentication structure </P
11002 : string, Authentication method to use </P
11014 > array of string, Network type </P
11023 NAME="GetNodeGroups"
11024 >2.77. GetNodeGroups</A
11033 >GetNodeGroups (auth, nodegroup_filter, return_fields)</P
11043 >Returns an array of structs containing details about node groups.
11044 If nodegroup_filter is specified and is an array of node group
11045 identifiers or names, or a struct of node group attributes, only
11046 node groups matching the filter will be returned. If return_fields
11047 is specified, only the specified details will be returned.</P
11057 >admin, pi, user, tech, node, anonymous</P
11071 : struct, API authentication structure </P
11081 : string, Authentication method to use </P
11089 >nodegroup_filter</CODE
11091 : array of int or string or struct </P
11097 > array of int or string </P
11103 > int, Node group identifier </P
11107 > string, Node group name </P
11113 > struct, Attribute filter </P
11121 >nodegroup_id</CODE
11123 : int or array of int </P
11129 > int, Node group identifier </P
11133 > array of int, Node group identifier </P
11143 : string or array of string </P
11149 > string, Node group name </P
11153 > array of string, Node group name </P
11163 : string or array of string </P
11169 > string, Node group description </P
11173 > array of string, Node group description </P
11185 >return_fields</CODE
11187 : array, List of fields to return </P
11205 > array of struct </P
11215 : array, List of nodes in this node group </P
11229 >nodegroup_id</CODE
11231 : int, Node group identifier </P
11239 : string, Node group name </P
11245 >conf_file_ids</CODE
11247 : array, List of configuration files specific to this node group </P
11263 : string, Node group description </P
11274 NAME="GetNodeNetworks"
11275 >2.78. GetNodeNetworks</A
11284 >GetNodeNetworks (auth, nodenetwork_filter, return_fields)</P
11294 >Returns an array of structs containing details about node network
11295 interfacess. If nodenetworks_filter is specified and is an array
11296 of node network identifiers, or a struct of node network
11297 attributes, only node network interfaces matching the filter will
11298 be returned. If return_fields is specified, only the
11299 specified details will be returned.</P
11309 >admin, pi, user, tech, node, anonymous</P
11323 : struct, API authentication structure </P
11333 : string, Authentication method to use </P
11341 >nodenetwork_filter</CODE
11343 : array of int or struct </P
11349 > array of int, Node interface identifier </P
11353 > struct, Attribute filter </P
11361 >nodenetwork_id</CODE
11363 : int or array of int </P
11369 > int, Node interface identifier </P
11373 > array of int, Node interface identifier </P
11383 : string or array of string </P
11389 > string, Subnet address </P
11393 > array of string, Subnet address </P
11403 : boolean or array of boolean </P
11409 > boolean, Is the primary interface for this node </P
11413 > array of boolean, Is the primary interface for this node </P
11423 : string or array of string </P
11429 > string, IP address of primary DNS server </P
11433 > array of string, IP address of primary DNS server </P
11443 : string or array of string </P
11449 > string, (Optional) Hostname </P
11453 > array of string, (Optional) Hostname </P
11463 : string or array of string </P
11469 > string, MAC address </P
11473 > array of string, MAC address </P
11483 : int or array of int </P
11489 > int, Bandwidth limit </P
11493 > array of int, Bandwidth limit </P
11503 : string or array of string </P
11509 > string, Network broadcast address </P
11513 > array of string, Network broadcast address </P
11523 : string or array of string </P
11529 > string, Addressing method (e.g., 'static' or 'dhcp') </P
11533 > array of string, Addressing method (e.g., 'static' or 'dhcp') </P
11543 : string or array of string </P
11549 > string, Subnet mask </P
11553 > array of string, Subnet mask </P
11563 : int or array of int </P
11569 > int, Node associated with this interface </P
11573 > array of int, Node associated with this interface </P
11583 : string or array of string </P
11589 > string, IP address of secondary DNS server </P
11593 > array of string, IP address of secondary DNS server </P
11603 : string or array of string </P
11609 > string, IP address </P
11613 > array of string, IP address </P
11623 : string or array of string </P
11629 > string, Address type (e.g., 'ipv4') </P
11633 > array of string, Address type (e.g., 'ipv4') </P
11643 : string or array of string </P
11649 > string, IP address of primary gateway </P
11653 > array of string, IP address of primary gateway </P
11665 >return_fields</CODE
11667 : array, List of fields to return </P
11685 > array of struct </P
11695 : string, Network broadcast address </P
11703 : boolean, Is the primary interface for this node </P
11711 : string, Subnet address </P
11719 : string, IP address </P
11727 : string, IP address of primary DNS server </P
11735 : string, (Optional) Hostname </P
11743 : string, Subnet mask </P
11751 : string, IP address of primary gateway </P
11757 >nodenetwork_id</CODE
11759 : int, Node interface identifier </P
11767 : string, MAC address </P
11775 : int, Node associated with this interface </P
11783 : string, IP address of secondary DNS server </P
11791 : int, Bandwidth limit </P
11799 : string, Address type (e.g., 'ipv4') </P
11807 : string, Addressing method (e.g., 'static' or 'dhcp') </P
11828 >GetNodes (auth, node_filter, return_fields)</P
11838 >Returns an array of structs containing details about nodes. If
11839 node_filter is specified and is an array of node identifiers or
11840 hostnames, or a struct of node attributes, only nodes matching the
11841 filter will be returned. If return_fields is specified, only the
11842 specified details will be returned.</P
11844 >Some fields may only be viewed by admins.</P
11854 >admin, pi, user, tech, node, anonymous</P
11868 : struct, API authentication structure </P
11878 : string, Authentication method to use </P
11888 : array of int or string or struct </P
11894 > array of int or string </P
11900 > int, Node identifier </P
11904 > string, Fully qualified hostname </P
11910 > struct, Attribute filter </P
11918 >last_updated</CODE
11920 : int or array of int </P
11926 > int, Date and time when node entry was created </P
11930 > array of int, Date and time when node entry was created </P
11940 : string or array of string </P
11946 > string, Apparent Boot CD version </P
11950 > array of string, Apparent Boot CD version </P
11960 : string or array of string </P
11966 > string, Boot state </P
11970 > array of string, Boot state </P
11978 >peer_node_id</CODE
11980 : int or array of int </P
11986 > int, Foreign node identifier at peer </P
11990 > array of int, Foreign node identifier at peer </P
12000 : string or array of string </P
12006 > string, Fully qualified hostname </P
12010 > array of string, Fully qualified hostname </P
12020 : int or array of int </P
12026 > int, Site at which this node is located </P
12030 > array of int, Site at which this node is located </P
12040 : string or array of string </P
12046 > string, (Admin only) Random value generated by the node at last boot </P
12050 > array of string, (Admin only) Random value generated by the node at last boot </P
12060 : string or array of string </P
12066 > string, (Admin only) Node session value </P
12070 > array of string, (Admin only) Node session value </P
12080 : string or array of string </P
12086 > string, Last known SSH host key </P
12090 > array of string, Last known SSH host key </P
12100 : string or array of string </P
12106 > string, (Admin only) Node key </P
12110 > array of string, (Admin only) Node key </P
12118 >date_created</CODE
12120 : int or array of int </P
12126 > int, Date and time when node entry was created </P
12130 > array of int, Date and time when node entry was created </P
12140 : string or array of string </P
12146 > string, Make and model of the actual machine </P
12150 > array of string, Make and model of the actual machine </P
12160 : int or array of int </P
12166 > int, Peer to which this node belongs </P
12170 > array of int, Peer to which this node belongs </P
12180 : int or array of int </P
12186 > int, Node identifier </P
12190 > array of int, Node identifier </P
12202 >return_fields</CODE
12204 : array, List of fields to return </P
12222 > array of struct </P
12232 : string, (Admin only) Node session value </P
12240 : array, List of PCUs that control this node </P
12254 >nodegroup_ids</CODE
12256 : array, List of node groups that this node is in </P
12270 >last_updated</CODE
12272 : int, Date and time when node entry was created </P
12280 : string, Apparent Boot CD version </P
12286 >nodenetwork_ids</CODE
12288 : array, List of network interfaces that this node has </P
12304 : string, Boot state </P
12310 >peer_node_id</CODE
12312 : int, Foreign node identifier at peer </P
12320 : string, Fully qualified hostname </P
12328 : int, Site at which this node is located </P
12336 : array, List of PCU ports that this node is connected to </P
12352 : array, List of slices on this node </P
12368 : string, (Admin only) Random value generated by the node at last boot </P
12376 : int, Node identifier </P
12384 : string, (Admin only) Node key </P
12390 >date_created</CODE
12392 : int, Date and time when node entry was created </P
12400 : string, Make and model of the actual machine </P
12408 : int, Peer to which this node belongs </P
12414 >conf_file_ids</CODE
12416 : array, List of configuration files specific to this node </P
12432 : string, Last known SSH host key </P
12453 >GetPCUs (auth, pcu_filter, return_fields)</P
12463 >Returns an array of structs containing details about power control
12464 units (PCUs). If pcu_filter is specified and is an array of PCU
12465 identifiers, or a struct of PCU attributes, only PCUs matching the
12466 filter will be returned. If return_fields is specified, only the
12467 specified details will be returned.</P
12469 >Admin may query all PCUs. Non-admins may only query the PCUs at
12480 >admin, pi, tech, node</P
12494 : struct, API authentication structure </P
12504 : string, Authentication method to use </P
12514 : array of int or struct </P
12520 > array of int, PCU identifier </P
12524 > struct, Attribute filter </P
12534 : string or array of string </P
12540 > string, PCU username </P
12544 > array of string, PCU username </P
12554 : string or array of string </P
12560 > string, PCU protocol, e.g. ssh, https, telnet </P
12564 > array of string, PCU protocol, e.g. ssh, https, telnet </P
12574 : string or array of string </P
12580 > string, PCU IP address </P
12584 > array of string, PCU IP address </P
12594 : int or array of int </P
12600 > int, PCU identifier </P
12604 > array of int, PCU identifier </P
12614 : string or array of string </P
12620 > string, PCU hostname </P
12624 > array of string, PCU hostname </P
12634 : int or array of int </P
12640 > int, Identifier of site where PCU is located </P
12644 > array of int, Identifier of site where PCU is located </P
12654 : string or array of string </P
12660 > string, PCU model string </P
12664 > array of string, PCU model string </P
12674 : string or array of string </P
12680 > string, PCU username </P
12684 > array of string, PCU username </P
12694 : string or array of string </P
12700 > string, Miscellaneous notes </P
12704 > array of string, Miscellaneous notes </P
12716 >return_fields</CODE
12718 : array, List of fields to return </P
12736 > array of struct </P
12746 : string, PCU username </P
12754 : string, PCU protocol, e.g. ssh, https, telnet </P
12762 : array, List of nodes that this PCU controls </P
12778 : string, PCU IP address </P
12786 : int, PCU identifier </P
12794 : string, PCU hostname </P
12802 : int, Identifier of site where PCU is located </P
12810 : array, List of the port numbers that each node is connected to </P
12826 : string, PCU model string </P
12834 : string, PCU username </P
12842 : string, Miscellaneous notes </P
12854 >2.81. GetPeerData</A
12863 >GetPeerData (auth)</P
12873 >Returns lists of local objects that a peer should cache in its
12874 database as foreign objects. Also returns the list of foreign
12875 nodes in this database, for which the calling peer is
12876 authoritative, to assist in synchronization of slivers.</P
12878 >See the implementation of RefreshPeer for how this data is used.</P
12902 : struct, API authentication structure </P
12912 : string, Authentication method to use </P
12934 : array, List of local slices </P
12950 : array, List of local keys </P
12966 : array, List of local sites </P
12982 : array, List of local users </P
12998 : array, List of local nodes </P
13014 : double, (Debug) Database fetch time </P
13026 >2.82. GetPeerName</A
13035 >GetPeerName (auth)</P
13045 >Returns this peer's name, as defined in the config as PLC_NAME</P
13055 >admin, peer, node</P
13069 : struct, API authentication structure </P
13079 : string, Authentication method to use </P
13091 > string, Peer name </P
13110 >GetPeers (auth, peer_filter, return_fields)</P
13120 >Returns an array of structs containing details about peers. If
13121 person_filter is specified and is an array of peer identifiers or
13122 peer names, or a struct of peer attributes, only peers matching
13123 the filter will be returned. If return_fields is specified, only the
13124 specified details will be returned.</P
13148 : struct, API authentication structure </P
13158 : string, Authentication method to use </P
13168 : array of int or string or struct </P
13174 > array of int or string </P
13180 > int, Peer identifier </P
13184 > string, Peer name </P
13190 > struct, Attribute filter </P
13200 : string or array of string </P
13206 > string, Peer GPG public key </P
13210 > array of string, Peer GPG public key </P
13220 : string or array of string </P
13226 > string, Peer SSL public certificate </P
13230 > array of string, Peer SSL public certificate </P
13240 : int or array of int </P
13246 > int, Peer identifier </P
13250 > array of int, Peer identifier </P
13260 : string or array of string </P
13266 > string, Peer name </P
13270 > array of string, Peer name </P
13280 : string or array of string </P
13286 > string, Peer API URL </P
13290 > array of string, Peer API URL </P
13302 >return_fields</CODE
13304 : array, List of fields to return </P
13322 > array of struct </P
13332 : array, List of nodes for which this peer is authoritative </P
13348 : array, List of keys for which this peer is authoritative </P
13364 : array, List of users for which this peer is authoritative </P
13380 : string, Peer name </P
13388 : string, Peer API URL </P
13396 : array, List of slices for which this peer is authoritative </P
13412 : string, Peer GPG public key </P
13420 : string, Peer SSL public certificate </P
13428 : array, List of sites for which this peer is authoritative </P
13444 : int, Peer identifier </P
13456 >2.84. GetPersons</A
13465 >GetPersons (auth, person_filter, return_fields)</P
13475 >Returns an array of structs containing details about users. If
13476 person_filter is specified and is an array of user identifiers or
13477 usernames, or a struct of user attributes, only users matching the
13478 filter will be returned. If return_fields is specified, only the
13479 specified details will be returned.</P
13481 >Users and techs may only retrieve details about themselves. PIs
13482 may retrieve details about themselves and others at their
13483 sites. Admins and nodes may retrieve details about all accounts.</P
13493 >admin, pi, user, tech, node</P
13507 : struct, API authentication structure </P
13517 : string, Authentication method to use </P
13525 >person_filter</CODE
13527 : array of int or string or struct </P
13533 > array of int or string </P
13539 > int, User identifier </P
13543 > string, Primary e-mail address </P
13549 > struct, Attribute filter </P
13559 : string or array of string </P
13565 > string, Biography </P
13569 > array of string, Biography </P
13579 : string or array of string </P
13585 > string, Given name </P
13589 > array of string, Given name </P
13599 : string or array of string </P
13605 > string, Surname </P
13609 > array of string, Surname </P
13617 >last_updated</CODE
13619 : int or array of int </P
13625 > int, Date and time of last update </P
13629 > array of int, Date and time of last update </P
13639 : string or array of string </P
13645 > string, Title </P
13649 > array of string, Title </P
13659 : string or array of string </P
13665 > string, Home page </P
13669 > array of string, Home page </P
13677 >verification_key</CODE
13679 : string or array of string </P
13685 > string, Reset password key </P
13689 > array of string, Reset password key </P
13699 : boolean or array of boolean </P
13705 > boolean, Has been enabled </P
13709 > array of boolean, Has been enabled </P
13719 : string or array of string </P
13725 > string, Telephone number </P
13729 > array of string, Telephone number </P
13737 >peer_person_id</CODE
13739 : int or array of int </P
13745 > int, Foreign user identifier at peer </P
13749 > array of int, Foreign user identifier at peer </P
13759 : string or array of string </P
13765 > string, Account password in crypt() form </P
13769 > array of string, Account password in crypt() form </P
13779 : int or array of int </P
13785 > int, User identifier </P
13789 > array of int, User identifier </P
13797 >date_created</CODE
13799 : int or array of int </P
13805 > int, Date and time when account was created </P
13809 > array of int, Date and time when account was created </P
13819 : int or array of int </P
13825 > int, Peer to which this user belongs </P
13829 > array of int, Peer to which this user belongs </P
13837 >verification_expires</CODE
13839 : int or array of int </P
13845 > int, Date and time when verification_key expires </P
13849 > array of int, Date and time when verification_key expires </P
13859 : string or array of string </P
13865 > string, Primary e-mail address </P
13869 > array of string, Primary e-mail address </P
13881 >return_fields</CODE
13883 : array, List of fields to return </P
13901 > array of struct </P
13911 : string, Biography </P
13919 : string, Given name </P
13927 : string, Surname </P
13933 >last_updated</CODE
13935 : int, Date and time of last update </P
13943 : array, List of roles </P
13959 : string, Title </P
13967 : string, Home page </P
13975 : array, List of key identifiers </P
13991 : boolean, Has been enabled </P
13999 : array, List of slice identifiers </P
14015 : string, Telephone number </P
14021 >peer_person_id</CODE
14023 : int, Foreign user identifier at peer </P
14031 : array, List of role identifiers </P
14047 : int, User identifier </P
14053 >date_created</CODE
14055 : int, Date and time when account was created </P
14063 : array, List of site identifiers </P
14079 : int, Peer to which this user belongs </P
14087 : string, Primary e-mail address </P
14108 >GetRoles (auth)</P
14118 >Get an array of structs containing details about all roles.</P
14128 >admin, pi, user, tech, node</P
14142 : struct, API authentication structure </P
14152 : string, Authentication method to use </P
14164 > array of struct </P
14182 : int, Role identifier </P
14194 >2.86. GetSession</A
14203 >GetSession (auth)</P
14213 >Returns a new session key if a user or node authenticated
14214 successfully, faults otherwise.</P
14224 >admin, pi, user, tech, node</P
14238 : struct, API authentication structure </P
14248 : string, Authentication method to use </P
14260 > string, Session key </P
14279 >GetSites (auth, site_filter, return_fields)</P
14289 >Returns an array of structs containing details about sites. If
14290 site_filter is specified and is an array of site identifiers or
14291 hostnames, or a struct of site attributes, only sites matching the
14292 filter will be returned. If return_fields is specified, only the
14293 specified details will be returned.</P
14303 >admin, pi, user, tech, node, anonymous</P
14317 : struct, API authentication structure </P
14327 : string, Authentication method to use </P
14337 : array of int or string or struct </P
14343 > array of int or string </P
14349 > int, Site identifier </P
14353 > string, Site slice prefix </P
14359 > struct, Attribute filter </P
14367 >last_updated</CODE
14369 : int or array of int </P
14375 > int, Date and time when site entry was last updated, in seconds since UNIX epoch </P
14379 > array of int, Date and time when site entry was last updated, in seconds since UNIX epoch </P
14389 : string or array of string </P
14395 > string, Full site name </P
14399 > array of string, Full site name </P
14409 : string or array of string </P
14415 > string, URL of a page that describes the site </P
14419 > array of string, URL of a page that describes the site </P
14429 : int or array of int </P
14435 > int, Site identifier </P
14439 > array of int, Site identifier </P
14449 : boolean or array of boolean </P
14455 > boolean, Has been enabled </P
14459 > array of boolean, Has been enabled </P
14469 : double or array of double </P
14475 > double, Decimal longitude of the site </P
14479 > array of double, Decimal longitude of the site </P
14489 : double or array of double </P
14495 > double, Decimal latitude of the site </P
14499 > array of double, Decimal latitude of the site </P
14509 : int or array of int </P
14515 > int, Maximum number of slices that the site is able to create </P
14519 > array of int, Maximum number of slices that the site is able to create </P
14529 : string or array of string </P
14535 > string, Site slice prefix </P
14539 > array of string, Site slice prefix </P
14549 : boolean or array of boolean </P
14555 > boolean, Publicly viewable site </P
14559 > array of boolean, Publicly viewable site </P
14569 : int or array of int </P
14575 > int, Maximum number of slivers that the site is able to create </P
14579 > array of int, Maximum number of slivers that the site is able to create </P
14587 >date_created</CODE
14589 : int or array of int </P
14595 > int, Date and time when site entry was created, in seconds since UNIX epoch </P
14599 > array of int, Date and time when site entry was created, in seconds since UNIX epoch </P
14607 >peer_site_id</CODE
14609 : int or array of int </P
14615 > int, Foreign site identifier at peer </P
14619 > array of int, Foreign site identifier at peer </P
14629 : int or array of int </P
14635 > int, Peer to which this site belongs </P
14639 > array of int, Peer to which this site belongs </P
14647 >abbreviated_name</CODE
14649 : string or array of string </P
14655 > string, Abbreviated site name </P
14659 > array of string, Abbreviated site name </P
14671 >return_fields</CODE
14673 : array, List of fields to return </P
14691 > array of struct </P
14701 : array, List of address identifiers </P
14717 : array, List of PCU identifiers </P
14731 >last_updated</CODE
14733 : int, Date and time when site entry was last updated, in seconds since UNIX epoch </P
14741 : string, Full site name </P
14749 : array, List of site node identifiers </P
14765 : string, URL of a page that describes the site </P
14773 : boolean, Has been enabled </P
14781 : array, List of account identifiers </P
14797 : int, Site identifier </P
14805 : double, Decimal longitude of the site </P
14813 : array, List of slice identifiers </P
14829 : int, Maximum number of slivers that the site is able to create </P
14837 : int, Maximum number of slices that the site is able to create </P
14845 : string, Site slice prefix </P
14851 >date_created</CODE
14853 : int, Date and time when site entry was created, in seconds since UNIX epoch </P
14861 : double, Decimal latitude of the site </P
14869 : boolean, Publicly viewable site </P
14875 >peer_site_id</CODE
14877 : int, Foreign site identifier at peer </P
14885 : int, Peer to which this site belongs </P
14891 >abbreviated_name</CODE
14893 : string, Abbreviated site name </P
14904 NAME="GetSliceAttributes"
14905 >2.88. GetSliceAttributes</A
14914 >GetSliceAttributes (auth, slice_attribute_filter, return_fields)</P
14924 >Returns an array of structs containing details about slice and
14925 sliver attributes. An attribute is a sliver attribute if the
14926 node_id field is set. If slice_attribute_filter is specified and
14927 is an array of slice attribute identifiers, or a struct of slice
14928 attribute attributes, only slice attributes matching the filter
14929 will be returned. If return_fields is specified, only the
14930 specified details will be returned.</P
14932 >Users may only query attributes of slices or slivers of which they
14933 are members. PIs may only query attributes of slices or slivers at
14934 their sites, or of which they are members. Admins may query
14935 attributes of any slice or sliver.</P
14945 >admin, pi, user, node</P
14959 : struct, API authentication structure </P
14969 : string, Authentication method to use </P
14977 >slice_attribute_filter</CODE
14979 : array of int or struct </P
14985 > array of int, Slice attribute identifier </P
14989 > struct, Attribute filter </P
14999 : string or array of string </P
15005 > string, Slice attribute type name </P
15009 > array of string, Slice attribute type name </P
15019 : int or array of int </P
15025 > int, Slice identifier </P
15029 > array of int, Slice identifier </P
15037 >slice_attribute_id</CODE
15039 : int or array of int </P
15045 > int, Slice attribute identifier </P
15049 > array of int, Slice attribute identifier </P
15059 : string or array of string </P
15065 > string, Slice attribute value </P
15069 > array of string, Slice attribute value </P
15077 >attribute_type_id</CODE
15079 : int or array of int </P
15085 > int, Slice attribute type identifier </P
15089 > array of int, Slice attribute type identifier </P
15099 : int or array of int </P
15105 > int, Node identifier, if a sliver attribute </P
15109 > array of int, Node identifier, if a sliver attribute </P
15119 : int or array of int </P
15125 > int, Minimum (least powerful) role that can set or change this attribute </P
15129 > array of int, Minimum (least powerful) role that can set or change this attribute </P
15139 : string or array of string </P
15145 > string, Slice attribute type description </P
15149 > array of string, Slice attribute type description </P
15161 >return_fields</CODE
15163 : array, List of fields to return </P
15181 > array of struct </P
15191 : string, Slice attribute type name </P
15199 : int, Slice identifier </P
15205 >slice_attribute_id</CODE
15207 : int, Slice attribute identifier </P
15215 : string, Slice attribute value </P
15221 >attribute_type_id</CODE
15223 : int, Slice attribute type identifier </P
15231 : int, Node identifier, if a sliver attribute </P
15239 : int, Minimum (least powerful) role that can set or change this attribute </P
15247 : string, Slice attribute type description </P
15258 NAME="GetSliceAttributeTypes"
15259 >2.89. GetSliceAttributeTypes</A
15268 >GetSliceAttributeTypes (auth, attribute_type_filter, return_fields)</P
15278 >Returns an array of structs containing details about slice
15279 attribute types. If attribute_type_filter is specified and
15280 is an array of slice attribute type identifiers, or a
15281 struct of slice attribute type attributes, only slice attribute
15282 types matching the filter will be returned. If return_fields is
15283 specified, only the specified details will be returned.</P
15293 >admin, pi, user, tech, node</P
15307 : struct, API authentication structure </P
15317 : string, Authentication method to use </P
15325 >attribute_type_filter</CODE
15327 : array of int or string or struct </P
15333 > array of int or string </P
15339 > int, Slice attribute type identifier </P
15343 > string, Slice attribute type name </P
15349 > struct, Attribute filter </P
15357 >attribute_type_id</CODE
15359 : int or array of int </P
15365 > int, Slice attribute type identifier </P
15369 > array of int, Slice attribute type identifier </P
15379 : int or array of int </P
15385 > int, Minimum (least powerful) role that can set or change this attribute </P
15389 > array of int, Minimum (least powerful) role that can set or change this attribute </P
15399 : string or array of string </P
15405 > string, Slice attribute type name </P
15409 > array of string, Slice attribute type name </P
15419 : string or array of string </P
15425 > string, Slice attribute type description </P
15429 > array of string, Slice attribute type description </P
15441 >return_fields</CODE
15443 : array, List of fields to return </P
15461 > array of struct </P
15469 >attribute_type_id</CODE
15471 : int, Slice attribute type identifier </P
15479 : int, Minimum (least powerful) role that can set or change this attribute </P
15487 : string, Slice attribute type name </P
15495 : string, Slice attribute type description </P
15506 NAME="GetSliceInstantiations"
15507 >2.90. GetSliceInstantiations</A
15516 >GetSliceInstantiations (auth)</P
15526 >Returns an array of all valid slice instantiation states.</P
15536 >admin, pi, user, tech, node</P
15550 : struct, API authentication structure </P
15560 : string, Authentication method to use </P
15572 > array of string, Slice instantiation state </P
15582 >2.91. GetSlices</A
15591 >GetSlices (auth, slice_filter, return_fields)</P
15601 >Returns an array of structs containing details about slices. If
15602 slice_filter is specified and is an array of slice identifiers or
15603 slice names, or a struct of slice attributes, only slices matching
15604 the filter will be returned. If return_fields is specified, only the
15605 specified details will be returned.</P
15607 >Users may only query slices of which they are members. PIs may
15608 query any of the slices at their sites. Admins and nodes may query
15609 any slice. If a slice that cannot be queried is specified in
15610 slice_filter, details about that slice will not be returned.</P
15620 >admin, pi, user, node</P
15634 : struct, API authentication structure </P
15644 : string, Authentication method to use </P
15652 >slice_filter</CODE
15654 : array of int or string or struct </P
15660 > array of int or string </P
15666 > int, Slice identifier </P
15670 > string, Slice name </P
15676 > struct, Attribute filter </P
15684 >creator_person_id</CODE
15686 : int or array of int </P
15692 > int, Identifier of the account that created this slice </P
15696 > array of int, Identifier of the account that created this slice </P
15704 >instantiation</CODE
15706 : string or array of string </P
15712 > string, Slice instantiation state </P
15716 > array of string, Slice instantiation state </P
15726 : string or array of string </P
15732 > string, Slice name </P
15736 > array of string, Slice name </P
15746 : int or array of int </P
15752 > int, Slice identifier </P
15756 > array of int, Slice identifier </P
15766 : int or array of int </P
15772 > int, Date and time when slice was created, in seconds since UNIX epoch </P
15776 > array of int, Date and time when slice was created, in seconds since UNIX epoch </P
15786 : string or array of string </P
15792 > string, URL further describing this slice </P
15796 > array of string, URL further describing this slice </P
15806 : int or array of int </P
15812 > int, Maximum number of nodes that can be assigned to this slice </P
15816 > array of int, Maximum number of nodes that can be assigned to this slice </P
15826 : int or array of int </P
15832 > int, Date and time when slice expires, in seconds since UNIX epoch </P
15836 > array of int, Date and time when slice expires, in seconds since UNIX epoch </P
15846 : int or array of int </P
15852 > int, Identifier of the site to which this slice belongs </P
15856 > array of int, Identifier of the site to which this slice belongs </P
15864 >peer_slice_id</CODE
15866 : int or array of int </P
15872 > int, Foreign slice identifier at peer </P
15876 > array of int, Foreign slice identifier at peer </P
15886 : int or array of int </P
15892 > int, Peer to which this slice belongs </P
15896 > array of int, Peer to which this slice belongs </P
15906 : string or array of string </P
15912 > string, Slice description </P
15916 > array of string, Slice description </P
15928 >return_fields</CODE
15930 : array, List of fields to return </P
15948 > array of struct </P
15956 >creator_person_id</CODE
15958 : int, Identifier of the account that created this slice </P
15964 >instantiation</CODE
15966 : string, Slice instantiation state </P
15972 >slice_attribute_ids</CODE
15974 : array, List of slice attributes </P
15990 : string, Slice name </P
15998 : int, Slice identifier </P
16006 : int, Date and time when slice was created, in seconds since UNIX epoch </P
16014 : string, URL further describing this slice </P
16022 : int, Maximum number of nodes that can be assigned to this slice </P
16030 : array, List of accounts that can use this slice </P
16046 : int, Date and time when slice expires, in seconds since UNIX epoch </P
16054 : int, Identifier of the site to which this slice belongs </P
16060 >peer_slice_id</CODE
16062 : int, Foreign slice identifier at peer </P
16070 : array, List of nodes in this slice </P
16086 : int, Peer to which this slice belongs </P
16094 : string, Slice description </P
16105 NAME="GetSliceTicket"
16106 >2.92. GetSliceTicket</A
16115 >GetSliceTicket (auth, slice_id_or_name)</P
16125 >Returns a ticket for, or signed representation of, the specified
16126 slice. Slice tickets may be used to manually instantiate or update
16127 a slice on a node. Present this ticket to the local Node Manager
16128 interface to redeem it.</P
16130 >If the slice has not been added to a node with AddSliceToNodes,
16131 and the ticket is redeemed on that node, it will be deleted the
16132 next time the Node Manager contacts the API.</P
16134 >Users may only obtain tickets for slices of which they are
16135 members. PIs may obtain tickets for any of the slices at their
16136 sites, or any slices of which they are members. Admins may obtain
16137 tickets for any slice.</P
16139 >Returns 1 if successful, faults otherwise.</P
16149 >admin, pi, user, peer</P
16163 : struct, API authentication structure </P
16173 : string, Authentication method to use </P
16181 >slice_id_or_name</CODE
16183 : int or string </P
16189 > int, Slice identifier </P
16193 > string, Slice name </P
16205 > string, Signed slice ticket </P
16215 >2.93. GetSlivers</A
16224 >GetSlivers (auth, node_id_or_hostname)</P
16234 >Returns a struct containing information about the specified node
16235 (or calling node, if called by a node and node_id_or_hostname is
16236 not specified), including the current set of slivers bound to the
16239 >All of the information returned by this call can be gathered from
16240 other calls, e.g. GetNodes, GetNodeNetworks, GetSlices, etc. This
16241 function exists almost solely for the benefit of Node Manager.</P
16265 : struct, API authentication structure </P
16275 : string, Authentication method to use </P
16283 >node_id_or_hostname</CODE
16285 : int or string </P
16291 > int, Node identifier </P
16295 > string, Fully qualified hostname </P
16317 : int, Timestamp of this call, in seconds since UNIX epoch </P
16325 : string, Fully qualified hostname </P
16333 : array of struct </P
16343 : string, chown(1) owner </P
16349 >postinstall_cmd</CODE
16351 : string, Shell command to execute after installing </P
16359 : string, Shell command to execute if any error occurs </P
16365 >preinstall_cmd</CODE
16367 : string, Shell command to execute prior to installing </P
16375 : int, List of nodes linked to this file </P
16383 : string, Absolute path where file should be installed </P
16389 >ignore_cmd_errors</CODE
16391 : boolean, Install file anyway even if an error occurs </P
16399 : boolean, Configuration file is active </P
16405 >conf_file_id</CODE
16407 : int, Configuration file identifier </P
16413 >file_permissions</CODE
16415 : string, chmod(1) permissions </P
16423 : string, Relative path on the boot server where file can be downloaded </P
16429 >nodegroup_ids</CODE
16431 : int, List of node groups linked to this file </P
16437 >always_update</CODE
16439 : boolean, Always attempt to install file even if unchanged </P
16447 : string, chgrp(1) owner </P
16457 : int, Node identifier </P
16465 : array of string, Node group name </P
16473 : array of struct </P
16483 : string, Network broadcast address </P
16491 : boolean, Is the primary interface for this node </P
16499 : string, Subnet address </P
16507 : string, IP address </P
16515 : string, IP address of primary DNS server </P
16523 : string, (Optional) Hostname </P
16531 : string, Subnet mask </P
16539 : string, IP address of primary gateway </P
16545 >nodenetwork_id</CODE
16547 : int, Node interface identifier </P
16555 : string, MAC address </P
16563 : int, Node associated with this interface </P
16571 : string, IP address of secondary DNS server </P
16579 : int, Bandwidth limit </P
16587 : string, Address type (e.g., 'ipv4') </P
16595 : string, Addressing method (e.g., 'static' or 'dhcp') </P
16605 : array of struct </P
16613 >instantiation</CODE
16615 : string, Slice instantiation state </P
16623 : string, Slice name </P
16631 : int, Slice identifier </P
16639 : array of struct </P
16649 : string, Key type </P
16657 : string, Key value </P
16667 : int, Date and time when slice expires, in seconds since UNIX epoch </P
16675 : array of struct </P
16685 : string, Slice attribute type name </P
16693 : string, Slice attribute value </P
16708 NAME="NotifyPersons"
16709 >2.94. NotifyPersons</A
16718 >NotifyPersons (auth, person_filter, subject, body)</P
16728 >Sends an e-mail message to the specified users. If person_filter
16729 is specified and is an array of user identifiers or usernames, or
16730 a struct of user attributes, only users matching the filter will
16731 receive the message.</P
16733 >Returns 1 if successful.</P
16757 : struct, API authentication structure </P
16767 : string, Authentication method to use </P
16775 >person_filter</CODE
16777 : array of int or string or struct </P
16783 > array of int or string </P
16789 > int, User identifier </P
16793 > string, Primary e-mail address </P
16799 > struct, Attribute filter </P
16809 : string or array of string </P
16815 > string, Biography </P
16819 > array of string, Biography </P
16829 : string or array of string </P
16835 > string, Given name </P
16839 > array of string, Given name </P
16849 : string or array of string </P
16855 > string, Surname </P
16859 > array of string, Surname </P
16867 >last_updated</CODE
16869 : int or array of int </P
16875 > int, Date and time of last update </P
16879 > array of int, Date and time of last update </P
16889 : string or array of string </P
16895 > string, Title </P
16899 > array of string, Title </P
16909 : string or array of string </P
16915 > string, Home page </P
16919 > array of string, Home page </P
16927 >verification_key</CODE
16929 : string or array of string </P
16935 > string, Reset password key </P
16939 > array of string, Reset password key </P
16949 : boolean or array of boolean </P
16955 > boolean, Has been enabled </P
16959 > array of boolean, Has been enabled </P
16969 : string or array of string </P
16975 > string, Telephone number </P
16979 > array of string, Telephone number </P
16987 >peer_person_id</CODE
16989 : int or array of int </P
16995 > int, Foreign user identifier at peer </P
16999 > array of int, Foreign user identifier at peer </P
17009 : string or array of string </P
17015 > string, Account password in crypt() form </P
17019 > array of string, Account password in crypt() form </P
17029 : int or array of int </P
17035 > int, User identifier </P
17039 > array of int, User identifier </P
17047 >date_created</CODE
17049 : int or array of int </P
17055 > int, Date and time when account was created </P
17059 > array of int, Date and time when account was created </P
17069 : int or array of int </P
17075 > int, Peer to which this user belongs </P
17079 > array of int, Peer to which this user belongs </P
17087 >verification_expires</CODE
17089 : int or array of int </P
17095 > int, Date and time when verification_key expires </P
17099 > array of int, Date and time when verification_key expires </P
17109 : string or array of string </P
17115 > string, Primary e-mail address </P
17119 > array of string, Primary e-mail address </P
17133 : string, E-mail subject </P
17141 : string, E-mail body </P
17151 > int, 1 if successful </P
17161 >2.95. RebootNode</A
17170 >RebootNode (auth, node_id_or_hostname)</P
17180 >Sends the specified node a specially formatted UDP packet which
17181 should cause it to reboot immediately.</P
17183 >Admins can reboot any node. Techs and PIs can only reboot nodes at
17186 >Returns 1 if the packet was successfully sent (which only whether
17187 the packet was sent, not whether the reboot was successful).</P
17197 >admin, pi, tech</P
17211 : struct, API authentication structure </P
17221 : string, Authentication method to use </P
17229 >node_id_or_hostname</CODE
17231 : int or string </P
17237 > int, Node identifier </P
17241 > string, Fully qualified hostname </P
17253 > int, 1 if successful </P
17263 >2.96. RefreshPeer</A
17272 >RefreshPeer (auth, peer_id_or_peername)</P
17282 >Fetches node and slice data from the specified peer and caches it
17283 locally; also deletes stale entries. Returns 1 if successful,
17284 faults otherwise.</P
17308 : struct, API authentication structure </P
17318 : string, Authentication method to use </P
17326 >peer_id_or_peername</CODE
17328 : int or string </P
17334 > int, Peer identifier </P
17338 > string, Peer name </P
17350 > int, 1 if successful </P
17359 NAME="ResetPassword"
17360 >2.97. ResetPassword</A
17369 >ResetPassword (auth, person_id_or_email, verification_key, verification_expires)</P
17379 >If verification_key is not specified, then a new verification_key
17380 will be generated and stored with the user's account. The key will
17381 be e-mailed to the user in the form of a link to a web page.</P
17383 >The web page should verify the key by calling this function again
17384 and specifying verification_key. If the key matches what has been
17385 stored in the user's account, a new random password will be
17386 e-mailed to the user.</P
17388 >Returns 1 if verification_key was not specified, or was specified
17389 and is valid, faults otherwise.</P
17413 : struct, API authentication structure </P
17423 : string, Authentication method to use </P
17431 >person_id_or_email</CODE
17433 : int or string </P
17439 > int, User identifier </P
17443 > string, Primary e-mail address </P
17451 >verification_key</CODE
17453 : string, Reset password key </P
17459 >verification_expires</CODE
17461 : int, Date and time when verification_key expires </P
17471 > int, 1 if verification_key is valid </P
17480 NAME="SetPersonPrimarySite"
17481 >2.98. SetPersonPrimarySite</A
17490 >SetPersonPrimarySite (auth, person_id_or_email, site_id_or_login_base)</P
17500 >Makes the specified site the person's primary site. The person
17501 must already be a member of the site.</P
17503 >Admins may update anyone. All others may only update themselves.</P
17513 >admin, pi, user, tech</P
17527 : struct, API authentication structure </P
17537 : string, Authentication method to use </P
17545 >person_id_or_email</CODE
17547 : int or string </P
17553 > int, User identifier </P
17557 > string, Primary e-mail address </P
17565 >site_id_or_login_base</CODE
17567 : int or string </P
17573 > int, Site identifier </P
17577 > string, Site slice prefix </P
17589 > int, 1 if successful </P
17598 NAME="UpdateAddress"
17599 >2.99. UpdateAddress</A
17608 >UpdateAddress (auth, address_id, address_fields)</P
17618 >Updates the parameters of an existing address with the values in
17621 >PIs may only update addresses of their own sites.</P
17623 >Returns 1 if successful, faults otherwise.</P
17647 : struct, API authentication structure </P
17657 : string, Authentication method to use </P
17667 : int, Address identifier </P
17673 >address_fields</CODE
17693 : string, Country </P
17701 : string, Address line 3 </P
17709 : string, Address line 2 </P
17717 : string, Address line 1 </P
17725 : string, State or province </P
17733 : string, Postal code </P
17745 > int, 1 if successful </P
17754 NAME="UpdateAddressType"
17755 >2.100. UpdateAddressType</A
17764 >UpdateAddressType (auth, address_type_id_or_name, address_type_fields)</P
17774 >Updates the parameters of an existing address type with the values
17775 in address_type_fields.</P
17777 >Returns 1 if successful, faults otherwise.</P
17801 : struct, API authentication structure </P
17811 : string, Authentication method to use </P
17819 >address_type_id_or_name</CODE
17821 : int or string </P
17827 > int, Address type identifier </P
17831 > string, Address type </P
17839 >address_type_fields</CODE
17851 : string, Address type </P
17859 : string, Address type description </P
17871 > int, 1 if successful </P
17880 NAME="UpdateConfFile"
17881 >2.101. UpdateConfFile</A
17890 >UpdateConfFile (auth, conf_file_id, conf_file_fields)</P
17900 >Updates a node configuration file. Only the fields specified in
17901 conf_file_fields are updated, all other fields are left untouched.</P
17903 >Returns 1 if successful, faults otherwise.</P
17927 : struct, API authentication structure </P
17937 : string, Authentication method to use </P
17945 >conf_file_id</CODE
17947 : int, Configuration file identifier </P
17953 >conf_file_fields</CODE
17965 : string, chown(1) owner </P
17971 >postinstall_cmd</CODE
17973 : string, Shell command to execute after installing </P
17981 : string, Shell command to execute if any error occurs </P
17987 >preinstall_cmd</CODE
17989 : string, Shell command to execute prior to installing </P
17997 : string, Absolute path where file should be installed </P
18003 >ignore_cmd_errors</CODE
18005 : boolean, Install file anyway even if an error occurs </P
18013 : boolean, Configuration file is active </P
18019 >file_permissions</CODE
18021 : string, chmod(1) permissions </P
18029 : string, Relative path on the boot server where file can be downloaded </P
18035 >always_update</CODE
18037 : boolean, Always attempt to install file even if unchanged </P
18045 : string, chgrp(1) owner </P
18057 > int, 1 if successful </P
18067 >2.102. UpdateKey</A
18076 >UpdateKey (auth, key_id, key_fields)</P
18086 >Updates the parameters of an existing key with the values in
18089 >Non-admins may only update their own keys.</P
18091 >Returns 1 if successful, faults otherwise.</P
18101 >admin, pi, tech, user</P
18115 : struct, API authentication structure </P
18125 : string, Authentication method to use </P
18135 : int, Key identifier </P
18153 : string, Key type </P
18161 : string, Key value </P
18173 > int, 1 if successful </P
18182 NAME="UpdateMessage"
18183 >2.103. UpdateMessage</A
18192 >UpdateMessage (auth, message_id, message_fields)</P
18202 >Updates the parameters of an existing message template with the
18203 values in message_fields.</P
18205 >Returns 1 if successful, faults otherwise.</P
18229 : struct, API authentication structure </P
18239 : string, Authentication method to use </P
18249 : string, Message identifier </P
18255 >message_fields</CODE
18267 : boolean, Message is enabled </P
18275 : string, Message template </P
18287 > int, 1 if successful </P
18296 NAME="UpdateNodeGroup"
18297 >2.104. UpdateNodeGroup</A
18306 >UpdateNodeGroup (auth, nodegroup_id_or_name, nodegroup_fields)</P
18316 >Updates a custom node group.</P
18318 >Returns 1 if successful, faults otherwise.</P
18342 : struct, API authentication structure </P
18352 : string, Authentication method to use </P
18360 >nodegroup_id_or_name</CODE
18362 : int or string </P
18368 > int, Node group identifier </P
18372 > string, Node group name </P
18380 >nodegroup_fields</CODE
18392 : string, Node group name </P
18400 : string, Node group description </P
18412 > int, 1 if successful </P
18421 NAME="UpdateNodeNetwork"
18422 >2.105. UpdateNodeNetwork</A
18431 >UpdateNodeNetwork (auth, nodenetwork_id, nodenetwork_fields)</P
18441 >Updates an existing node network. Any values specified in
18442 nodenetwork_fields are used, otherwise defaults are
18443 used. Acceptable values for method are dhcp and static. If type is
18444 static, then ip, gateway, network, broadcast, netmask, and dns1
18445 must all be specified in nodenetwork_fields. If type is dhcp,
18446 these parameters, even if specified, are ignored.</P
18448 >PIs and techs may only update networks associated with their own
18449 nodes. Admins may update any node network.</P
18451 >Returns 1 if successful, faults otherwise.</P
18461 >admin, pi, tech</P
18475 : struct, API authentication structure </P
18485 : string, Authentication method to use </P
18493 >nodenetwork_id</CODE
18495 : int, Node interface identifier </P
18501 >nodenetwork_fields</CODE
18513 : string, Subnet address </P
18521 : boolean, Is the primary interface for this node </P
18529 : string, IP address of primary DNS server </P
18537 : string, (Optional) Hostname </P
18545 : string, MAC address </P
18553 : int, Bandwidth limit </P
18561 : string, Network broadcast address </P
18569 : string, Addressing method (e.g., 'static' or 'dhcp') </P
18577 : string, Subnet mask </P
18585 : string, IP address of secondary DNS server </P
18593 : string, IP address </P
18601 : string, Address type (e.g., 'ipv4') </P
18609 : string, IP address of primary gateway </P
18621 > int, 1 if successful </P
18631 >2.106. UpdateNode</A
18640 >UpdateNode (auth, node_id_or_hostname, node_fields)</P
18650 >Updates a node. Only the fields specified in node_fields are
18651 updated, all other fields are left untouched.</P
18653 >PIs and techs can update only the nodes at their sites. Only
18654 admins can update the key, session, and boot_nonce fields.</P
18656 >Returns 1 if successful, faults otherwise.</P
18666 >admin, pi, tech</P
18680 : struct, API authentication structure </P
18690 : string, Authentication method to use </P
18698 >node_id_or_hostname</CODE
18700 : int or string </P
18706 > int, Node identifier </P
18710 > string, Fully qualified hostname </P
18730 : string, Apparent Boot CD version </P
18738 : string, Boot state </P
18746 : string, Fully qualified hostname </P
18754 : string, (Admin only) Random value generated by the node at last boot </P
18762 : string, (Admin only) Node session value </P
18770 : string, (Admin only) Node key </P
18778 : string, Make and model of the actual machine </P
18790 > int, 1 if successful </P
18800 >2.107. UpdatePCU</A
18809 >UpdatePCU (auth, pcu_id, pcu_fields)</P
18819 >Updates the parameters of an existing PCU with the values in
18822 >Non-admins may only update PCUs at their sites.</P
18824 >Returns 1 if successful, faults otherwise.</P
18834 >admin, pi, tech</P
18848 : struct, API authentication structure </P
18858 : string, Authentication method to use </P
18868 : int, PCU identifier </P
18886 : string, PCU username </P
18894 : string, PCU protocol, e.g. ssh, https, telnet </P
18902 : array, List of nodes that this PCU controls </P
18918 : string, PCU IP address </P
18926 : string, Miscellaneous notes </P
18934 : string, PCU hostname </P
18942 : string, PCU model string </P
18950 : string, PCU username </P
18958 : array, List of the port numbers that each node is connected to </P
18978 > int, 1 if successful </P
18988 >2.108. UpdatePeer</A
18997 >UpdatePeer (auth, peer_id_or_name, peer_fields)</P
19007 >Updates a peer. Only the fields specified in peer_fields are
19008 updated, all other fields are left untouched.</P
19010 >Returns 1 if successful, faults otherwise.</P
19034 : struct, API authentication structure </P
19044 : string, Authentication method to use </P
19052 >peer_id_or_name</CODE
19054 : int or string </P
19060 > int, Peer identifier </P
19064 > string, Peer name </P
19084 : string, Peer GPG public key </P
19092 : string, Peer SSL public certificate </P
19100 : string, Peer name </P
19108 : string, Peer API URL </P
19120 > int, 1 if successful </P
19129 NAME="UpdatePerson"
19130 >2.109. UpdatePerson</A
19139 >UpdatePerson (auth, person_id_or_email, person_fields)</P
19149 >Updates a person. Only the fields specified in person_fields are
19150 updated, all other fields are left untouched.</P
19152 >Users and techs can only update themselves. PIs can only update
19153 themselves and other non-PIs at their sites.</P
19155 >Returns 1 if successful, faults otherwise.</P
19165 >admin, pi, user, tech</P
19179 : struct, API authentication structure </P
19189 : string, Authentication method to use </P
19197 >person_id_or_email</CODE
19199 : int or string </P
19205 > int, User identifier </P
19209 > string, Primary e-mail address </P
19217 >person_fields</CODE
19229 : string, Biography </P
19237 : string, Given name </P
19245 : string, Surname </P
19253 : string, Title </P
19261 : string, Home page </P
19269 : boolean, Has been enabled </P
19277 : string, Telephone number </P
19285 : string, Account password in crypt() form </P
19293 : string, Primary e-mail address </P
19305 > int, 1 if successful </P
19315 >2.110. UpdateSite</A
19324 >UpdateSite (auth, site_id_or_login_base, site_fields)</P
19334 >Updates a site. Only the fields specified in update_fields are
19335 updated, all other fields are left untouched.</P
19337 >PIs can only update sites they are a member of. Only admins can
19338 update max_slices, max_slivers, and login_base.</P
19340 >Returns 1 if successful, faults otherwise.</P
19364 : struct, API authentication structure </P
19374 : string, Authentication method to use </P
19382 >site_id_or_login_base</CODE
19384 : int or string </P
19390 > int, Site identifier </P
19394 > string, Site slice prefix </P
19414 : string, Full site name </P
19422 : string, URL of a page that describes the site </P
19430 : boolean, Has been enabled </P
19438 : double, Decimal longitude of the site </P
19446 : double, Decimal latitude of the site </P
19454 : int, Maximum number of slices that the site is able to create </P
19462 : string, Site slice prefix </P
19470 : int, Maximum number of slivers that the site is able to create </P
19478 : boolean, Publicly viewable site </P
19484 >abbreviated_name</CODE
19486 : string, Abbreviated site name </P
19498 > int, 1 if successful </P
19507 NAME="UpdateSliceAttribute"
19508 >2.111. UpdateSliceAttribute</A
19517 >UpdateSliceAttribute (auth, slice_attribute_id, value)</P
19527 >Updates the value of an existing slice or sliver attribute.</P
19529 >Users may only update attributes of slices or slivers of which
19530 they are members. PIs may only update attributes of slices or
19531 slivers at their sites, or of which they are members. Admins may
19532 update attributes of any slice or sliver.</P
19534 >Returns 1 if successful, faults otherwise.</P
19544 >admin, pi, user</P
19558 : struct, API authentication structure </P
19568 : string, Authentication method to use </P
19576 >slice_attribute_id</CODE
19578 : int, Slice attribute identifier </P
19586 : string, Slice attribute value </P
19596 > int, 1 if successful </P
19605 NAME="UpdateSliceAttributeType"
19606 >2.112. UpdateSliceAttributeType</A
19615 >UpdateSliceAttributeType (auth, attribute_type_id_or_name, attribute_type_fields)</P
19625 >Updates the parameters of an existing attribute with the values in
19626 attribute_type_fields.</P
19628 >Returns 1 if successful, faults otherwise.</P
19652 : struct, API authentication structure </P
19662 : string, Authentication method to use </P
19670 >attribute_type_id_or_name</CODE
19672 : int or string </P
19678 > int, Slice attribute type identifier </P
19682 > string, Slice attribute type name </P
19690 >attribute_type_fields</CODE
19702 : int, Minimum (least powerful) role that can set or change this attribute </P
19710 : string, Slice attribute type name </P
19718 : string, Slice attribute type description </P
19730 > int, 1 if successful </P
19740 >2.113. UpdateSlice</A
19749 >UpdateSlice (auth, slice_id_or_name, slice_fields)</P
19759 >Updates the parameters of an existing slice with the values in
19762 >Users may only update slices of which they are members. PIs may
19763 update any of the slices at their sites, or any slices of which
19764 they are members. Admins may update any slice.</P
19766 >Only PIs and admins may update max_nodes. Slices cannot be renewed
19767 (by updating the expires parameter) more than 8 weeks into the
19770 >Returns 1 if successful, faults otherwise.</P
19780 >admin, pi, user</P
19794 : struct, API authentication structure </P
19804 : string, Authentication method to use </P
19812 >slice_id_or_name</CODE
19814 : int or string </P
19820 > int, Slice identifier </P
19824 > string, Slice name </P
19832 >slice_fields</CODE
19844 : string, URL further describing this slice </P
19852 : int, Maximum number of nodes that can be assigned to this slice </P
19858 >instantiation</CODE
19860 : string, Slice instantiation state </P
19868 : int, Date and time when slice expires, in seconds since UNIX epoch </P
19876 : string, Slice description </P
19888 > int, 1 if successful </P
19897 NAME="VerifyPerson"
19898 >2.114. VerifyPerson</A
19907 >VerifyPerson (auth, person_id_or_email, verification_key, verification_expires)</P
19917 >Verify a new (must be disabled) user's e-mail address and registration.</P
19919 >If verification_key is not specified, then a new verification_key
19920 will be generated and stored with the user's account. The key will
19921 be e-mailed to the user in the form of a link to a web page.</P
19923 >The web page should verify the key by calling this function again
19924 and specifying verification_key. If the key matches what has been
19925 stored in the user's account, then an e-mail will be sent to the
19926 user's PI (and support if the user is requesting a PI role),
19927 asking the PI (or support) to enable the account.</P
19929 >Returns 1 if the verification key if valid.</P
19953 : struct, API authentication structure </P
19963 : string, Authentication method to use </P
19971 >person_id_or_email</CODE
19973 : int or string </P
19979 > int, User identifier </P
19983 > string, Primary e-mail address </P
19991 >verification_key</CODE
19993 : string, Reset password key </P
19999 >verification_expires</CODE
20001 : int, Date and time when verification_key expires </P
20011 > int, 1 if verification_key is valid </P
20020 NAME="system.listMethods"
20021 >2.115. system.listMethods</A
20030 >system.listMethods ()</P
20040 >This method lists all the methods that the XML-RPC server knows
20041 how to dispatch.</P
20071 > array, List of methods </P
20080 NAME="system.methodHelp"
20081 >2.116. system.methodHelp</A
20090 >system.methodHelp (method)</P
20100 >Returns help text if defined for the method passed, otherwise
20101 returns an empty string.</P
20125 : string, Method name </P
20135 > string, Method help </P
20144 NAME="system.methodSignature"
20145 >2.117. system.methodSignature</A
20154 >system.methodSignature (method)</P
20164 >Returns an array of known signatures (an array of arrays) for the
20165 method name passed. If no signatures are known, returns a
20166 none-array (test for type != array to detect missing signature).</P
20190 : string, Method name </P
20200 > array of array, Method signature </P
20217 NAME="system.multicall"
20218 >2.118. system.multicall</A
20227 >system.multicall (calls)</P
20237 >Process an array of calls, and return an array of results. Calls
20238 should be structs of the form</P
20240 >{'methodName': string, 'params': array}</P
20242 >Each result will either be a single-item array containg the result
20243 value, or a struct of the form</P
20245 >{'faultCode': int, 'faultString': string}</P
20247 >This is useful when you need to make lots of small calls without
20248 lots of round trips.</P
20272 : array of struct </P
20282 : array, Method arguments </P
20290 : string, Method name </P
20302 > array of mixed or struct </P
20308 > array of mixed </P
20322 : int, XML-RPC fault code </P
20330 : int, XML-RPC fault detail </P