Chef infra 如何在chef中定义和调用数组?
下面是我用来复制许多文件的资源Chef infra 如何在chef中定义和调用数组?,chef-infra,chef-recipe,Chef Infra,Chef Recipe,下面是我用来复制许多文件的资源 ['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 "#
['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'、'generic-host_nagios2.cfg'、'generic-service_nagios2.cfg'、'hostgroups_nagios2.cfg'、'services_nagios2.cfg'、'timeperiods_nagios2.cfg']定义为同一配方中的属性 这将创建一个数组类型的属性,可以在配方文件中定义:
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
像其他属性一样?你试过什么?