Automation 如何操纵可解释的事实?
我试图找出一种操纵ansible事实的方法,例如,如果Automation 如何操纵可解释的事实?,automation,ansible,ansible-playbook,ansible-2.x,ansible-facts,Automation,Ansible,Ansible Playbook,Ansible 2.x,Ansible Facts,我试图找出一种操纵ansible事实的方法,例如,如果ansible\u default\u ipv4.address=10.100.1.7,然后将10.253.1.7分配给playbook中的某个变量 所以基本上我只想把ipv4.address的第二个八位从100替换为253,我同意@ydaetskcoR。你应该展示你迄今为止所做的努力。因为这很棘手,所以我提供了一个解决方案。也许有更好的解决办法,但这个办法有效 vars: myip: 10.100.1.7 tasks:
ansible\u default\u ipv4.address
=10.100.1.7
,然后将10.253.1.7
分配给playbook中的某个变量
所以基本上我只想把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中获取嵌套元素的值(我使用nameserver作为示例)。您可以使用:
"{{ansible_dns.nameservers[1]}}"
然后,可以使用循环或simila中的项目整数替换1位数字