Introduction

L'API fournie par les écouteurs est de type REST ; elle fonctionne donc par l'intermédiaire des différentes actions du protocole HTTP:

  • GET
  • PUT
  • POST
  • DELETE

L'identifiant des objets est fournie dans l'URL, et les données supplémentaires, quand cela est  nécessaire, sont fournies dans le corps de la requête HTTP sous la forme d'un objet JSON.

Cette page décrit les différentes actions réalisables ainsi que le format des données.

Description des actions

Les exemples utilisent la commande curl, disponible dans la plupart des distributions Linux.

Description générale d'une requête

Une requête est composée de plusieurs éléments :

  • Action HTTP : l'action que l'écouteur doit effectuer ; les actions disponibles sont décrites en détail dans les sections suivantes
  • Adresse et port d'écoute du LIstener : l'adresse est celle du Synchronizer, le port du listener REST fourni avec Shinken Entreprise est le 7761
  • Nom du listener : il s'agit du nom du listener tel que défini dans la propriété listener_name du fichier de définition du listener ; le listener fourni avec Shinken Entreprise est listener-rest
  • Version du protocole : dans cette version de Shinken Entreprise, il s'agit de la v1 ; si le protocole évolue dans de futures versions, le numéro de version évoluera également, ce qui permettra au listener de conserver la compatibilité avec la version actuelle
  • Header HTTP : La liste des en-têtes HTTP ; dans le cas du listener ; nous spécifions que nous envoyons du contenu JSON
  • Données de l'objet : Les données décrivant l'objet à importer respectent le format JSON. Il s'agit d'un dictionnaire décrivant toutes les propriétés de l'objet ; Elles sont définies de la même manière que dans les fichiers CFG


PUT

Cette action permet d'envoyer à l'écouteur un nouvel objet

$ curl  -X PUT 'http://synchronizer-server:7761/shinken/listener-rest/v1/hosts/' -H "Content-type: application/json" -d '{"host_name": "host_from_listener"}'