Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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
Automation 如何操纵可解释的事实?_Automation_Ansible_Ansible Playbook_Ansible 2.x_Ansible Facts - Fatal编程技术网

Automation 如何操纵可解释的事实?

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事实的方法,例如,如果
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位数字