ansible / ansible.utils / 4.0.0 / filter / cidr_merge This filter can be used to merge subnets or individual addresses. | "added in version" 2.5.0 of ansible.utils" Authors: Ashwini Mhatre (@amhatre)ansible.utils.cidr_merge (4.0.0) — filter
Install with ansible-galaxy collection install ansible.utils:==4.0.0
collections: - name: ansible.utils version: 4.0.0
This filter can be used to merge subnets or individual addresses into their minimal representation, collapsing
overlapping subnets and merging adjacent ones wherever possible.
#### examples - name: cidr_merge with merge action ansible.builtin.set_fact: value: - 192.168.0.0/17 - 192.168.128.0/17 - 192.168.128.1
- debug: msg: '{{ value|ansible.utils.cidr_merge }}'
# TASK [cidr_merge with merge action] ********************************************************************************** # ok: [localhost] => { # "ansible_facts": { # "value": [ # "192.168.0.0/17", # "192.168.128.0/17", # "192.168.128.1" # ] # }, # "changed": false # } # TASK [debug] ********************************************************************************************************* # ok: [loalhost] => { # "msg": [ # "192.168.0.0/16" # ] # } - name: Cidr_merge with span. ansible.builtin.set_fact: value: - 192.168.1.1 - 192.168.1.2 - 192.168.1.3 - 192.168.1.4
- debug: msg: '{{ value|ansible.utils.cidr_merge(''span'') }}'
value: description: - list of subnets or individual address to be merged elements: str required: true type: list action: default: merge description: - Action to be performed.example merge,span type: str
data: description: - Returns a minified list of subnets or a single subnet that spans all of the inputs. type: raw