ansible.utils.in_any_network (4.0.0) — test

Test if an IP or network falls in any network

| "added in version" 2.2.0 of ansible.utils"

Authors: Priyam Sahoo (@priyamsahoo)

Install collection

Install with ansible-galaxy collection install ansible.utils:==4.0.0


Add to requirements.yml

  collections:
    - name: ansible.utils
      version: 4.0.0

Description

This plugin checks if the provided IP or network address belongs to the provided list network addresses

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.

#### Simple examples

- name: Set network list
  ansible.builtin.set_fact:
    networks:
      - "10.0.0.0/8"
      - "192.168.1.0/24"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Check if 10.1.1.1 is in the provided network list
  ansible.builtin.set_fact:
    data: "{{ '10.1.1.1' is ansible.utils.in_any_network networks }}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# TASK [Check if 10.1.1.1 is in the provided network list] **************************
# ok: [localhost] => {
#     "ansible_facts": {
#         "data": true
#     },
#     "changed": false
# }

- name: Set network list
  ansible.builtin.set_fact:
    networks:
      - "10.0.0.0/8"
      - "192.168.1.0/24"
      - "172.16.0.0/16"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Check if 8.8.8.8 is not in the provided network list
  ansible.builtin.set_fact:
    data: "{{ '8.8.8.8' is not ansible.utils.in_any_network networks }}"

Inputs

    
ip:
    description:
    - A string that represents an IP address of a host or network
    - 'For example: C(10.1.1.1)'
    required: true
    type: str

networks:
    description:
    - A list of string and each string represents a network address in CIDR form
    - 'For example: C([''10.0.0.0/8'', ''192.168.1.0/24''])'
    required: true
    type: list

Outputs

data:
  description:
  - If jinja test satisfies plugin expression C(true)
  - If jinja test does not satisfy plugin expression C(false)