Chef - 从 LWRP 中的其他操作调用操作
Chef - Call action from other action in LWRP
我定义一个提供者如下:
action :start do
...
end
action :stop do
...
end
action :restart do
...
end
现在我不想在 restart
中重写 stop
和 start
的实现,而是想在 [=] 中调用 action :stop
然后 action :start
18=],像这样:
action :restart do
action :stop
action :start
end
有办法实现吗?
EDIT - 如 Coderanger 回答中所述,解决方案是:
action :restart do
action_stop
action_start
end
调用 action_start
和 action_stop
。
我不确定这是否是正确答案。我刚刚试过这个,它似乎在编译时调用了 action_stop 和 action_start。我正在尝试 运行 这样的事情:
action :create do
# steps to create resource
directory '/test' do
...
end
action_config
end
action :config do
... # configuration
template '/test/config' do
...
end
end
失败,因为 :config 运行 首先(在创建目录之前)。
我尝试将 action_config 放入 ruby_block -- 这似乎可行,但我不确定是否正确传递了参数。
我定义一个提供者如下:
action :start do
...
end
action :stop do
...
end
action :restart do
...
end
现在我不想在 restart
中重写 stop
和 start
的实现,而是想在 [=] 中调用 action :stop
然后 action :start
18=],像这样:
action :restart do
action :stop
action :start
end
有办法实现吗?
EDIT - 如 Coderanger 回答中所述,解决方案是:
action :restart do
action_stop
action_start
end
调用 action_start
和 action_stop
。
我不确定这是否是正确答案。我刚刚试过这个,它似乎在编译时调用了 action_stop 和 action_start。我正在尝试 运行 这样的事情:
action :create do
# steps to create resource
directory '/test' do
...
end
action_config
end
action :config do
... # configuration
template '/test/config' do
...
end
end
失败,因为 :config 运行 首先(在创建目录之前)。
我尝试将 action_config 放入 ruby_block -- 这似乎可行,但我不确定是否正确传递了参数。