我正在通过厨师创建一个用户。他的属性存储在数据包:厨师有条件的资源参数
{
"id": "developer",
"home": "/home/developer",
"shell": "/bin/zsh",
"password": "s3cr3t"
}
配方是:
developer = data_bag_item('users', 'developer')
user developer['id'] do
action :create
supports :manage_home => true
home developer['home']
comment developer['comment']
shell developer['shell']
password developer['password']
end
的问题是,如果zsh
上没有安装节点,我无法登录为developer
。所以,我希望有条件申请论据user
资源,如:
user developer['id'] do
action :create
supports :manage_home => true
home developer['home']
comment developer['comment']
if installed?(developer['shell'])
shell developer['shell']
end
password developer['password']
end
我怎样才能做到这一点?
是否安装了带有软件包资源的zsh不是一个选项? – Tensibai
@Tensibai,好吧,实际上我使用该食谱来安装'zsh'。我只是不想依赖它。 – madhead
在这种情况下,@mudasobwa答案是正确的(如果答案中包含了一个关于ruby代码如何适用于未来读者的小解释,我已经投了赞成票) – Tensibai