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.

GOCDB/PI/Technical Documentation

From EGIWiki
< GOCDB‎ | PI
Jump to navigation Jump to search

GOCDB Programmatic Interface

Important information about using the GOCDBPI

Releases, changes and announcements

All client tool using GOCDB should register someone to the GOCDB discussion mailing list: gocdb-discuss_at_mailtalk.ac.uk. Releases, new features, changes in methods and general announcements related to this interface are made on this list.

If your application is using the GOCDB Programmatic interface please request to join this mailing list by sending us a mail to gocdb-admins@mailtalk.ac.uk.


Interface description

Interface type

GOCDB Programmatic Interface is a REST (Representational State Transfer) based interface over https. The use of https guarantees URLs are properly secured when transiting. Some of the methods are nonetheless public and don't require client side authentication (see #Data protection and access).

Entry point

Enter GOCDB here https://goc.gridops.org/ or directly at https://goc.gridops.org/portal/ to browse the global EGI information or at https://gocdb4.esc.rl.ac.uk/portal to update information.

Entry point for every single method is given on method definition pages listed below.

Outputs

Output format is XML. Calling any implemented method will return you a valid DOM document that can be parsed by any tool on client side.

Schemas

The associated XML schema for each method is available by calling the method with "&output=xmlschema", e.g. https://goc.gridops.org/gocdbpi/private/?method=get_site&output=xmlschema


Data protection and access

Protection levels

There are currently 3 protection levels for all methods of the interface

  • Level 1: public methods (no critical information, no mail, no personal details)
  • Level 2: protected methods (contain mails or personal details)
  • Level 3: private methods (contains security or critical information)

Methods at level 1 are available without restrictions. Level 2 requires client to present a valid recognized X509 certificate (reference CA list is the officially agreed EGEE/LCG EUGridPMA list). Level 3 requires client to present a known, registered certificate (certificate DN needs to be stored on GOCDB side for authentication)


How to gain access?

If you need to access protected methods, a valid certificate will be enough. If you need to access private methods, please send a mail to gocdb-admins@mailtalk.ac.uk, indicating:

  • Your name and affiliation
  • The name and purpose of the tool that need to access the data
  • certificate DN of the machine(s) that will retrieve the information
  • An e-mail contact for your application, that will be subscribed to the GOCDB-discussion and announcement mailing list if it is not already there.


Available methods

Method name type description Protection level
get_site read - generic Returns site information including contacts, grouped by site 2
get_site_list read - generic Returns a list of sites with minimal associated information 1
get_site_contacts read - generic Returns a list of persons (and associated info) having a role at site level, grouped per site  2
get_site_security_info read - generic Returns security contact information for sites 3
get_ngi_list read - generic Returns a list of NGIs with minimal associated information 1
get_subgrid_list read - generic Returns a list of Subgrids (i.e. registered sub-parts of an NGI) with minimal associated information 1
get_ngi_contacts read - generic Returns NGI contact details, including NGI contact mail address and list of NGI staff 2
get_egi_contacts read - generic Returns a list of contacts for staff that have a role a EGI level 2
get_downtime read - generic Returns a list of EGI downtimes for sites and nodes 1
get_node [unsupported] read - generic Returns a list of nodes with associated information and affiliation 1
get_service_endpoint read - generic Returns a list of service endpoints (single node x single service) and associated information 1
get_service_types read - generic Returns a list of valid service types and associated description 1
get_user read - generic Returns a user or a list of users with associated details and roles 2
get_downtime_to_broadcast read - dedicated Returns the list of downtimes recently declared with notification settings for CIC portal downtime notification service 2