2017-09-20 3 views
0

Können wir eine JSON-Datei als Inventar-Hosts in Ansible verwenden?können wir JSON-Datei als Inventar-Hosts in ansible verwenden

Ich habe unter Format und ich möchte db als Host verwenden.

prepackages: { 
    db: [{ 
       packageName: "vim" 
    }, 
    { 
       packageName: "vim" 
    }] 
} 

Bitte schlagen Sie eine Lösung vor.

+0

Nicht direkt. Was ist der Anwendungsfall? – techraf

+0

Ich habe vars in obigem json definiert, um Pakete zu installieren, aber ich möchte JSON-Gruppe (d. H. Db) als einen Gastgeber anstelle von in der Bestandsliste definierten Hosts verwenden. –

Antwort

0

Ihr Beispiel ist kein gültiger JSON. Ich nehme an, Sie gültige JSON wie dieses:

{ 
    "prepackages": { 
    "db": [{ "packageName": "vim" }, 
      { "packageName": "vim" }] 
    } 
} 

Dann können Sie Ihre Inventardatei erstellen für ansible jq auf diese Weise mit:

jq -r '.prepackages|keys|.[]' <hosts.json> hosts.ini 
Verwandte Themen