Como consultar o Foreman para hosts com um parâmetro global específico?

Como consultar o Foreman para hosts com um parâmetro global específico?

Fazemos algum uso dos Parâmetros Globais no Foreman, e preciso listar todos os hosts que possuem o Parâmetro Global foodefinido 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 searchparâmetro para filtrar o resultado.

Use search=params.foo=barpara filtrar o fooparâ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

informação relacionada