.. _ansible.utils.ipmath_filter: ******************** ansible.utils.ipmath ******************** **This filter is designed to do simple IP math/arithmetic.** Version added: 2.5.0 .. contents:: :local: :depth: 1 Synopsis -------- - This filter is designed to do simple IP math/arithmetic. Parameters ---------- .. raw:: html
Parameter Choices/Defaults Configuration Comments
amount
integer
integer for arithmetic. Example -1,2,3
value
string / required
list of subnets or individual address or any other values input for ipaddr plugin

Examples -------- .. code-block:: yaml #### examples # Ipmath filter plugin with different arthmetic. # Get the next fifth address based on an IP address - debug: msg: "{{ '192.168.1.5' | ansible.netcommon.ipmath(5) }}" # Get the tenth previous address based on an IP address - debug: msg: "{{ '192.168.1.5' | ansible.netcommon.ipmath(-10) }}" # Get the next fifth address using CIDR notation - debug: msg: "{{ '192.168.1.1/24' | ansible.netcommon.ipmath(5) }}" # Get the previous fifth address using CIDR notation - debug: msg: "{{ '192.168.1.6/24' | ansible.netcommon.ipmath(-5) }}" # Get the previous tenth address using cidr notation # It returns a address of the previous network range - debug: msg: "{{ '192.168.2.6/24' | ansible.netcommon.ipmath(-10) }}" # Get the next tenth address in IPv6 - debug: msg: "{{ '2001::1' | ansible.netcommon.ipmath(10) }}" # Get the previous tenth address in IPv6 - debug: msg: "{{ '2001::5' | ansible.netcommon.ipmath(-10) }}" # TASK [debug] ********************************************************************************************************** # ok: [localhost] => { # "msg": "192.168.1.10" # } # # TASK [debug] ********************************************************************************************************** # ok: [localhost] => { # "msg": "192.168.0.251" # } # # TASK [debug] ********************************************************************************************************** # ok: [localhost] => { # "msg": "192.168.1.6" # } # # TASK [debug] ********************************************************************************************************** # ok: [localhost] => { # "msg": "192.168.1.1" # } # # TASK [debug] ********************************************************************************************************** # ok: [localhost] => { # "msg": "192.168.1.252" # } # # TASK [debug] ********************************************************************************************************** # ok: [localhost] => { # "msg": "2001::b" # } # # TASK [debug] ********************************************************************************************************** # ok: [localhost] => { # "msg": "2000:ffff:ffff:ffff:ffff:ffff:ffff:fffb" # } Return Values ------------- Common return values are documented `here `_, the following are the fields unique to this filter: .. raw:: html
Key Returned Description
data
string
Returns result of IP math/arithmetic.



Status ------ Authors ~~~~~~~ - Ashwini Mhatre (@amhatre) .. hint:: Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.