2017-05-01 17 views
0

以下は、多くのファイルをコピーするために使用しているリソースです。シェフで配列を定義して呼び出す方法は?

['contacts_nagios2.cfg','generic-host_nagios2.cfg','generic-service_nagios2.cfg','hostgroups_nagios2.cfg','services_nagios2.cfg','timeperiods_nagios2.cfg'].each do |file| 
    cookbook_file "/etc/nagios3/conf.d/#{file}" do 
    source "#{file}" 
    mode '0644' 
    end 
end 

我々は 'contacts_nagios2.cfg'、 'ジェネリック-host_nagios2.cfg'、 'ジェネリック-service_nagios2.cfg'、 'hostgroups_nagios2.cfg'、 'services_nagios2.cfg'、 'timeperiods_nagios2.cfg [を定義することができます']同じレシピ内の属性として

+0

他の属性と同様ですか?何を試しましたか? – StephenKing

答えて

2

このタイプのアレイの属性を作成し、レシピファイル内で定義することができます。

node.default['nagios_config_files']=['contacts_nagios2.cfg','generic-host_nagios2.cfg','generic-service_nagios2.cfg','hostgroups_nagios2.cfg','services_nagios2.cfg','timeperiods_nagios2.cfg'] 

、あなたはそれに追加したい場合は、後から行うことができます。

node.default['nagios_config_files']|=['more_configs.cfg','even_more_configs.cfg'] 

(注

次に、以前のような属性を使用できます。

node['nagios_config_files'].each do |file| 
    cookbook_file "/etc/nagios3/conf.d/#{file}" do 
    source "#{file}" 
    mode '0644' 
    end 
end 
関連する問題