Я хочу запустить ресурс cookbook_file, только если текущая среда - «dev». Как это можно выразить?
Документация предполагает следующее:
В рецепте будет полезен такой блок кода:
qa_nodes = search(:node,"chef_environment:QA") qa_nodes.each do |qa_node| # Do useful specific to qa nodes only end
Но я не уверен, что именно этого хочу - факт, что это цикл, кажется неправильным.
Посмотрите на атрибут Ruby chef_environment (не обычный атрибут Chef) на узле:
if node.chef_environment == "dev"
# stuff
end
еще один элегантный способ:
if ['production','development'].include? node.chef_environment
#do something here
end