Чтобы получить значение «24», соответствующее IP-адресу / сетевой маске, у меня есть этот рабочий код:
- 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.67
и ansible_default_ipv4.netmask
равно 255.255.255.0
согласно gather_facts
или setup
модулю.
Я пробовал разные вещи, чтобы сделать этот код "умнее", поэтому мне нужно установить только 1 факт вместо 2, но мои способности к фильтрации невелики.
Есть идеи, как преобразовать эти два факта в более умный факт, который делает обе вещи?