On this page
community.network.edgeswitch_vlan – Manage VLANs on Ubiquiti Edgeswitch network devices
Note
This plugin is part of the community.network collection (version 3.0.0).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
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
         | 
      
       
  | 
      
        
        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
         | 
      
       
  | 
      
        
        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
         | 
      
       
  | 
      
        
        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
         | 
      
       
  | 
      
        
        Purge VLANs not defined in the aggregate parameter.
         | 
     
| state
        
        string
         | 
      
       
  | 
      
        
        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)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/community/network/edgeswitch_vlan_module.html