RSE Rest API

Overview

Resource

Operation

Description

Attributes

GET /rses/(rse)/lfns2pfns

Translate LFNs to PFNs.

DELETE /rses/(rse)/attr/(key)

Delete RSE attribute.

POST /rses/(rse)/attr/(key)

Create RSE attribute.

GET /rses/(rse)/attr

List all RSE attributes.

Distance

PUT /rses/(source)/attr/(destination)

Update RSE distance.

POST /rses/(source)/attr/(destination)

Create RSE distance.

GET /rses/(source)/attr/(destination)

Get RSE distance.

Limits

PUT /rses/(rse)/limits

Update RSE limits.

GET /rses/(rse)/limits

Get RSE limits.

Protocol

DELETE /rses/(rse)/protocols/(scheme)/(hostname)/(port)

Delete an RSE protocol.

PUT /rses/(rse)/protocols/(scheme)/(hostname)/(port)

Update RSE protocol.

POST /rses/(rse)/protocols/(scheme)

Create an RSE protocol.

GET /rses/(rse)/protocols/(scheme)

List RSE protocol.

Protocols

GET /rses/(rse)/protocols

List all RSE protocols.

QoSPolicy

DELETE /rses/(rse)/qos_policy/(policy)

Delete QoS policy from RSE.

POST /rses/(rse)/qos_policy/(policy)

Add QoS policy to RSE.

GET /rses/(rse)/qos_policy

List all QoS policies of an RSE.

RSE

PUT /rses/(rse)

Update an RSE.

DELETE /rses/(rse)

disable RSE.

POST /rses/(rse)

create a new RSE.

GET /rses/(rse)

get RSE details.

RSEAccountUsageLimit

GET /rses/(rse)/accounts/usage

Get account usage.

RSEs

GET /rses/

List all RSEs.

Usage

PUT /rses/(rse)/usage

Update RSE usage.

GET /rses/(rse)/usage

Get RSE usage.

UsageHistory

GET /rses/(rse)/usage/history

Get RSE usage history.

Details

GET /rses/

List all RSEs.

Query Parameters
  • expression – The returned list only contains RSE matching this expression.

Response Headers
Status Codes
Returns

A list containing all RSEs.

GET /rses/(rse)/accounts/usage

Get account usage and limit for one RSE.

Parameters
  • rse – the RSE name.

Response Headers
Status Codes
Returns

Line separated list of dict with account usage and limits.

GET /rses/(rse)/usage/history

Get RSE usage information.

Parameters
  • rse – the RSE name.

Response Headers
Status Codes
Returns

Line separated list of dictionary with RSE usage information.

DELETE /rses/(rse)/qos_policy/(policy)

Delete QoS policy from RSE.

Parameters
  • rse – The RSE name.

  • qos_policy – The QoS policy name.

Status Codes
POST /rses/(rse)/qos_policy/(policy)

Add QoS policy to RSE

Parameters
  • rse – The RSE name.

  • qos_policy – The QoS policy name.

Status Codes
GET /rses/(rse)/qos_policy

List all QoS policies of an RSE.

Parameters
  • rse – The RSE name.

Response Headers
Status Codes
Returns

List of QoS policies

DELETE /rses/(rse)/protocols/(scheme)/(hostname)/(port)

Deletes a protocol entry for the provided RSE.

Parameters
  • rse – The RSE name.

  • scheme – The protocol identifier.

  • hostname – The hostname defined for the scheme, used if more than one scheme is registered with the same identifier.

  • port – The port registered for the hostname, ued if more than one scheme is registered with the same identifier and hostname.

Status Codes
PUT /rses/(rse)/protocols/(scheme)/(hostname)/(port)

Updates attributes of an existing protocol entry. Because protocol identifier, hostname, and port are used as unique identifier they are immutable.

Parameters
  • rse – The RSE name.

  • scheme – The protocol identifier.

  • hostname – The hostname defined for the scheme, used if more than one scheme is registered with the same identifier.

  • port – The port registered for the hostname, ued if more than one scheme is registered with the same identifier and hostname.

Request JSON Object
  • paramaters (dict) – parameter of the new protocol entry.

Status Codes
POST /rses/(rse)/protocols/(scheme)

Create a protocol for a given RSE.

Parameters
  • rse – The RSE name.

  • scheme – The protocol identifier.

Request JSON Object
  • paramaters (dict) – parameter of the new protocol entry.

