Aller au contenu

Heartbeat

L'API HeartBeat permet de consulter, créer et supprimer des HeartBeats.

Pour plus d'informations sur ce qu'est un heartbeat, consulter la documentation du moteur engine-heartbeat.

Création de Heartbeat

Crée un nouveau HeartBeat à partir du corps de la requête.

URL : /api/v2/heartbeat

Méthode : POST

Authentification requise : Oui

Permissions requise : Aucune

Exemple de corps de requête :

{
  "pattern": {
      "connector": "c1",
      "connector_name": "connector1"
  },
  "expected_interval": "10s"
}

Exemple de requête curl pour utilisateur root avec mot de passe root qui veut ajouter le JSON ci-dessus :

curl -X POST -u root:root -H "Content-Type: application/json" -d '{
  "pattern": {
      "connector": "c1",
      "connector_name": "connector1"
  },
  "expected_interval": "10s"
}' 'http://<Canopsis_URL>/api/v2/heartbeat/'

Réponse en cas de réussite

Condition : l'HeartBeat est créé

Code : 200 OK

Exemple du corps de la réponse :

{
  "name": "heartbeat created",
  "description": "cd92421e77f48435d38b3682beb62f07"
}

Réponse en cas d'erreur

Condition : Si le corps de la requête n'est pas valide.

Code : 400 BAD REQUEST

Exemple du corps de la réponse :

{
  "name": "",
  "description": "invalid heartbeat payload."
}

Condition : Si un HeartBeat similaire existe déjà en base.

Code : 400 BAD REQUEST

Exemple du corps de la réponse :

{
  "name": "",
  "description": "heartbeat pattern already exists"
}

Condition : En cas d'erreur avec la base de données.

Code : 400 BAD REQUEST

Exemple du corps de la réponse :

{
  "name": "",
  "description": "database error, please contact your administrator."
}

Suppression de Heartbeat

Supprime un HeartBeat en fonction de son id.

URL : /api/v2/heartbeat/<heartbeat_id>

Méthode : DELETE

Authentification requise : Oui

Permissions requise : Aucune

Exemple de requête curl pour utilisateur root avec mot de passe root qui veut supprimer le heartbeat avec l'id cd92421e77f48435d38b3682beb62f07 :

curl -X DELETE -u root:root 'http://<Canopsis_URL>/api/v2/heartbeat/cd92421e77f48435d38b3682beb62f07'

Réponse en cas de réussite

Condition : L'Heartbeat à bien été supprimé.

Code : 200 OK

Exemple du corps de la réponse :

{
  "name": "heartbeat removed",
  "description": "cd92421e77f48435d38b3682beb62f07"
}

Réponse en cas d'erreur

Condition : Si l'id ne correspond à aucun HeartBeat.

Code : 404 NOT FOUND

Exemple du corps de la réponse :

{
  "description" : "heartbeat not found",
  "name" : "cd92421e77f48435d38b3682beb62f07"
}

Condition : En cas d'erreur avec la base de données.

Code : 400 BAD REQUEST

Exemple du corps de la réponse :

{
  "name": "",
  "description": "database error, please contact your administrator."
}

Récupération des HeartBeats

Récupère un ou plusieurs HeartBeats créés en base.

Récupération d'un HeartBeat par id

URL : /api/v2/heartbeat/<heartbeat_id>

Méthode : GET

Authentification requise : Oui

Permissions requise : Aucune

Exemple de requête curl pour utilisateur root avec mot de passe root pour récupérer le heartbeat avec l'id cd92421e77f48435d38b3682beb62f07 :

curl -X GET -u root:root 'http://<Canopsis_URL>/api/v2/heartbeat/cd92421e77f48435d38b3682beb62f07'
Réponse en cas de réussite

Condition : Un HeartBeat correspondant à l'id est trouvé.

Code : 200 OK

Exemple du corps de la réponse :

{
  "_id": "cd92421e77f48435d38b3682beb62f07",
  "pattern": {
      "connector": "c1",
      "connector_name": "connector1"
  },
  "expected_interval": "10s"
}
Réponse en cas d'erreur

Condition : Aucun HeartBeat correspondant à l'id n'est trouvé.

Code : 404 NOT FOUND

Exemple du corps de la réponse :

{
  "description" : "heartbeat not found",
  "name" : "cd92421e77f48435d38b3682beb62f07"
}

Condition : En cas d'erreur avec la base de données.

Code : 400 BAD REQUEST

Exemple du corps de la réponse :

{
  "description": "database error, please contact your administrator."
}

Récupération de tous les HeartBeats en base de données

Récupère tous les HeartBeats stockés en base

URL : /api/v2/heartbeat/

Méthode : GET

Authentification requise : Oui

Permissions requise : Aucune

Exemple de requête curl pour utilisateur root avec mot de passe root pour récupérer tous les heartbeats :

curl -X GET -u root:root 'http://<Canopsis_URL>/api/v2/heartbeat/'
Réponse en cas de réussite

Condition : aucune.

Code : 200 OK

Exemple du corps de la réponse :

[
    {
      "_id": "cd92421e77f48435d38b3682beb62f07",
      "pattern": {
          "connector": "c1",
          "connector_name": "connector1"
      },
      "expected_interval": "10s"
    },
    {
      "_id": "3d071cb49acce44040b35ed8c6714ef1",
      "pattern": {
          "connector": "c2",
          "connector_name": "connector2"
      },
      "expected_interval": "15m"
    }
]
Réponse en cas d'erreur

Condition : En cas d'erreur avec la base de données.

Code : 400 BAD REQUEST

Exemple du corps de la réponse :

{
  "description": "database error, please contact your administrator."
}

Dernière mise à jour: 2020-04-29