Chef - 从 LWRP 中的其他操作调用操作

Chef - Call action from other action in LWRP

我定义一个提供者如下:

action :start do
 ...
end

action :stop do 
 ...
end

action :restart do
 ...
end

现在我不想在 restart 中重写 stopstart 的实现,而是想在 [=] 中调用 action :stop 然后 action :start 18=],像这样:

action :restart do
  action :stop
  action :start
end

有办法实现吗?

EDIT - 如 Coderanger 回答中所述,解决方案是:

action :restart do 
  action_stop
  action_start
end

调用 action_startaction_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 -- 这似乎可行,但我不确定是否正确传递了参数。