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

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

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


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

3
задан 19 January 2017 в 08:57
1 ответ

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

Вы хотите GET / api / v2 / hosts ( API doc ), чтобы получить список хостов, затем добавить параметр search для фильтрации результата.

Используйте search = params.foo = bar для фильтрации по foo параметр. Вы можете найти другие строки поиска с помощью автозаполнения поиска в пользовательском интерфейсе (это точно такой же синтаксис) и дополнительную информацию в Руководстве по мастеру: Поиск .

Таким образом, полный URL-адрес для запроса будет примерно таким:

https://foreman.example.com/api/v2/hosts?search=params.foo=bar
]
3
ответ дан 3 December 2019 в 06:28

Теги

Похожие вопросы