Skip to content
Snippets Groups Projects
Commit e0cd7738 authored by Kamil Andoniadis's avatar Kamil Andoniadis
Browse files

add name and ip interface identifier

parent 1c39247c
No related branches found
No related tags found
No related merge requests found
......@@ -12,13 +12,29 @@ interface_file: '
interface_clean: True
interface_mtu: 1442
interface_ip:
interface_mac:
interface_name:
interface_default_gateway:
interface_routes: []
# - gateway:
# network:
# mask:
interface_required_variables:
interface_device: '
{%- import "roles/common/templates/network.j2" as network with context -%}
{%- if interface_ip is defined and interface_ip -%}
{{ network.ip_to_interface(interface_ip) | default("") }}
{%- endif -%}
{%- if interface_mac is defined and interface_mac -%}
{{ network.mac_to_interface(interface_mac) | default("") }}
{%- endif -%}
{%- if interface_name is defined and interface_name -%}
{{ interface_name }}
{%- endif -%}'
interface_identifiers:
interface_ip: '{{ interface_ip }}'
interface_mac: '{{ interface_mac }}'
interface_name: '{{ interface_name }}'
interface_condition_single_interface_identifier: '{{ interface_identifiers | dict2items | map(attribute="value") | select("string") | select("ne", "") | list | length != 1 }}'
- name: check existence of required variables
- name: check existence of single interface identifier
fail:
msg: required variable '{{ item.key }}' is undefined
when: item.value is undefined or not item.value
loop: '{{ interface_required_variables }}'
- set_fact:
interface_device: '{%- from "roles/common/templates/network.j2" import mac_to_interface with context -%}
{{ mac_to_interface(interface_mac) | default("") }}'
msg: there must be set exactly one of [interface_ip|interface_mac|interface_name] variables, got {{ interface_identifiers }}
when: interface_condition_single_interface_identifier
- include: clean.yml
when: interface_clean is defined and interface_clean
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment