我试图弄清楚有没有办法操纵安莎事实,例如ansible_default_ipv4.address
= 10.100.1.7
然后将10.253.1.7
分配给剧本中的某个变量。
所以基本上我只想将ansible_default_ipv4.address
中的100
的第二个八分之一替换为253
。
答案 0 :(得分:1)
我同意@ydaetskcoR。你应该展示你到目前为止所尝试的内容。由于这很棘手,我提供了一个解决方案。可能有一个更好的解决方案,但这个有效。
vars:
myip: 10.100.1.7
tasks:
- set_fact: newip="{{ myip | regex_replace('^(\d+)\.100.(\d+\.\d+)$', '\\1.253.\\2') }}"
- debug: var=newip
答案 1 :(得分:0)
在Ansible 2.5.5中,我可以帮助获取嵌套元素的值(我以名称服务器为例)。您可以使用:
"{{ansible_dns.nameservers[1]}}"
然后您可以在循环或类似操作中使用整数来替换1位数字。