Chef中的模板可以在订单中应用吗?

时间:2014-05-29 05:21:36

标签: chef chef-recipe

假设我有一个通用模板,其配方如下:

template '/tmp/message' do
  source 'message.erb'
  variables(
    :version => 'common version',
    :features => 'common features'
    )
end

并且message.erb看起来像这样:

The version is <%= @version %>
The features are  <%= @features %>

现在让我们说在申请之后我想用另一条消息覆盖'features',但保持'version'不变,使它看起来像这样:

The version is common version
The features are really cool features

可以这样做吗?

我希望我能应用一个看起来像这样的“很酷的功能”配方:

template '/tmp/message' do
  source 'message.erb'
  variables(
    :features => 'really cool features'
    )
end

它只覆盖我想要覆盖的值并保留以前更改的值。

1 个答案:

答案 0 :(得分:1)

使用attributes代替多个模板来定义此类值。可以从不同的位置设置属性,然后创建填充这些属性内容的template