Status Codes
GET /rses/(rse)/protocols/(scheme)

List all references of the provided RSE for the given protocol.

Parameters
  • rse – The RSE name.

  • scheme – The protocol identifier.

Response Headers
Status Codes
Returns

A list with detailed protocol information.

GET /rses/(rse)/protocols

List all supported protocols of the given RSE.

Parameters
  • rse – The RSE name.

Response Headers
Status Codes
Returns

A list containing all supported protocols and all their attributes.

GET /rses/(rse)/lfns2pfns

Return PFNs for a set of LFNs. Formatted as a JSON object where the key is a LFN and the value is the corresponding PFN.

Parameters
  • rse – The RSE name.

  • scheme – The protocol identifier.

Query Parameters
  • lfn – One or moref LFN to translate.

  • scheme – Optional argument to help with the protocol selection (e.g., http / gsiftp / srm)

  • domain – Optional argument used to select the protocol for wan or lan use cases.

  • operation – Optional query argument to select the protoco for read-vs-writes.

Response Headers
Status Codes
Returns

A list with detailed PFN information.

PUT /rses/(rse)/limits

Update RSE limits.

Parameters
  • rse – The RSE name.

Status Codes
GET /rses/(rse)/limits

Get RSE limits.

Parameters
  • rse – the RSE name.

Response Headers
Status Codes
Returns

List of dictionaries with RSE limits.

PUT /rses/(rse)/usage

Update RSE usage information.

Parameters
  • rse – The RSE name.

Request JSON Object
  • parameter (dict) – Dictionary with ‘source’, ‘used’, ‘free’ values to update.

Status Codes
GET /rses/(rse)/usage

Get RSE usage information.

Parameters
  • rse – the RSE name.

Query Parameters
  • source – The information source, e.g., srm.

  • per_account – Boolean whether the usage should be also calculated per account or not.

Response Headers
Status Codes
Returns

A list of dictionaries with the usage information.

DELETE /rses/(rse)/attr/(key)

Delete an RSE attribute for given RSE name.

Parameters
  • rse – RSE name.

  • key – The key name.

Status Codes
POST /rses/(rse)/attr/(key)

create RSE attribute with given RSE name.

Parameters
  • rse – RSE name.

  • key – Key attribute.

Request JSON Object
  • parameter (dict) – Dictionary with ‘value’.

Status Codes
GET /rses/(rse)/attr

list all RSE attributes for a RSE.

Parameters
  • rse – RSE name.

Response Headers
Status Codes
Returns

A list containing all RSE attributes.

PUT /rses/(source)/attr/(destination)

Update distance information between source RSE and destination RSE.

Parameters
  • source – The source RSE name.

  • destination – The destination RSE name.

Status Codes
POST /rses/(source)/attr/(destination)

Create distance information between source RSE and destination RSE.

Parameters
  • source – The source RSE name.

  • destination – The destination RSE name.

Status Codes
GET /rses/(source)/attr/(destination)

Get RSE distance between source and destination.

Parameters
  • source – the source RSE name.

  • destination – the destination RSE name.

Response Headers
Status Codes
Returns

List of dictionaries with RSE distances.

PUT /rses/(rse)

Update RSE properties (e.g. name, availability).

Parameters
  • rse – The RSE name.

Request JSON Object
  • parameters (dict) – Dictionary of parameters to update.

Status Codes
DELETE /rses/(rse)

Disable RSE with given RSE name.

Parameters
  • rse – the RSE name.

Status Codes
POST /rses/(rse)

Create RSE with given name.

Parameters
  • rse – The RSE name.

Request JSON Object
  • deterministic (bool) – Boolean to know if the pfn is generated deterministically.

  • volatile (bool) – Boolean for RSE cache.

  • city (string) – City for the RSE.

  • staging_area (bool) – Staging area.

  • region_code (string) – The region code for the RSE.

  • country_name (string) – The country.

  • continent (string) – The continent.

  • time_zone (string) – Timezone.

  • ISP (string) – Internet Service Provider.

  • rse_type (string) – RSE type.

  • latitude (number) – Latitude coordinate of RSE.

  • longitude (number) – Longitude coordinate of RSE.

  • ASN (string) – Access service network.

  • availability (integer) – Availability.

Status Codes
GET /rses/(rse)

Details about a specific RSE.

Parameters
  • rse – the RSE name.

Response Headers
Status Codes
Returns

A list containing all RSEs.