我正在尝试为 ansible-playbook 中的动态组编写一个正则表达式作为示例 IP 范围。 如果地址范围是 172.30.0.(0 到 254).(0 到 254)。我的正则表达式就像 172.30.[0-254].[0-254]。它是否正确 ?即使我的主机在范围内,任务也会被跳过,并且不会形成任何组。
任务: - group_by: key=adda 当:ansible_default_ipv4.network == '172.30.[0-254].[0-254]'
最佳答案
当使用运算符“==”时,在 python 中,您将尝试查找名称为“172.30.[0-254[.[0-254]”的匹配字符串
在ansible中,您可以使用Python表达式,例如搜索或匹配。
所以你需要输入这样的内容:
when: ansible_default_ipv4.address | match("172.30.")
做了一个测试ansible playbook来验证它。
关于python - Ansible Playbooks 中 IP 范围的正则表达式匹配以进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38725204/