Назад | Перейти на главную страницу

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

Мы используем глобальные параметры в Foreman, и мне нужно перечислить все хосты, у которых есть глобальные параметры. foo установлен в "bar".

Могу ли я сделать это с помощью REST API или каким-либо другим способом? Проходя через список API-вызовов, Ничего подходящего не нахожу - есть ли надежда?


Альтернативно, Я подумываю создать специальный класс Puppet, который не будет ничего делать, кроме как повторно указывать глобальные параметры как свои собственные переменные. Сделав это экспортируемый ресурс, Возможно, я смогу собрать данные со всех хостов ... Однако это выглядит неприятно - есть ли способ лучше?

Могу ли я сделать это с помощью 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