Fazemos algum uso dos Parâmetros Globais no Foreman, e preciso listar todos os hosts que possuem o Parâmetro Global foo
definido como " bar
".
Posso fazer isso com a API REST ou através de algum outro método? Passando pelolista de chamadas de API, não encontro nada aplicável - há esperança?
alternativamente, estou pensando em criar uma classe Puppet especial, que não fará nada além de reafirmar os parâmetros globais como suas próprias variáveis. Ao torná-lo umrecurso exportado, talvez eu consiga coletar os dados de todos os hosts... Parece desagradável, entretanto - existe uma maneira melhor?
Responder1
Posso fazer isso com a API REST ou através de algum outro método? Examinando a lista de chamadas de API, não encontro nada aplicável – há esperança?
Você quer GET /api/v2/hosts
(Documento da API) para recuperar uma lista de hosts e adicione o search
parâmetro para filtrar o resultado.
Use search=params.foo=bar
para filtrar o foo
parâmetro. Você pode encontrar outras strings de pesquisa por meio do preenchimento automático de pesquisa da IU (é exatamente a mesma sintaxe) e mais informações emManual do capataz: Pesquisando.
Portanto, o URL completo a ser consultado seria algo como:
https://foreman.example.com/api/v2/hosts?search=params.foo=bar