如何向 Foreman 查詢具有特定全域參數的主機?

如何向 Foreman 查詢具有特定全域參數的主機?

我們在 Foreman 中使用了一些全域參數,我需要列出所有將全域參數foo設為「bar」的主機。

我可以使用 REST API 或其他方法來做到這一點嗎?正在經歷API 呼叫列表,我沒有找到任何適用的東西——還有希望嗎?


或者,我正在考慮創建一個特殊的 Puppet 類,它除了將全域參數重述為其自己的變數之外什麼也不做。透過使其成為導出資源,我也許能夠從所有主機收集數據......但是,看起來很糟糕 - 有更好的方法嗎?

答案1

我可以使用 REST API 或其他方法來做到這一點嗎?瀏覽 API 呼叫列表,我沒有找到任何適用的內容——還有希望嗎?

你要GET /api/v2/hostsAPI文件) 檢索主機列表,然後新增參數search來過濾結果。

用於search=params.foo=bar過濾foo。您可以透過 UI 搜尋自動完成功能找到其他搜尋字串(語法完全相同),更多資訊位於工頭手冊:搜尋

因此,要查詢的完整 URL 類似於:

https://foreman.example.com/api/v2/hosts?search=params.foo=bar

相關內容