Мы используем глобальные параметры в Foreman, и мне нужно вывести список всех хостов, для которых глобальный параметр foo
установлен на " bar
".
Могу ли я сделать это с помощью REST API или каким-то другим способом?список API-вызовов, я не нахожу ничего подходящего — есть ли надежда?
Альтернативно, я думаю о создании специального класса Puppet, который не будет ничего делать, кроме как переопределять глобальные параметры как свои собственные переменные. Сделав егоэкспортируемый ресурс, возможно, мне удастся собрать данные со всех хостов... Однако это кажется неприятным — есть ли способ получше?
решение1
Могу ли я сделать это с помощью REST API или каким-то другим способом? Просматривая список вызовов API, я не нахожу ничего подходящего — есть ли надежда?
Вы хотите GET /api/v2/hosts
(API-документ) для получения списка хостов, затем добавьте search
параметр для фильтрации результата.
Используйте search=params.foo=bar
для фильтрации foo
параметра. Вы можете найти другие строки поиска через автозаполнение поиска пользовательского интерфейса (это точно такой же синтаксис) и больше информации вРуководство для бригадира: Поиск.
Таким образом, полный URL-адрес для запроса будет выглядеть примерно так:
https://foreman.example.com/api/v2/hosts?search=params.foo=bar