#jinja2: trim_blocks: True, lstrip_blocks: True {########################################## Purpose: Configure VLAN Interface commands for os9 Devices os9_vlan: default_vlan: true VLAN 1: name: "vlan2" description: "int-vlan" tagged_members: - port: fortyGigE 0/32 state: present - port: fortyGigE 0/40 state: absent untagged_members: - port: fortyGigE 0/92 state: absent - port: fortyGigE 0/44 state: present state: present #########################################} {% if os9_vlan is defined and os9_vlan %} {% for key,value in os9_vlan.items() %} {% if key == "default_vlan" %} {% if value %} default-vlan disable {% else %} no default-vlan disable {% endif %} {% else %} {% set vlan_id = key.split(" ") %} {% set vlan_vars = os9_vlan[key] %} {% if vlan_vars.state is defined and vlan_vars.state == "absent" %} no interface Vlan {{ vlan_id[1] }} {% else %} interface Vlan {{ vlan_id[1] }} {% if vlan_vars.name is defined%} {% if vlan_vars.name %} name {{ vlan_vars.name }} {% else %} no name {% endif %} {% endif %} {% if vlan_vars.description is defined %} {% if vlan_vars.description %} description {{ vlan_vars.description }} {% else %} no description {% endif %} {% endif %} {% if vlan_vars.untagged_members is defined %} {% for ports in vlan_vars.untagged_members %} {% if ports.port is defined and ports.port %} {% if ports.state is defined and ports.state == "absent" %} no untagged {{ ports.port }} {% else %} untagged {{ ports.port }} {% endif %} {% endif %} {% endfor %} {% endif %} {% if vlan_vars.tagged_members is defined %} {% for ports in vlan_vars.tagged_members %} {% if ports.port is defined and ports.port %} {% if ports.state is defined and ports.state == "absent" %} no tagged {{ ports.port }} {% else %} tagged {{ ports.port }} {% endif %} {% endif %} {% endfor %} {% endif %} {% endif %} {% endif %} {% endfor %} {% endif %}