Icinga2 API:如何将主机的所有服务设置为停机?

Icinga2 API:如何将主机的所有服务设置为停机?,api,ansible,icinga2,Api,Ansible,Icinga2,我正在尝试自动设置和删除icinga主机上的停机时间 我当前正在使用以下命令: 请注意,我在ansible playbook中运行此操作,因此{{item}}是主机名,任何其他双括号都用ansible变量填充 这会使主机处于停机状态。但是,它不会将该主机上的任何服务置于停机状态。这就好像我进入web ui并在没有选中“所有服务”复选框的情况下使主机停机一样 如何更改此命令以使主机停机,同时使该主机上的所有服务停机 我还想知道是否有一个ansible任务也可以执行此功能。答案是将url末尾的&ty

我正在尝试自动设置和删除icinga主机上的停机时间

我当前正在使用以下命令:

请注意,我在ansible playbook中运行此操作,因此{{item}}是主机名,任何其他双括号都用ansible变量填充

这会使主机处于停机状态。但是,它不会将该主机上的任何服务置于停机状态。这就好像我进入web ui并在没有选中“所有服务”复选框的情况下使主机停机一样

如何更改此命令以使主机停机,同时使该主机上的所有服务停机


我还想知道是否有一个ansible任务也可以执行此功能。

答案是将url末尾的&type=Host位更改为&type=Service以执行服务停机而不是主机停机

curl -k -s -u {{username}}:{{password}} -H 'Accept: application/json' -X POST "https://localhost:5665/v1/actions/schedule-downtime?filter=host.name==%22{{item}}%22&type=Service" -d "{ \"start_time\": \"{{now}}\", \"end_time\": \"{{end}}\", \"duration\": 1000, \"author\": \"{{username}}\", \"comment\": \"auto set downtime on {{item}}\" }"
curl -k -s -u {{username}}:{{password}} -H 'Accept: application/json' -X POST "https://localhost:5665/v1/actions/schedule-downtime?filter=host.name==%22{{item}}%22&type=Service" -d "{ \"start_time\": \"{{now}}\", \"end_time\": \"{{end}}\", \"duration\": 1000, \"author\": \"{{username}}\", \"comment\": \"auto set downtime on {{item}}\" }"