# rse.py

`GET` `/rses//`

  List all RSEs.

  Example request:

      GET /rses// HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type: 'application/x-json-stream'

  Status Codes: | 400 Bad Request – ‘InvalidRSEExpression’: e 400 Bad Request – ‘InvalidObject’: e[0][0] 500 Internal Server Error – e.__class__.__name__: e.args[0][0]

`POST` `/rses/<rse>`

  Create RSE with given name.

  Example request:

      POST /rses/<rse> HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type:

  Status Codes: | 400 Bad Request – ‘ValueError’: ‘Cannot decode json parameter dictionary’ 401 Unauthorized – ‘AccessDenied’: e.args[0][0] 409 Conflict – ‘Duplicate’: e[0][0] 400 Bad Request – ‘InvalidObject’: e[0][0] 500 Internal Server Error – e.__class__.__name__: e.args[0][0]

`PUT` `/rses/<rse>`

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

  Example request:

      PUT /rses/<rse> HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type:

  Status Codes: | 400 Bad Request – ‘ValueError’: ‘Cannot decode json parameter dictionary’ 401 Unauthorized – ‘AccessDenied’: e.args[0][0] 409 Conflict – ‘Duplicate’: e[0][0] 400 Bad Request – ‘InvalidObject’: e[0][0] 500 Internal Server Error – e.__class__.__name__: e.args[0][0]

`GET` `/rses/<rse>`

  Details about a specific RSE.

  Example request:

      GET /rses/<rse> HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type: 'application/json'

  Status Codes: | 404 Not Found – ‘RSENotFound’: e[0][0] 500 Internal Server Error – e.__class__.__name__: e.args[0][0]

`DELETE` `/rses/<rse>`

  Disable RSE with given account name.

  Example request:

      DELETE /rses/<rse> HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type:

  Status Codes: | 404 Not Found – ‘RSENotFound’: e.args[0][0] 401 Unauthorized – ‘AccessDenied’: e.args[0][0]

`POST` `/rses`

  create rse with given RSE name.

  Example request:

      POST /rses HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type:

  Status Codes: | 400 Bad Request – ‘ValueError’: ‘Cannot decode json parameter dictionary’ 400 Bad Request – ‘KeyError’: ‘%s not defined’ % str(e 401 Unauthorized – ‘AccessDenied’: e.args[0][0] 409 Conflict – ‘Duplicate’: e[0][0]

`GET` `/rses`

  list all RSE attributes for a RSE.

  Example request:

      GET /rses HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type: 'application/json'

`DELETE` `/rses`

  > No doc string

  Example request:

      DELETE /rses HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type:

`GET` `/rses`

  List all supported protocols of the given RSE.

  Example request:

      GET /rses HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type: 'application/json'

  Status Codes: | 404 Not Found – ‘RSEOperationNotSupported’: e[0][0] 404 Not Found – ‘RSENotFound’: e[0][0] 404 Not Found – ‘RSEProtocolNotSupported’: e[0][0] 404 Not Found – ‘RSEProtocolDomainNotSupported’: e[0][0] 404 Not Found – ‘RSEProtocolNotSupported’: ‘No prptocols found for this RSE’

`POST` `/rses`

  > Create a protocol for a given RSE.

  Example request:

      POST /rses HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type:

  Status Codes: | 400 Bad Request – ‘ValueError’: ‘Cannot decode json parameter dictionary’ 404 Not Found – ‘RSENotFound’: e[0][0] 401 Unauthorized – ‘AccessDenied’: e.args[0][0] 409 Conflict – ‘Duplicate’: e[0][0] 400 Bad Request – ‘InvalidObject’: e[0][0] 404 Not Found – ‘RSEProtocolDomainNotSupported’: e[0][0] 409 Conflict – ‘RSEProtocolPriorityError’: e[0][0] 500 Internal Server Error – e.__class__.__name__: e.args[0][0]

`GET` `/rses`

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

  Example request:

      GET /rses HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type: 'application/json'

  Status Codes: | 404 Not Found – ‘RSENotFound’: e[0][0] 404 Not Found – ‘RSEProtocolNotSupported’: e[0][0] 404 Not Found – ‘RSEProtocolDomainNotSupported’: e[0][0]

`PUT` `/rses`

  > Updates attributes of an existing protocol entry. Because protocol identifier, hostname,

  Example request:

      PUT /rses HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type:

  Status Codes: | 400 Bad Request – ‘ValueError’: ‘Cannot decode json parameter dictionary’ 400 Bad Request – ‘InvalidObject’: e[0][0] 404 Not Found – ‘RSEProtocolNotSupported’: e[0][0] 404 Not Found – ‘RSENotFound’: e[0][0] 404 Not Found – ‘RSEProtocolDomainNotSupported’: e[0][0] 409 Conflict – ‘RSEProtocolPriorityError’: e[0][0] 500 Internal Server Error – e.__class__.__name__: e.args[0][0]

`DELETE` `/rses`

  > Deletes a protocol entry for the provided RSE.

  Example request:

      DELETE /rses HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type:

  Status Codes: | 404 Not Found – ‘RSEProtocolNotSupported’: e[0][0] 404 Not Found – ‘RSENotFound’: e[0][0] 500 Internal Server Error – e.__class__.__name__: e.args[0][0]

`GET` `/rses`

  > Get RSE usage information.

  Example request:

      GET /rses HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type: 'application/x-json-stream'

  Status Codes: | 404 Not Found – ‘RSENotFound’: e[0][0] 500 Internal Server Error – e.__class__.__name__: e.args[0][0]

`PUT` `/rses`

  Update RSE usage information.

  Example request:

      PUT /rses HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type:

  Status Codes: | 400 Bad Request – ‘ValueError’: ‘Cannot decode json parameter dictionary’ 401 Unauthorized – ‘AccessDenied’: e.args[0][0] 500 Internal Server Error – e.__class__.__name__: e.args[0][0]

`GET` `/rses`

  > Get RSE usage information.

  Example request:

      GET /rses HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type: 'application/x-json-stream'

  Status Codes: | 404 Not Found – ‘RSENotFound’: e[0][0] 500 Internal Server Error – e.__class__.__name__: e.args[0][0]

`GET` `/rses`

  > Get RSE limits.

  Example request:

      GET /rses HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type: 'application/json'

  Status Codes: | 404 Not Found – ‘RSENotFound’: e[0][0] 500 Internal Server Error – e.__class__.__name__: e.args[0][0]

`PUT` `/rses`

  Update RSE limits.

  Example request:

      PUT /rses HTTP/1.1

  Example response:

      HTTP/1.1 200 OK
      Vary: Accept
      Content-Type: 'application/json'

  Status Codes: | 400 Bad Request – ‘ValueError’: ‘Cannot decode json parameter dictionary’ 401 Unauthorized – ‘AccessDenied’: e.args[0][0] 500 Internal Server Error – e.__class__.__name__: e.args[0][0]