API Methods Index
Chapter 1. IntroductionThe PlanetLab Central API (PLCAPI) is the interface through
which the PlanetLab Central database should be accessed and
maintained. The API is used by the website, by nodes, by automated
scripts, and by users to access and update information about
users, nodes, sites, slices, and other entities maintained by the
database.
The API should be accessed via XML-RPC over HTTPS. The API
supports the standard introspection calls system.listMethods, system.methodSignature,
and system.methodHelp,
and the standard batching call system.multicall. With the
exception of these calls, all PLCAPI calls take an
authentication structure as their first argument. All
authentication structures require the specification of
AuthMethod. If the documentation for a
call does not further specify the authentication structure, then
any of (but only) the following authentication structures may be
used: Session authentication. User sessions are typically
valid for 24 hours. Node sessions are valid until the next
reboot. Obtain a session key with GetSession using another form of
authentication, such as password or GnuPG
authentication. Password authentication. GnuPG authentication. Users may upload a GPG public key
using AddPersonKey. Peer
GPG keys should be added with AddPeer or UpdatePeer.
Anonymous authentication.
Some functions may only be called by users with certain
roles (see GetRoles), and others
may return different information to different callers depending
on the role(s) of the caller. The node and
anonymous roles are pseudo-roles. A function
that allows the node role may be called by
automated scripts running on a node, such as the Boot and Node
Managers. A function that allows the
anonymous role may be called by anyone; an
API authentication structure must still be specified (see Section 1.1).
Most of the Get functions take a
filter argument. Filters may be arrays of integer (and sometimes
string) identifiers, or a struct representing a filter on the
attributes of the entities being queried. For example,
# plcsh code fragment (see below)
GetNodes([1,2,3])
GetNodes({'node_id': [1,2,3]})
GetNodes({'node_id': 1}) + GetNodes({'node_id': 2}) + GetNodes({'node_id': 3})
Would all be equivalent queries. Attributes that are
themselves arrays (such as nodenetwork_ids
and slice_ids for nodes) cannot be used in
filters.
A command-line program called plcsh
simplifies authentication structure handling, and is useful for
scripting. This program is distributed as a Linux RPM called
PLCAPI and requires Python ≥2.4.
usage: plcsh [options]
options:
-f CONFIG, --config=CONFIG
PLC configuration file
-h URL, --url=URL API URL
-c CACERT, --cacert=CACERT
API SSL certificate
-k INSECURE, --insecure=INSECURE
Do not check SSL certificate
-m METHOD, --method=METHOD
API authentication method
-s SESSION, --session=SESSION
API session key
-u USER, --user=USER API user name
-p PASSWORD, --password=PASSWORD
API password
-r ROLE, --role=ROLE API role
-x, --xmlrpc Use XML-RPC interface
--help show this help message and exit
Specify at least the API URL and your user name:
plcsh --url https://www.planet-lab.org/PLCAPI/ -u user@site.edu
You will be presented with a prompt. From here, you can
invoke API calls and omit the authentication structure, as it will
be filled in automatically.
user@site.edu connected using password authentication
Type "system.listMethods()" or "help(method)" for more information.
[user@site.edu]>>> AuthCheck()
1
[user@site.edu]>>> GetNodes([121], ['node_id', 'hostname'])
[{'node_id': 121, 'hostname': 'planetlab-1.cs.princeton.edu'}]
As this program is actually a Python interpreter, you may
create variables, execute for loops, import other packages, etc.,
directly on the command line as you would using the regular Python
shell. To use plcsh programmatically, import
the PLC.Shell module:
#!/usr/bin/python
import sys
# Default location that the PLCAPI RPM installs the PLC class
sys.path.append('/usr/share/plc_api')
# Initialize shell environment. Shell() will define all PLCAPI methods
# in the specified namespace (specifying globals() will define them
# globally).
from PLC.Shell import Shell
plc = Shell(globals(),
url = "https://www.planet-lab.org/PLCAPI/",
user = "user@site.edu",
password = "password")
# Both are equivalent
nodes = GetNodes([121], ['node_id', 'hostname'])
nodes = plc.GetNodes([121], ['node_id', 'hostname'])
Chapter 2. PlanetLab API Methods
Prototype: AddAddressType (auth, address_type_fields)
Description: Adds a new address type. Fields specified in address_type_fields
are used. Returns the new address_type_id (> 0) if successful, faults otherwise.
Allowed Roles: admin
Parameters: Returns:
Prototype: AddAddressTypeToAddress (auth, address_type_id_or_name, address_id)
Description: Adds an address type to the specified address. PIs may only update addresses of their own sites. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi
Parameters:
auth
: struct, API authentication structure
address_type_id_or_name
: int or string
address_id
: int, Address identifier
Returns:
Prototype: AddBootState (auth, name)
Description: Adds a new node boot state. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
name
: string, Boot state
Returns:
Prototype: AddConfFile (auth, conf_file_fields)
Description: Adds a new node configuration file. Any fields specified in
conf_file_fields are used, otherwise defaults are used. Returns the new conf_file_id (> 0) if successful, faults otherwise.
Allowed Roles: admin
Parameters: Returns:
Prototype: AddConfFileToNodeGroup (auth, conf_file_id, nodegroup_id_or_name)
Description: Adds a configuration file to the specified node group. If the node
group is already linked to the configuration file, no errors are
returned. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
conf_file_id
: int, Configuration file identifier
nodegroup_id_or_name
: int or string
Returns:
Prototype: AddConfFileToNode (auth, conf_file_id, node_id_or_hostname)
Description: Adds a configuration file to the specified node. If the node is
already linked to the configuration file, no errors are returned. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
conf_file_id
: int, Configuration file identifier
node_id_or_hostname
: int or string
Returns:
Prototype: AddKeyType (auth, name)
Description: Adds a new key type. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters: Returns:
Prototype: AddMessage (auth, message_fields)
Description: Adds a new message template. Any values specified in
message_fields are used, otherwise defaults are used. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters: Returns:
Prototype: AddNetworkMethod (auth, name)
Description: Adds a new network method. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
name
: string, Network method
Returns:
Prototype: AddNetworkType (auth, name)
Description: Adds a new network type. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
name
: string, Network type
Returns:
Prototype: AddNodeGroup (auth, nodegroup_fields)
Description: Adds a new node group. Any values specified in nodegroup_fields
are used, otherwise defaults are used. Returns the new nodegroup_id (> 0) if successful, faults otherwise.
Allowed Roles: admin
Parameters: Returns:
Prototype: AddNodeNetwork (auth, node_id_or_hostname, nodenetwork_fields)
Description: Adds a new network for a node. Any values specified in
nodenetwork_fields are used, otherwise defaults are
used. Acceptable values for method may be retrieved via
GetNetworkMethods. Acceptable values for type may be retrieved via
GetNetworkTypes. If type is static, ip, gateway, network, broadcast, netmask, and
dns1 must all be specified in nodenetwork_fields. If type is dhcp,
these parameters, even if specified, are ignored. PIs and techs may only add networks to their own nodes. Admins may
add networks to any node. Returns the new nodenetwork_id (> 0) if successful, faults otherwise.
Allowed Roles: admin, pi, tech
Parameters:
auth
: struct, API authentication structure
node_id_or_hostname
: int or string
nodenetwork_fields
: struct
network
: string, Subnet address
is_primary
: boolean, Is the primary interface for this node
dns1
: string, IP address of primary DNS server
hostname
: string, (Optional) Hostname
mac
: string, MAC address
bwlimit
: int, Bandwidth limit
broadcast
: string, Network broadcast address
method
: string, Addressing method (e.g., 'static' or 'dhcp')
netmask
: string, Subnet mask
dns2
: string, IP address of secondary DNS server
ip
: string, IP address
type
: string, Address type (e.g., 'ipv4')
gateway
: string, IP address of primary gateway
Returns:
Prototype: AddNode (auth, site_id_or_login_base, node_fields)
Description: Adds a new node. Any values specified in node_fields are used,
otherwise defaults are used. PIs and techs may only add nodes to their own sites. Admins may
add nodes to any site. Returns the new node_id (> 0) if successful, faults otherwise.
Allowed Roles: admin, pi, tech
Parameters: Returns:
Prototype: AddNodeToNodeGroup (auth, node_id_or_hostname, nodegroup_id_or_name)
Description: Add a node to the specified node group. If the node is
already a member of the nodegroup, no errors are returned. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
node_id_or_hostname
: int or string
nodegroup_id_or_name
: int or string
Returns:
Prototype: AddNodeToPCU (auth, node_id_or_hostname, pcu_id, port)
Description: Adds a node to a port on a PCU. Faults if the node has already
been added to the PCU or if the port is already in use. Non-admins may only update PCUs at their sites. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi, tech
Parameters:
auth
: struct, API authentication structure
node_id_or_hostname
: int or string
pcu_id
: int, PCU identifier
port
: int, PCU port number
Returns:
Prototype: AddPCU (auth, site_id_or_login_base, pcu_fields)
Description: Adds a new power control unit (PCU) to the specified site. Any
fields specified in pcu_fields are used, otherwise defaults are
used. PIs and technical contacts may only add PCUs to their own sites. Returns the new pcu_id (> 0) if successful, faults otherwise.
Allowed Roles: admin, pi, tech
Parameters: Returns:
Prototype: AddPeer (auth, peer_fields)
Description: Adds a new peer. Returns the new peer_id (> 0) if successful, faults otherwise.
Allowed Roles: admin
Parameters: Returns:
Prototype: AddPersonKey (auth, person_id_or_email, key_fields)
Description: Adds a new key to the specified account. Non-admins can only modify their own keys. Returns the new key_id (> 0) if successful, faults otherwise.
Allowed Roles: admin, pi, tech, user
Parameters: Returns:
Prototype: AddPerson (auth, person_fields)
Description: Adds a new account. Any fields specified in person_fields are
used, otherwise defaults are used. Accounts are disabled by default. To enable an account, use
UpdatePerson(). Returns the new person_id (> 0) if successful, faults otherwise.
Allowed Roles: admin, pi
Parameters: Returns:
Prototype: AddPersonToSite (auth, person_id_or_email, site_id_or_login_base)
Description: Adds the specified person to the specified site. If the person is
already a member of the site, no errors are returned. Does not
change the person's primary site. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
person_id_or_email
: int or string
site_id_or_login_base
: int or string
Returns:
Prototype: AddPersonToSlice (auth, person_id_or_email, slice_id_or_name)
Description: Adds the specified person to the specified slice. If the person is
already a member of the slice, no errors are returned. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi
Parameters:
auth
: struct, API authentication structure
person_id_or_email
: int or string
slice_id_or_name
: int or string
int, Slice identifier
string, Slice name
Returns:
Prototype: AddRole (auth, role_id, name)
Description: Adds a new role. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
role_id
: int, Role identifier
name
: string, Role
Returns:
Prototype: AddRoleToPerson (auth, role_id_or_name, person_id_or_email)
Description: Grants the specified role to the person. PIs can only grant the tech and user roles to users and techs at
their sites. Admins can grant any role to any user. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi
Parameters:
auth
: struct, API authentication structure
role_id_or_name
: int or string
int, Role identifier
string, Role
person_id_or_email
: int or string
Returns:
Prototype: AddSiteAddress (auth, site_id_or_login_base, address_fields)
Description: Adds a new address to a site. Fields specified in
address_fields are used; some are not optional. PIs may only add addresses to their own sites. Returns the new address_id (> 0) if successful, faults otherwise.
Allowed Roles: admin, pi
Parameters: Returns:
Prototype: AddSite (auth, site_fields)
Description: Adds a new site, and creates a node group for that site. Any
fields specified in site_fields are used, otherwise defaults are
used. Returns the new site_id (> 0) if successful, faults otherwise.
Allowed Roles: admin
Parameters: Returns:
Prototype: AddSliceAttribute (auth, slice_id_or_name, attribute_type_id_or_name, value, node_id_or_hostname)
Description: Sets the specified attribute of the slice (or sliver, if
node_id_or_hostname is specified) to the specified value. Attributes may require the caller to have a particular role in
order to be set or changed. Users may only set attributes of
slices or slivers of which they are members. PIs may only set
attributes of slices or slivers at their sites, or of which they
are members. Admins may set attributes of any slice or sliver. Returns the new slice_attribute_id (> 0) if successful, faults
otherwise.
Allowed Roles: admin, pi, user
Parameters:
auth
: struct, API authentication structure
slice_id_or_name
: int or string
attribute_type_id_or_name
: int or string
int, Slice attribute type identifier
string, Slice attribute type name
value
: string, Slice attribute value
node_id_or_hostname
: int or string
Returns:
Prototype: AddSliceAttributeType (auth, attribute_type_fields)
Description: Adds a new type of slice attribute. Any fields specified in
attribute_type_fields are used, otherwise defaults are used. Returns the new attribute_type_id (> 0) if successful, faults
otherwise.
Allowed Roles: admin
Parameters: Returns:
Prototype: AddSliceInstantiation (auth, name)
Description: Adds a new slice instantiation state. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
name
: string, Slice instantiation state
Returns:
Prototype: AddSlice (auth, slice_fields)
Description: Adds a new slice. Any fields specified in slice_fields are used,
otherwise defaults are used. Valid slice names are lowercase and begin with the login_base
(slice prefix) of a valid site, followed by a single
underscore. Thereafter, only letters, numbers, or additional
underscores may be used. PIs may only add slices associated with their own sites (i.e.,
slice prefixes must always be the login_base of one of their
sites). Returns the new slice_id (> 0) if successful, faults otherwise.
Allowed Roles: admin, pi
Parameters: Returns:
Prototype: AddSliceToNodes (auth, slice_id_or_name, node_id_or_hostname_list)
Description: Adds the specified slice to the specified nodes. Nodes may be
either local or foreign nodes. If the slice is already associated with a node, no errors are
returned. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi, user
Parameters:
auth
: struct, API authentication structure
slice_id_or_name
: int or string
int, Slice identifier
string, Slice name
node_id_or_hostname_list
: array of int or string
Returns:
Prototype: AuthCheck (auth)
Description: Returns 1 if the user or node authenticated successfully, faults
otherwise.
Allowed Roles: admin, pi, user, tech, node
Parameters: Returns:
Prototype: BlacklistKey (auth, key_id)
Description: Blacklists a key, disassociating it and all others identical to it
from all accounts and preventing it from ever being added again. WARNING: Identical keys associated with other accounts with also
be blacklisted. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
key_id
: int, Key identifier
Returns:
Prototype: BootGetNodeDetails (auth)
Description: Returns a set of details about the calling node, including a new
node session value.
Allowed Roles: node
Parameters: Returns:
struct
boot_state
: string, Boot state
model
: string, Make and model of the actual machine
hostname
: string, Fully qualified hostname
networks
: array of struct
broadcast
: string, Network broadcast address
is_primary
: boolean, Is the primary interface for this node
network
: string, Subnet address
ip
: string, IP address
dns1
: string, IP address of primary DNS server
hostname
: string, (Optional) Hostname
netmask
: string, Subnet mask
gateway
: string, IP address of primary gateway
nodenetwork_id
: int, Node interface identifier
mac
: string, MAC address
node_id
: int, Node associated with this interface
dns2
: string, IP address of secondary DNS server
bwlimit
: int, Bandwidth limit
type
: string, Address type (e.g., 'ipv4')
method
: string, Addressing method (e.g., 'static' or 'dhcp')
session
: string, Session key
Prototype: BootNotifyOwners (auth, message_id, include_pis, include_techs, include_support)
Description: Notify the owners of the node, and/or support about an event that
happened on the machine. Returns 1 if successful.
Allowed Roles: node
Parameters:
auth
: struct, API authentication structure
AuthMethod
: string, Authentication method to use, always 'hmac'
value
: string, HMAC of node key and method call
node_id
: int, Node identifier
message_id
: string, Message identifier
include_pis
: int, Notify PIs
include_techs
: int, Notify technical contacts
include_support
: int, Notify support
Returns:
Prototype: BootUpdateNode (auth, node_fields)
Description: Allows the calling node to update its own record. Only the primary
network can be updated, and the node IP cannot be changed. Returns 1 if updated successfully.
Allowed Roles: node
Parameters: Returns:
Prototype: DeleteAddress (auth, address_id)
Description: Deletes an address. PIs may only delete addresses from their own sites. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi
Parameters:
auth
: struct, API authentication structure
address_id
: int, Address identifier
Returns:
Prototype: DeleteAddressTypeFromAddress (auth, address_type_id_or_name, address_id)
Description: Deletes an address type from the specified address. PIs may only update addresses of their own sites. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi
Parameters:
auth
: struct, API authentication structure
address_type_id_or_name
: int or string
address_id
: int, Address identifier
Returns:
Prototype: DeleteAddressType (auth, address_type_id_or_name)
Description: Deletes an address type. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters: Returns:
Prototype: DeleteBootState (auth, name)
Description: Deletes a node boot state. WARNING: This will cause the deletion of all nodes in this boot
state. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
name
: string, Boot state
Returns:
Prototype: DeleteConfFileFromNodeGroup (auth, conf_file_id, nodegroup_id_or_name)
Description: Deletes a configuration file from the specified nodegroup. If the nodegroup
is not linked to the configuration file, no errors are returned. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
conf_file_id
: int, Configuration file identifier
nodegroup_id_or_name
: int or string
Returns:
Prototype: DeleteConfFileFromNode (auth, conf_file_id, node_id_or_hostname)
Description: Deletes a configuration file from the specified node. If the node
is not linked to the configuration file, no errors are returned. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
conf_file_id
: int, Configuration file identifier
node_id_or_hostname
: int or string
Returns:
Prototype: DeleteConfFile (auth, conf_file_id)
Description: Returns an array of structs containing details about node
configuration files. If conf_file_ids is specified, only the
specified configuration files will be queried.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
conf_file_id
: int, Configuration file identifier
Returns:
Prototype: DeleteKey (auth, key_id)
Description: Deletes a key. Non-admins may only delete their own keys. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi, tech, user
Parameters:
auth
: struct, API authentication structure
key_id
: int, Key identifier
Returns:
Prototype: DeleteKeyType (auth, name)
Description: Deletes a key type. WARNING: This will cause the deletion of all keys of this type. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters: Returns:
Prototype: DeleteMessage (auth, message_id)
Description: Deletes a message template. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
message_id
: string, Message identifier
Returns:
Prototype: DeleteNetworkMethod (auth, name)
Description: Deletes a network method. WARNING: This will cause the deletion of all network interfaces
that use this method. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
name
: string, Network method
Returns:
Prototype: DeleteNetworkType (auth, name)
Description: Deletes a network type. WARNING: This will cause the deletion of all network interfaces
that use this type. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
name
: string, Network type
Returns:
Prototype: DeleteNodeFromNodeGroup (auth, node_id_or_hostname, nodegroup_id_or_name)
Description: Removes a node from the specified node group. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
node_id_or_hostname
: int or string
nodegroup_id_or_name
: int or string
Returns:
Prototype: DeleteNodeFromPCU (auth, node_id_or_hostname, pcu_id)
Description: Deletes a node from a PCU. Non-admins may only update PCUs at their sites. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi, tech
Parameters:
auth
: struct, API authentication structure
node_id_or_hostname
: int or string
pcu_id
: int, PCU identifier
Returns:
Prototype: DeleteNodeGroup (auth, node_group_id_or_name)
Description: Delete an existing Node Group. ins may delete any node group Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters: Returns:
Prototype: DeleteNodeNetwork (auth, nodenetwork_id)
Description: Deletes an existing node network interface. Admins may delete any node network. PIs and techs may only delete
node network interfaces associated with nodes at their sites. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi, tech
Parameters:
auth
: struct, API authentication structure
nodenetwork_id
: int, Node interface identifier
Returns:
Prototype: DeleteNode (auth, node_id_or_hostname)
Description: Mark an existing node as deleted. PIs and techs may only delete nodes at their own sites. ins may
delete nodes at any site. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi, tech
Parameters: Returns:
Prototype: DeletePCU (auth, pcu_id)
Description: Deletes a PCU. Non-admins may only delete PCUs at their sites. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi, tech
Parameters:
auth
: struct, API authentication structure
pcu_id
: int, PCU identifier
Returns:
Prototype: DeletePeer (auth, peer_id_or_name)
Description: Mark an existing peer as deleted. All entities (e.g., slices,
keys, nodes, etc.) for which this peer is authoritative will also
be deleted or marked as deleted. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters: Returns:
Prototype: DeletePersonFromSite (auth, person_id_or_email, site_id_or_login_base)
Description: Removes the specified person from the specified site. If the
person is not a member of the specified site, no error is
returned. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
person_id_or_email
: int or string
site_id_or_login_base
: int or string
Returns:
Prototype: DeletePersonFromSlice (auth, person_id_or_email, slice_id_or_name)
Description: Deletes the specified person from the specified slice. If the person is
not a member of the slice, no errors are returned. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi
Parameters:
auth
: struct, API authentication structure
person_id_or_email
: int or string
slice_id_or_name
: int or string
int, Slice identifier
string, Slice name
Returns:
Prototype: DeletePerson (auth, person_id_or_email)
Description: Mark an existing account as deleted. Users and techs can only delete themselves. PIs can only delete
themselves and other non-PIs at their sites. ins can delete
anyone. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi, user, tech
Parameters: Returns:
Prototype: DeleteRoleFromPerson (auth, role_id_or_name, person_id_or_email)
Description: Deletes the specified role from the person. PIs can only revoke the tech and user roles from users and techs
at their sites. ins can revoke any role from any user. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi
Parameters:
auth
: struct, API authentication structure
role_id_or_name
: int or string
int, Role identifier
string, Role
person_id_or_email
: int or string
Returns:
Prototype: DeleteRole (auth, role_id_or_name)
Description: Deletes a role. WARNING: This will remove the specified role from all accounts
that possess it, and from all node and slice attributes that refer
to it. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters: Returns:
Prototype: DeleteSession (auth)
Description: Invalidates the current session. Returns 1 if successful.
Allowed Roles: admin, pi, user, tech, node
Parameters: Returns:
Prototype: DeleteSite (auth, site_id_or_login_base)
Description: Mark an existing site as deleted. The accounts of people who are
not members of at least one other non-deleted site will also be
marked as deleted. Nodes, PCUs, and slices associated with the
site will be deleted. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters: Returns:
Prototype: DeleteSliceAttribute (auth, slice_attribute_id)
Description: Deletes the specified slice or sliver attribute. Attributes may require the caller to have a particular role in
order to be deleted. Users may only delete attributes of
slices or slivers of which they are members. PIs may only delete
attributes of slices or slivers at their sites, or of which they
are members. Admins may delete attributes of any slice or sliver. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi, user
Parameters:
auth
: struct, API authentication structure
slice_attribute_id
: int, Slice attribute identifier
Returns:
Prototype: DeleteSliceAttributeType (auth, attribute_type_id_or_name)
Description: Deletes the specified slice attribute. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters: Returns:
Prototype: DeleteSliceFromNodes (auth, slice_id_or_name, node_id_or_hostname_list)
Description: Deletes the specified slice from the specified nodes. If the slice is
not associated with a node, no errors are returned. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi, user
Parameters:
auth
: struct, API authentication structure
slice_id_or_name
: int or string
int, Slice identifier
string, Slice name
node_id_or_hostname_list
: array of int or string
Returns:
Prototype: DeleteSliceInstantiation (auth, instantiation)
Description: Deletes a slice instantiation state. WARNING: This will cause the deletion of all slices of this instantiation. Returns 1 if successful, faults otherwise.
Allowed Roles: admin
Parameters:
auth
: struct, API authentication structure
instantiation
: string, Slice instantiation state
Returns:
Prototype: DeleteSlice (auth, slice_id_or_name)
Description: Deletes the specified slice. Users may only delete slices of which they are members. PIs may
delete any of the slices at their sites, or any slices of which
they are members. Admins may delete any slice. Returns 1 if successful, faults otherwise.
Allowed Roles: admin, pi, user
Parameters: Returns:
Prototype: GetAddresses (auth, address_filter, return_fields)
Description: Returns an array of structs containing details about addresses. If
address_filter is specified and is an array of address
identifiers, or a struct of address attributes, only addresses
matching the filter will be returned. If return_fields is
specified, only the specified details will be returned.
Allowed Roles: admin, pi, user, tech, node
Parameters:
auth
: struct, API authentication structure
address_filter
: array of int or struct
return_fields
: array, List of fields to return
Returns:
array of struct
city
: string, City
address_id
: int, Address identifier
country
: string, Country
line3
: string, Address line 3
line2
: string, Address line 2
line1
: string, Address line 1
address_type_ids
: array, Address type identifiers
state
: string, State or province
postalcode
: string, Postal code
address_types
: array, Address types
Prototype: GetAddressTypes (auth, address_type_filter, return_fields)
Description: Returns an array of structs containing details about address
types. If address_type_filter is specified and is an array of
address type identifiers, or a struct of address type attributes,
only address types matching the filter will be returned. If
return_fields is specified, only the specified details will be
returned.
Allowed Roles: admin, pi, user, tech, node
Parameters:
auth
: struct, API authentication structure
address_type_filter
: array of int or string or struct
array of int or string
struct, Attribute filter
name
: string or array of string
address_type_id
: int or array of int
int, Address type identifier
array of int, Address type identifier
description
: string or array of string
string, Address type description
array of string, Address type description
return_fields
: array, List of fields to return
Returns:
array of struct
name
: string, Address type
address_type_id
: int, Address type identifier
description
: string, Address type description
Prototype: GetBootStates (auth)
Description: Returns an array of all valid node boot states.
Allowed Roles: admin, pi, user, tech, node
Parameters: |