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 :

{
  "author": "créateur",
  "name": "Heartbeat",
  "description": "Ceci est une description",
  "expected_interval": "1m",
  "output": "Une note personnalisable",
  "pattern": {
    "connector": "connect",
    "connector_name": "c01"
  }
}

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 '{
  "author": "créateur",
  "name": "Heartbeat",
  "description": "Ceci est une description",
  "expected_interval": "1m",
  "output": "Une note personnalisable",
  "pattern": {
    "connector": "connect",
    "connector_name": "c01"
  }
}' 'http://localhost:8082/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": "eaadc64a-a0ef-4c5c-8453-a45e574fd5ca"
}

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 eaadc64a-a0ef-4c5c-8453-a45e574fd5ca :

curl -X DELETE -u root:root 'http://localhost:8082/api/v2/heartbeat/eaadc64a-a0ef-4c5c-8453-a45e574fd5ca'

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": "eaadc64a-a0ef-4c5c-8453-a45e574fd5ca"
}

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" : "eaadc64a-a0ef-4c5c-8453-a45e574fd5ca"
}

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 cf7097b6-71ba-48db-a749-e9474aa70c93 :

curl -X GET -u root:root 'http://localhost:8082/api/v2/heartbeat/cf7097b6-71ba-48db-a749-e9474aa70c93'
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 :

{
  "updated": 1607680814,
  "description": "Ceci est une description",
  "created": 1607680814,
  "pattern": {
    "connector": "connect",
    "connector_name": "c01"
  },
  "author": "créateur",
  "expected_interval": "1m",
  "output": "Une chaîne de caractères",
  "_id": "cf7097b6-71ba-48db-a749-e9474aa70c93",
  "name": "Heartbeat"
}
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" : "cf7097b6-71ba-48db-a749-e9474aa70c93"
}

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://localhost:8082/api/v2/heartbeat'
Réponse en cas de réussite

Condition : aucune.

Code : 200 OK

Exemple du corps de la réponse :

[
    {
      "updated": 1607680882,
      "description": "Ceci est une description",
      "created": 1607680882,
      "pattern": {
        "connector": "connect",
        "connector_name": "c02"
      },
      "author": "root",
      "expected_interval": "1m",
      "output": "Une chaîne de caractères",
      "_id": "619e1f78-cb2e-4f15-afbe-1921aef8db8e",
      "name": "Heartbeat 2"
    },
    {
      "updated": 1607680814,
      "description": "Ceci est une description",
      "created": 1607680814,
      "pattern": {
        "connector": "connect",
        "connector_name": "c01"
      },
      "author": "créateur",
      "expected_interval": "1m",
      "output": "Une chaîne de caractères",
      "_id": "cf7097b6-71ba-48db-a749-e9474aa70c93",
      "name": "Heartbeat"
    }
]
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-12-11