如何操纵可解释的事实



我试图弄清楚是否有一种方法可以处理可解释的事实,例如,如果ansible_default_ipv4.address=10.100.1.7,则将10.253.1.7分配给剧本中的某个变量。

所以基本上我只想把ansible_default_ipv4.address的第二个八度体从100替换成253

我同意@ydaetskcoR。你应该展示你迄今为止所做的努力。由于这很棘手,我正在提供一个解决方案。也许有一个更好的解决方案,但这个有效。

  vars:
    myip: 10.100.1.7
  tasks:
  - set_fact: newip="{{ myip | regex_replace('^(d+).100.(d+.d+)$', '\1.253.\2') }}"
  - debug: var=newip

我可以帮助获得Ansible 2.5.5中嵌套元素的值(我使用名称服务器作为示例)。您可以使用:

"{{ansible_dns.nameservers[1]}}"

然后,您可以使用循环或类似的项整数来替换1位数字。

最新更新