community.network.edgeswitch_vlan – Manage VLANs on Ubiquiti Edgeswitch network devices

Note

This plugin is part of the community.network collection (version 2.1.1).

To install it use: ansible-galaxy collection install community.network.

To use it in a playbook, specify: community.network.edgeswitch_vlan.

Synopsis

  • This module provides declarative management of VLANs on Ubiquiti Edgeswitch network devices.

Parameters

Parameter Choices/Defaults Comments
aggregate
string
List of VLANs definitions.
auto_exclude
boolean
    Choices:
  • no
  • yes
Each of the switch interfaces will be excluded from vlan_id unless defined in *_interfaces. This is a default setting for all switch interfaces.
auto_tag
boolean
    Choices:
  • no
  • yes
Each of the switch interfaces will be set to accept and transmit untagged frames for vlan_id unless defined in *_interfaces. This is a default setting for all switch interfaces.
auto_untag
boolean
    Choices:
  • no
  • yes
Each of the switch interfaces will be set to accept untagged frames and transmit them tagged for vlan_id unless defined in *_interfaces. This is a default setting for all switch interfaces.
excluded_interfaces
string
List of interfaces that should be excluded of the VLAN. Accept range of interfaces.
name
string
Name of the VLAN.
purge
boolean
    Choices:
  • no ←
  • yes
Purge VLANs not defined in the aggregate parameter.
state
string
    Choices:
  • present ←
  • absent
action on the VLAN configuration.
tagged_interfaces
string
List of interfaces that should accept and transmit tagged frames for the VLAN. Accept range of interfaces.
untagged_interfaces
string
List of interfaces that should accept untagged frames and transmit them tagged for the VLAN. Accept range of interfaces.
vlan_id
string
ID of the VLAN. Range 1-4093.

Notes

Note

  • Tested against edgeswitch 1.7.4

  • This module use native Ubiquiti vlan syntax and does not support switchport compatibility syntax. For clarity, it is strongly advised to not use both syntaxes on the same interface.

  • Edgeswitch does not support deleting or changing name of VLAN 1

  • As auto_tag, auto_untag and auto_exclude are a kind of default setting for all interfaces, they are mutually exclusive

Examples

- name: Create vlan
  community.network.edgeswitch_vlan:
    vlan_id: 100
    name: voice
    action: present

- name: Add interfaces to VLAN
  community.network.edgeswitch_vlan:
    vlan_id: 100
    tagged_interfaces:
      - 0/1
      - 0/4-0/6

- name: Setup three vlans and delete the rest
  community.network.edgeswitch_vlan:
    purge: true
    aggregate:
      - { vlan_id: 1, name: default, auto_untag: true, excluded_interfaces: 0/45-0/48 }
      - { vlan_id: 100, name: voice, auto_tag: true }
      - { vlan_id: 200, name: video, auto_exclude: true, untagged_interfaces: 0/45-0/48, tagged_interfaces: 0/49 }

- name: Delete vlan
  community.network.edgeswitch_vlan:
    vlan_id: 100
    state: absent

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
commands
list / elements=string
always
The list of configuration mode commands to send to the device

Sample:
['vlan database', 'vlan 100', 'vlan name 100 "test vlan"', 'exit', 'interface 0/1', 'vlan pvid 50', 'vlan participation include 50,100', 'vlan tagging 100', 'vlan participation exclude 200', 'no vlan tagging 200']


Authors

  • Frederic Bor (@f-bor)