2017-06-12 4 views
0

特定のバージョンのデータバッグからいくつかのパッケージを追加する必要があります。複数のリソース入力で動作するChefデータバッグjson構造を探しています

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

とレシピコード:これまでのところ、私は、パッケージのリソースで動作するデータバッグ持って

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

をしかし、私は、JSONの構造は、特定のバージョンをインストールするにはどのようになるかわからないんだけど

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

ない...しかし、この作業を行う方法上の任意のアイデアを再現可能なJSONハッシュでそれを指定する方法を確認します - データ袋でパッケージのインスタンスのための単一のパッケージには、このように動作しますか?

答えて

2

具体的な構造、あなたはおそらくしたいことは、このようなものではありません。

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

とハッシュに配列からそれを変更、例えばは、次のように入力します。

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

これはまさに私が探していたものです - 感謝!!! – TyMac

関連する問題