什么是“:&”在Ansible / jinja2 YAML文件中是什么意思?

时间:2018-06-01 10:02:27

标签: ansible

“&”是什么在Ansible / Jinja2 YAML文件中是什么意思?

例如,在这一行:

hosts: test-instances:&{{ target_host | default('None') }}

1 个答案:

答案 0 :(得分:4)

它是Ansible中两个主机组的交集(它不是Jinja2语法,除hosts声明外不使用。)

在您的示例中,只要target_host变量列在test-instances库存组中,该游戏就会仅在target_host变量中指定的主机(或主机组)上运行。

如果未指定target_hosttest-instances中未列出None,则会跳过播放(假设没有名为webservers:&staging 的主机。)

Working with Patterns

  

您还可以指定两个组的交集。这意味着主机必须位于组Web服务器中,并且主机也必须位于组暂存中:

label = sess.run(y_pred_cls)