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."
}