Skip to content

mac

Collection Note

This module is part of the ansible.utils collection. To install the collection, use:

ansible-galaxy collection install ansible.utils
Added in version 2.2.0.

Synopsis

  • This plugin checks if the provided value is a valid MAC address that follows the industry level standards

Parameters

Parameter Defaults / Choices Comments
mac
str
required
A string that represents the value against which the test is going to be performed
For example: C(02:16:3e:e4:16:f3), C(02-16-3e-e4-16-f3), C(0216.3ee4.16f3), or C(02163ee416f3)

Examples

- name: Check if 02:16:3e:e4:16:f3 is a valid MAC address
  ansible.builtin.set_fact:
    data: "{{ '02:16:3e:e4:16:f3' is ansible.utils.mac }}"

# TASK [Check if 02:16:3e:e4:16:f3 is a valid MAC address] ********************
# ok: [localhost] => {
#     "ansible_facts": {
#         "data": true
#     },
#     "changed": false
# }

- name: Check if 02-16-3e-e4-16-f3 is a valid MAC address
  ansible.builtin.set_fact:
    data: "{{ '02-16-3e-e4-16-f3' is ansible.utils.mac }}"

# TASK [Check if 02-16-3e-e4-16-f3 is a valid MAC address] ********************
# ok: [localhost] => {
#     "ansible_facts": {
#         "data": true
#     },
#     "changed": false
# }

- name: Check if 0216.3ee4.16f3 is a valid MAC address
  ansible.builtin.set_fact:
    data: "{{ '0216.3ee4.16f3' is ansible.utils.mac }}"

# TASK [Check if 0216.3ee4.16f3 is a valid MAC address] ***********************
# ok: [localhost] => {
#     "ansible_facts": {
#         "data": true
#     },
#     "changed": false
# }

- name: Check if 02163ee416f3 is a valid MAC address
  ansible.builtin.set_fact:
    data: "{{ '02163ee416f3' is ansible.utils.mac }}"

# TASK [Check if 02163ee416f3 is a valid MAC address] *************************
# ok: [localhost] => {
#     "ansible_facts": {
#         "data": true
#     },
#     "changed": false
# }

- name: Check if helloworld is not a valid MAC address
  ansible.builtin.set_fact:
    data: "{{ 'helloworld' is not ansible.utils.mac }}"

# TASK [Check if helloworld is not a valid MAC address] ***********************
# ok: [localhost] => {
#     "ansible_facts": {
#         "data": true
#     },
#     "changed": false
# }

Return Values

Key Data Type Description Returned
data If jinja test satisfies plugin expression C(true) If jinja test does not satisfy plugin expression C(false)

Authors

  • Priyam Sahoo (@priyamsahoo)