我的食谱中有两个资源。第一个是user
设置用户 uid/gid/home 目录等的资源。它使用supports :manage_home => true
.
我的第二个资源是bash
资源。目前该脚本在每次运行 chef-client 时都会运行,这有点不必要。我希望脚本仅manage_home
在运行用户资源时被调用时运行(例如,如果用户的主目录被更改并且文件被移动,则运行脚本,否则什么都不做)。
我只能找到使用only_if
一些纯 Ruby 条件的示例(例如,如果某个文件存在,如果一个节点在其运行列表中具有某个元素等),但我想做的需要条件是链接到另一个厨师资源的结果。我知道用户资源只是运行usermod
(或useradd
),这似乎没有表明主目录是否已移动。那么这甚至可能吗?