Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

Difference between revisions of "GOCDB/Write API/Development"

From EGIWiki
Jump to navigation Jump to search
 
(19 intermediate revisions by the same user not shown)
Line 2: Line 2:


== Timeline ==
== Timeline ==
The Alpha release for the write API is planned for the W/C 19th of September. This will allow at least a subset of the initially panned urls to be tested, including authentication.
The Alpha release for the write API is planned for the W/C <strike>19th of September</strike> 24th October. This will allow at least a subset of the initially panned urls to be tested, including authentication.


== Initially supported urls  ==
== Initially supported urls  ==
 
Details of the methods implemented in the write API can be found on [[GOCDB/Write_API/Technical_Documentation#Supported_methods|Technical Documentation page]].
The following table shows the methods and URLs that we plan to implement
 
{| cellspacing="1" cellpadding="1" border="1" class="wikitable"
|-
! scope="col"| '''Method'''
! scope="col"| '''URL'''
! scope="col"| '''Function'''
|-
| POST
| &lt;apiurl&gt;/v5/ServiceEndPoint/&lt;End point ID&gt;/ExtensionProperties
| Adds the extension properties defined in the request to the SE with the given ID (fails if there are already extension properties)
|-
| PUT
| &lt;apiurl&gt;/v5/ServiceEndPoint/&lt;End point ID&gt;/ExtensionProperties
| replace the extension properties for the SE with the given ID (fails if there are already extension properties) with those in the request (?if non defined?)
|-
| DELTE
| &lt;apiurl&gt;/v5/ServiceEndPoint/&lt;End point ID&gt;/ExtensionProperties
| Removes all the extension properties for the SE with the given ID (fails if there are already extension properties) (?if non defined?)
|-
| POST
| &lt;apiurl&gt;/v5/ServiceEndPoint/&lt;End point ID&gt;/ExtensionProperties/&lt;name&gt;
| Adds an extension property of the named SE with the named name and value in the request (fails if property with that name is already defined)
|-
| PUT
| &lt;apiurl&gt;/v5/ServiceEndPoint/&lt;End point ID&gt;/ExtensionProperties/&lt;name&gt;
| Updates the extension property of the named SE with the named name and value in the request (?If property is not already defined)
|-
| DELTE
| &lt;apiurl&gt;/v5/ServiceEndPoint/&lt;End point ID&gt;/ExtensionProperties/&lt;name&gt;
| Removes the named extension property from the named SE
|-
| POST
| &lt;apiurl&gt;/v5/Service/&lt;Service ID&gt;/ExtensionProperties
| Adds the extension properties defined in the request to the service with the given ID (fails if there are already extension properties)
|-
| PUT
| &lt;apiurl&gt;/v5/Service/&lt;Service ID&gt;/ExtensionProperties
| Replace the extension properties for the service with the given ID (fails if there are already extension properties) with those in the request (?if non defined?)
|-
| DELTE
| &lt;apiurl&gt;/v5/Service/&lt;Service ID&gt;/ExtensionProperties
| Removes all the extension properties for the service with the given ID (fails if there are already extension properties) (?if non defined?)
|-
| POST
| &lt;apiurl&gt;/v5/Service/&lt;Service ID&gt;/ExtensionProperties/&lt;name&gt;
| Adds an extension property of the named service with the named name and value in the request (fails if property with that name is already defined)
|-
| PUT
| &lt;apiurl&gt;/v5/Service/&lt;Service ID&gt;/ExtensionProperties/&lt;name&gt;
| Updates the extension property of the named service with the named name and value in the request (?If property is not already defined)
|-
| DELTE
| &lt;apiurl&gt;/v5/Service/&lt;Service ID&gt;/ExtensionProperties/&lt;name&gt;
| Removes the named extension property from the named service
|-
| POST
| &lt;apiurl&gt;/v5/Site/&lt;Site ID&gt;/ExtensionProperties
| Adds the extension properties defined in the request to the Site with the given ID (fails if there are already extension properties)
|-
| PUT
| &lt;apiurl&gt;/v5/Site/&lt;Site ID&gt;/ExtensionProperties
| Replace the extension properties for the site with the given ID (fails if there are already extension properties) with those in the request (?if non defined?)
|-
| DELTE
| &lt;apiurl&gt;/v5/Site/&lt;Site ID&gt;/ExtensionProperties
| Removes all the extension properties for the site with the given ID (fails if there are already extension properties) (?if non defined?)
|-
| POST
| &lt;apiurl&gt;/v5/Site/&lt;Site ID&gt;/ExtensionProperties/&lt;name&gt;
| Adds an extension property of the named site with the named name and value in the request (fails if property with that name is already defined)
|-
| PUT
| &lt;apiurl&gt;/v5/Site/&lt;Site ID&gt;/ExtensionProperties/&lt;name&gt;
| Updates the extension property of the named site with the named name and value in the request (?If property is not already defined)
|-
| DELTE
| &lt;apiurl&gt;/v5/Site/&lt;Site ID&gt;/ExtensionProperties/&lt;name&gt;
| Removes the named extension property from the named site
|}


== Proposed authorisation mechanism ==
== Proposed authorisation mechanism ==

Latest revision as of 15:37, 25 October 2016

Write API Development

Timeline

The Alpha release for the write API is planned for the W/C 19th of September 24th October. This will allow at least a subset of the initially panned urls to be tested, including authentication.

Initially supported urls

Details of the methods implemented in the write API can be found on Technical Documentation page.

Proposed authorisation mechanism

The proposed method for authentication for the write API is initially by X509 certificate. Each site will be able to define a list of authorised robot DNs that may make changes through the write API. The same authentication mechanism will be used as for the rest of GOCDB.

Github

The current working branch for this work can be found here.