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