2017-06-12 2 views
0

Ich habe ein Bedürfnis, mehrere Pakete aus einem Datenbeutel einer bestimmten Version hinzufügen. Bis jetzt habe ich eine Daten Tasche, die mit dem Paket Ressource funktioniert:Auf der Suche nach Chef Daten Tasche JSON Struktur, die mit mehreren Ressourcen-Eingaben funktioniert

{ 
    "id": "server_apps", 
    "apps": [ 
    "vim", 
    "tmux", 
    "ntop" 
] 
} 

Und das Rezept Code:

server_apps = data_bag_item('linapps','server_apps') 
package server_apps['apps'] 

Aber ich bin nicht sicher, was die json Struktur bestimmte Versionen installieren aussehen würde der Pakete in einem Datenbeutel - zum Beispiel arbeitet ein einzelnes Paket wie folgt aus:

package 'vim' do   
    version '7.4.160-1.el7' 
end 

nicht sicher, wie das in einem wiederholbaren json Hash zu spezifizieren Irgendwelche Ideen auf, aber ... wie diese Arbeit zu machen?

Antwort

2

Es gibt keine spezifische Struktur, was wollen Sie wahrscheinlich so etwas wie diese:

package server_apps['apps'].keys do 
    version server_apps['apps'].values 
end 

und es auf einen Hash aus einem Array ändern, z.B. wie die folgenden:

{ 
    "id": "server_apps", 
    "apps": { 
    "vim": "7.4.160-1.el7", 
    "tmux": "1.2.3", 
    "ntop": "0.0.1" 
    } 
} 
+0

Dies ist genau das, was ich gesucht habe - danke !!! – TyMac

Verwandte Themen