ansible是否支持原型设计任务?

时间:2015-07-04 06:25:41

标签: ansible

ansible是否支持与puppet类似的原型任务?

就像,在木偶中,我可以做这样的事情:

File {
  notify => Service['httpd'],
}

file { '/etc/httpd/conf/httpd.conf':
  source => "puppet:///modules/httpd/httpd.conf",
}

...其中每个文件声明都将具有初始File块的notify属性,除非后续声明覆盖它。

ansible中是否有功能等同物?我在想这样的事情

---
- prototype: task prototype
  notify:
  - command: "apachectl graceful"
- name: install a configuration
  copy: src=/opt/ansible/httpd/conf/httpd.conf dest=/etc/httpd/conf/httpd.conf
  """something puts my notify here without me having to write it"""

对于一个文件声明显然不是很有用,但如果你有20个非常有用。

1 个答案:

答案 0 :(得分:0)

不,Ansible没有那样的。

虽然可能可以通过创建action plugincallback plugin来实现。动作插件将是prototype声明。回调插件可以在任何Ansible动作之后触发,例如任务成功完成时。

我唯一不确定的是,如果您可以在回调插件处理程序中触发远程操作甚至通知