小编pol*_*olx的帖子

Ansible set_fact 数组并从循环中填充它

我想创建一个数组并将数组中的值插入IP_TO_DNS到反向 IP 地址中。

这个想法是重构参数中给出的 IP 地址,以便稍后在我的代码中进行匹配。

代码

- name: create array reversed
  set_fact: reversed_ip=[]

- name: set convert ips from cli to matchable reversed ip
  set_fact: reversed_ip='{{ item | regex_replace('^(?P<first_range>\d{1,3})\.(?P<second_range>\d{1,3})\.(?P<third_range>\d{1,3})\.', 'named.\\g<third_range>.\\g<second_range>.\\g<first_range>')}}'
  with_items: '{{IP_TO_DNS}}'

- name: Match first block of results in path name
  debug: var=item
  with_items: '{{reversed_ip}}'
Run Code Online (Sandbox Code Playgroud)

输出

TASK [dns : set convert ips from cli to matchable reversed ip] *****************
ok: [10.1.10.5] => (item=10.1.10.1)
ok: [10.1.10.5] => (item=10.1.10.2)
ok: [10.1.10.5] => (item=10.1.10.3)

TASK [dns : Match first …
Run Code Online (Sandbox Code Playgroud)

ansible

2
推荐指数
2
解决办法
2万
查看次数

模板字符串时出现Ansible模板错误:意外

我有以下目录

named.0.102.10.reverse
named.0.103.10.reverse
named.0.104.10.reverse
named.0.2.10.reverse
named.dreamhosts
Run Code Online (Sandbox Code Playgroud)

那是我的代码

---
- name: Check if the dns reverse file exist based on the ips
  find:
    paths: '/tmp/test_dns'
    patterns: '^named\.'
    use_regex: True
  register: find_results

- name: print find_results
  debug: var="{{item.path}}"
  with_items: '{{find_results.files}}'
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

FAILED! => {"failed": true, "msg": "template error while templating string: unexpected '/'. String: {{/tmp/test_dns/named.5.104.10.reverse}}"}
Run Code Online (Sandbox Code Playgroud)

这似乎是一个错误,但经过进一步研究后,我的版本修复了错误.

所以,也许,我虽然问题出在椅子和键盘之间:-).有任何想法吗 ?

ansible

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

ansible ×2