Мы немного используем глобальные параметры в Foreman, и мне нужно перечислить все хосты, для которых глобальный параметр foo
установлен на « bar
».
Могу ли я сделать это с помощью REST API или каким-либо другим методом? Просматривая список API-вызовов , я не нахожу ничего подходящего - есть ли надежда?
В качестве альтернативы я думаю о создании специального класса Puppet, который будет делать ничего, кроме как переформулировать глобальные параметры как собственные переменные. Сделав его экспортированным ресурсом , я могу собирать данные со всех хостов ... Это неприятно, однако - есть ли способ лучше?
Могу ли я сделать это с помощью 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
]