Hello,
I try to use an API to delete maintenance set on monitors, at the end of my technical operation.
I read the following documentation: docs.pingdom.com/.../
And this helped me to write the following SHELL script
now_epoch=$(date +%s)
for maintid in ${maintenanceids}; do
echo -e "0-Working on ${maintid}"
curl -X GET -sS -H "Authorization: Bearer ${PINGDOM_TOKEN}" "https://api.pingdom.com/api/3.1/maintenance/${maintid}" | jq -er '.'
maintenance_end=0
filter_description="${TENANT} muted by script"
maintenance_end=$(curl -X GET -sS -H "Authorization: Bearer ${PINGDOM_TOKEN}" "https://api.pingdom.com/api/3.1/maintenance/${maintid}" | jq -er --arg F_DESCRIPTION "${filter_description}" '.maintenance | select (.description == $F_DESCRIPTION) | .to')
echo -e "1-Maintenance_end ::${maintenance_end}:: now_epoch ::${now_epoch}::"
if [[ "${maintenance_end}" -gt "${now_epoch}" ]]; then
echo -e "\t 2-CAN BE STOPPED"
echo -e "\t\t 3-GET https://api.pingdom.com/api/3.1/maintenance/${maintid}"
curl -X -sS GET -H "Authorization: Bearer ${PINGDOM_TOKEN}" "https://api.pingdom.com/api/3.1/maintenance/${maintid}" | jq -r '.'
echo -e "\t\t 4-DELETE https://api.pingdom.com/api/3.1/maintenance/${maintid}"
curl -X DELETE -H "Authorization: Bearer ${PINGDOM_TOKEN}" "https://api.pingdom.com/api/3.1/maintenance/${maintid}" | jq -r '.'
else
echo -e "\t ---NO NEED TO STOP MAINTENANCE"
fi
done
Yet, my DELETE maintenance API call ends with a 404 error.
Here is the script output, in case I find a maintenance that I need to delete:
0-Working on 159819
{
"maintenance": {
"id": 159819,
"description": "xxxxx muted by script",
"from": 1602858337,
"to": 1602858636,
"duration": 4,
"durationunit": "minute",
"recurrencetype": "none",
"repeatevery": 0,
"dayofweekinmonth": 0,
"effectiveto": 1602858636,
"checks": {
"uptime": [
6352482,
6352483,
6352484
],
"tms": []
}
}
}
1-Maintenance_end ::1602858636:: now_epoch ::1602858350::
2-CAN BE STOPPED
3-GET https://api.pingdom.com/api/3.1/maintenance/159819
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 291 100 291 0 0 1961 0 --:--:-- --:--:-- --:--:-- 1966
{
"maintenance": {
"id": 159819,
"description": "xxxxx muted by script",
"from": 1602858337,
"to": 1602858636,
"duration": 4,
"durationunit": "minute",
"recurrencetype": "none",
"repeatevery": 0,
"dayofweekinmonth": 0,
"effectiveto": 1602858636,
"checks": {
"uptime": [
6352482,
6352483,
6352484
],
"tms": []
}
}
}
4-DELETE https://api.pingdom.com/api/3.1/maintenance/159819
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 106 100 106 0 0 731 0 --:--:-- --:--:-- --:--:-- 736
{
"error": {
"statuscode": 404,
"statusdesc": "Not Found",
"errormessage": "Please specify a valid API resource"
}
}
Can you tell me how to invoque properly this API?
Thanks in advance,
Thomas