| 1 | = DETER Testbed API = |
| 2 | |
| 3 | The DETER testbed API is broken up into 5 services, each covering one of the major abstractions that the testbed exports. The services are: |
| 4 | |
| 5 | * ApiInfo |
| 6 | * Users |
| 7 | * Projects |
| 8 | * Resrources |
| 9 | * Experiments |
| 10 | |
| 11 | We discuss each in detail and provide links to the detailed javadoc of the implementation, where applicable and available. |
| 12 | |
| 13 | The document and API are both works in progress and will be fleshed out and changed as the API is modified. |
| 14 | |
| 15 | == General Info == |
| 16 | |
| 17 | The API is implemented as a SOAP web service over TLS secured connections. The user's identity is generally provided by a client certificate, but the client certificates are generally transient. A valid temporary client certificate can be requested from the API by correctly responding to a challenge keyed on the user's password. |
| 18 | |
| 19 | The API is implemented using the axis web service framework, which means that javadocs are provided for the various calls. |
| 20 | |
| 21 | == ApiInfo == |
| 22 | |
| 23 | The ApiInfo service provides metadata about the running DETER API. It also provides a simple check that a user is presenting authentication credentials correctly. |
| 24 | |
| 25 | The sole call in the ApiInfo service is {{{getVersion}}}, available at https://api.isi.deterlab.net:52323/axis2/services/ApiInfo/getVersion . It takes no arguments and returns |
| 26 | |
| 27 | Version:: |
| 28 | A string containing the API version number |
| 29 | PatchLevel:: |
| 30 | A string containing the patch level |
| 31 | KeyID:: |
| 32 | A string. If the user presented a valid public key and passed the challenge, this is the sha1 hash of that key. If no key was presented or an invalid one, this filed is not returned. |
| 33 | |
| 34 | [http://www.isi.edu/~faber/tmp/doc/net/deterlab/testbed/api/ApiInfo.html javadoc] |
| 35 | |
| 36 | == Users == |
| 37 | |
| 38 | The Users API is concerned with managing users and their profiles as well as authenticating to the testbed and receiving a client certificate for later calls. |
| 39 | |