Как запросить у Foreman хосты с определенным глобальным параметром?

Как запросить у Foreman хосты с определенным глобальным параметром?

Мы используем глобальные параметры в 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

Связанный контент