【发布时间】:2017-09-29 03:57:49
【问题描述】:
在厨师食谱中,我有以下代码:
if (node['server1']['PT1'] == true)
setup('PT1')
elsif (node['server1']['PT2'] == true)
setup('PT2')
end
我正在检查我的属性以查看 PT1 或 PT2 的值是否等于 true。如果我将server1 硬编码到代码中,这可以正常工作,但我想知道根据运行它的服务器动态地执行它。我如何将node['server1'] 替换为node.name 之类的东西,以在属性文件中查找不同的服务器。我的属性的一个例子是:
default['server1'][...]...
default['server2'][...]...
default['server3'][...]...
default['server4'][...]...
如果我可以动态查看不同的服务器,那将是理想的结果。
【问题讨论】:
-
node的示例值是什么,属于哪类对象? -
抱歉,我的属性以
default开头,而不是node。我计划将不同的服务器名称作为您看到server1, server2, etc的属性的第一部分。计划是传入服务器名称并与属性匹配。
标签: ruby chef-infra