gpt4 book ai didi

Ansible 在 CIDR 中获取网络掩码

转载 作者:行者123 更新时间:2023-12-05 08:26:39 28 4
gpt4 key购买 nike

为了获得对应于 IP 地址/网络掩码的值“24”,我有这段工作代码:

- set_fact:
ip: "{{ ansible_default_ipv4.address }}/{{ansible_default_ipv4.netmask }}"

- set_fact:
mask_cidr: "{{ ip | ipaddr('prefix') }}"

ansible_default_ipv4.address = 172.16.1.67ansible_default_ipv4.netmask255.255.255.0 gather_factssetup 模块。

我尝试了不同的方法来使这段代码“更智能”,所以我只需要设置 1 个事实而不是 2 个,但我的过滤能力并不强。

关于如何将这两个事实转换成一个更聪明的事实,同时做这两件事,有什么想法吗?

最佳答案

最简单和最干净的方法是通过辅助变量:

- set_fact:
mask_cidr: "{{ ip | ipaddr('prefix') }}"
vars:
ip: "{{ ansible_default_ipv4.address }}/{{ansible_default_ipv4.netmask }}"

如果你坚持只写一个模板:

- sef_fact:
ip: "{{ (ansible_default_ipv4.address + '/' + ansible_default_ipv4.netmask) | ipaddr('prefix') }}"

关于Ansible 在 CIDR 中获取网络掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52291149/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com