Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ansible 易变动态值替换_Ansible_Ansible Template - Fatal编程技术网

Ansible 易变动态值替换

Ansible 易变动态值替换,ansible,ansible-template,Ansible,Ansible Template,我对Ansible有点陌生,正在用模板编写Ansible剧本。我的模板的属性如下 主机名:{{ansible_fqdn}}-->这是我的目标计算机主机名 端口:??? 港口在这里会有所不同。对于主机1,它将是7800,对于主机2,它将是7801,依此类推 有人能帮我做到这一点吗 如果您的端口是增量端口,则可以参考以下代码 cat template.j2 {% for host in groups['hostnames'] %} {% if host == ansible_fqdn %} host

我对Ansible有点陌生,正在用模板编写Ansible剧本。我的模板的属性如下

主机名:{{ansible_fqdn}}-->这是我的目标计算机主机名

端口:???

港口在这里会有所不同。对于主机1,它将是7800,对于主机2,它将是7801,依此类推


有人能帮我做到这一点吗

如果您的端口是增量端口,则可以参考以下代码

cat template.j2
{% for host in groups['hostnames'] %}
{% if host == ansible_fqdn %}
hostname: {{ host }}
ports: 780{{ loop.index }}
{% endif %}
{% endfor %}
主机名是主机名的一个组
我认为还有更漂亮的方法来归档这个,但我今天没有时间

这听起来很有希望,但template.j2将在host1上包含所有主机条目。对不起,我的问题不太清楚。所以基本上,在主机1上只有一个条目模板。j2即主机名:主机1,端口:7800,在第二个主机模板上。j2将有主机名:主机2,端口:7801。。。等等。。。