Wir machen in Foreman Gebrauch von den globalen Parametern, und ich muss alle Hosts auflisten, bei denen der globale Parameter foo
auf " " eingestellt ist bar
.
Kann ich das mit der REST-API oder über eine andere Methode tun? Durchgehen Sie dieListe der API-Aufrufe, ich finde nichts Passendes – gibt es Hoffnung?
Alternative, ich denke daran, eine spezielle Puppet-Klasse zu erstellen, die nichts anderes tut, als die globalen Parameter als eigene Variablen umzuschreiben. Indem ich sie zu einerexportierte Ressource, ich kann möglicherweise die Daten von allen Hosts sammeln ... Scheint jedoch fies – gibt es einen besseren Weg?
Antwort1
Kann ich das mit der REST-API oder über eine andere Methode tun? Wenn ich die Liste der API-Aufrufe durchgehe, finde ich nichts Anwendbares – gibt es Hoffnung?
Sie wollen GET /api/v2/hosts
(API-Dokument), um eine Liste von Hosts abzurufen, und fügen Sie dann den search
Parameter hinzu, um das Ergebnis zu filtern.
Verwenden Sie search=params.foo=bar
diese Option, um nach dem foo
Parameter zu filtern. Sie können andere Suchbegriffe über die automatische Vervollständigung der UI-Suche finden (es ist genau die gleiche Syntax) und weitere Informationen finden Sie inForeman-Handbuch: Suchen.
Die vollständige abzufragende URL würde also etwa so aussehen:
https://foreman.example.com/api/v2/hosts?search=params.foo=bar