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.exos_l2_interfaces
.
New in version 0.2.0: of community.network
Parameter | Choices/Defaults | Comments | ||
---|---|---|---|---|
config list / elements=dictionary | A dictionary of L2 interfaces options | |||
access dictionary | Switchport mode access command to configure the interface as a layer 2 access. | |||
vlan integer | Configure given VLAN in access port. It's used as the access VLAN ID. | |||
name string / required | Name of the interface | |||
trunk dictionary | Switchport mode trunk command to configure the interface as a Layer 2 trunk. | |||
native_vlan integer | Native VLAN to be configured in trunk port. It's used as the trunk native VLAN ID. | |||
trunk_allowed_vlans list / elements=string | List of allowed VLANs in a given trunk port. These are the only VLANs that will be configured on the trunk. | |||
state string |
| The state the configuration should be left in |
Note
httpapi
. See EXOS Platform Options
# Using deleted # Before state: # ------------- # path: /rest/restconf/data/openconfig-interfaces:interfaces/ # method: GET # data: # { # "openconfig-interfaces:interfaces": { # "interface": [ # { # "name": "1", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 10 # } # } # } # }, # { # "name": "2", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "TRUNK", # "native-vlan": 1, # "trunk-vlans": [ # 10 # ] # } # } # } # }, # { # "name": "3", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "TRUNK", # "native-vlan": 10, # "trunk-vlans": [ # 20, # 30 # ] # } # } # } # } # ] # } # } - name: Delete L2 interface configuration for the given arguments community.network.exos_l2_interfaces: config: - name: '3' state: deleted # Module Execution Results: # ------------------------- # # "before": [ # { # "access": { # "vlan": 10 # }, # "name": "1", # "trunk": null # }, # { # "access": null, # "name": "2", # "trunk": { # "native_vlan": 1, # "trunk_allowed_vlans": [ # 10 # ] # } # }, # { # "access": null, # "name": "3", # "trunk": { # "native_vlan": 10, # "trunk_allowed_vlans": [ # 20, # 30 # ] # } # } # ], # # "requests": [ # { # "data": { # "openconfig-vlan:config": { # "access-vlan": 1, # "interface-mode": "ACCESS" # } # } # "method": "PATCH", # "path": "rest/restconf/data/openconfig-interfaces:interfaces/interface=3/openconfig-if-ethernet:ethernet/openconfig-vlan:switched-vlan/config" # } # ], # # "after": [ # { # "access": { # "vlan": 10 # }, # "name": "1", # "trunk": null # }, # { # "access": null, # "name": "2", # "trunk": { # "native_vlan": 1, # "trunk_allowed_vlans": [ # 10 # ] # } # }, # { # "access": { # "vlan": 1 # }, # "name": "3", # "trunk": null # } # ] # # After state: # ------------- # # path: /rest/restconf/data/openconfig-interfaces:interfaces/ # method: GET # data: # { # "openconfig-interfaces:interfaces": { # "interface": [ # { # "name": "1", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 10 # } # } # } # }, # { # "name": "2", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "TRUNK", # "native-vlan": 1, # "trunk-vlans": [ # 10 # ] # } # } # } # }, # { # "name": "3", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 1 # } # } # } # } # ] # } # } # Using deleted without any config passed #"(NOTE: This will delete all of configured resource module attributes from each configured interface)" # Before state: # ------------- # path: /rest/restconf/data/openconfig-interfaces:interfaces/ # method: GET # data: # { # "openconfig-interfaces:interfaces": { # "interface": [ # { # "name": "1", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 10 # } # } # } # }, # { # "name": "2", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "TRUNK", # "native-vlan": 1, # "trunk-vlans": [ # 10 # ] # } # } # } # }, # { # "name": "3", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "TRUNK", # "native-vlan": 10, # "trunk-vlans": [ # 20, # 30 # ] # } # } # } # } # ] # } # } - name: Delete L2 interface configuration for the given arguments community.network.exos_l2_interfaces: state: deleted # Module Execution Results: # ------------------------- # # "before": [ # { # "access": { # "vlan": 10 # }, # "name": "1", # "trunk": null # }, # { # "access": null, # "name": "2", # "trunk": { # "native_vlan": 1, # "trunk_allowed_vlans": [ # 10 # ] # } # }, # { # "access": null, # "name": "3", # "trunk": { # "native_vlan": 10, # "trunk_allowed_vlans": [ # 20, # 30 # ] # } # } # ], # # "requests": [ # { # "data": { # "openconfig-vlan:config": { # "access-vlan": 1, # "interface-mode": "ACCESS" # } # } # "method": "PATCH", # "path": "rest/restconf/data/openconfig-interfaces:interfaces/interface=1/openconfig-if-ethernet:ethernet/openconfig-vlan:switched-vlan/config" # }, # { # "data": { # "openconfig-vlan:config": { # "access-vlan": 1, # "interface-mode": "ACCESS" # } # } # "method": "PATCH", # "path": "rest/restconf/data/openconfig-interfaces:interfaces/interface=2/openconfig-if-ethernet:ethernet/openconfig-vlan:switched-vlan/config" # }, # { # "data": { # "openconfig-vlan:config": { # "access-vlan": 1, # "interface-mode": "ACCESS" # } # } # "method": "PATCH", # "path": "rest/restconf/data/openconfig-interfaces:interfaces/interface=3/openconfig-if-ethernet:ethernet/openconfig-vlan:switched-vlan/config" # } # ], # # "after": [ # { # "access": { # "vlan": 1 # }, # "name": "1", # "trunk": null # }, # { # "access": { # "vlan": 1 # }, # "name": "2", # "trunk": null # }, # { # "access": { # "vlan": 1 # }, # "name": "3", # "trunk": null # } # ] # # After state: # ------------- # # path: /rest/restconf/data/openconfig-interfaces:interfaces/ # method: GET # data: # { # "openconfig-interfaces:interfaces": { # "interface": [ # { # "name": "1", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 1 # } # } # } # }, # { # "name": "2", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 1 # } # } # } # }, # { # "name": "3", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 1 # } # } # } # } # ] # } # } # Using merged # Before state: # ------------- # path: /rest/restconf/data/openconfig-interfaces:interfaces/ # method: GET # data: # { # "openconfig-interfaces:interfaces": { # "interface": [ # { # "name": "1", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 1 # }, # } # } # }, # { # "name": "2", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 1 # }, # } # } # }, # { # "name": "3", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 1 # }, # } # } # }, # ] # } # } - name: Merge provided configuration with device configuration community.network.exos_l2_interfaces: config: - access: vlan: 10 name: '1' - name: '2' trunk: trunk_allowed_vlans: 10 - name: '3' trunk: native_vlan: 10 trunk_allowed_vlans: 20 state: merged # Module Execution Results: # ------------------------- # # "before": [ # { # "access": { # "vlan": 1 # }, # "name": "1", # "trunk": null # }, # { # "access": { # "vlan": 1 # }, # "name": "2", # "trunk": null # }, # { # "access": { # "vlan": 1 # }, # "name": "3", # "trunk": null # } # ], # # "requests": [ # { # "data": { # "openconfig-vlan:config": { # "access-vlan": 10, # "interface-mode": "ACCESS" # } # } # "method": "PATCH", # "path": "rest/restconf/data/openconfig-interfaces:interfaces/interface=1/openconfig-if-ethernet:ethernet/openconfig-vlan:switched-vlan/config" # }, # { # "data": { # "openconfig-vlan:config": { # "trunk-vlans": [10], # "interface-mode": "TRUNK" # } # } # "method": "PATCH", # "path": "rest/restconf/data/openconfig-interfaces:interfaces/interface=2/openconfig-if-ethernet:ethernet/openconfig-vlan:switched-vlan/config" # }, # { # "data": { # "openconfig-vlan:config": { # "native-vlan": 10, # "trunk-vlans": [20], # "interface-mode": "TRUNK" # } # } # "method": "PATCH", # "path": "rest/restconf/data/openconfig-interfaces:interfaces/interface=3/openconfig-if-ethernet:ethernet/openconfig-vlan:switched-vlan/config" # } # ], # # "after": [ # { # "access": { # "vlan": 10 # }, # "name": "1", # "trunk": null # }, # { # "access": null, # "name": "2", # "trunk": { # "native_vlan": 1, # "trunk_allowed_vlans": [ # 10 # ] # } # }, # { # "access": null, # "name": "3", # "trunk": { # "native_vlan": 10, # "trunk_allowed_vlans": [ # 20 # ] # } # } # ] # # After state: # ------------- # # path: /rest/restconf/data/openconfig-interfaces:interfaces/ # method: GET # data: # { # "openconfig-interfaces:interfaces": { # "interface": [ # { # "name": "1", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 10 # } # } # } # }, # { # "name": "2", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "TRUNK", # "native-vlan": 1, # "trunk-vlans": [ # 10 # ] # } # } # } # }, # { # "name": "3", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "TRUNK", # "native-vlan": 10, # "trunk-vlans": [ # 20 # ] # } # } # } # }, # ] # } # } # Using overridden # Before state: # ------------- # path: /rest/restconf/data/openconfig-interfaces:interfaces/ # method: GET # data: # { # "openconfig-interfaces:interfaces": { # "interface": [ # { # "name": "1", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 10 # } # } # } # }, # { # "name": "2", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "TRUNK", # "native-vlan": 1, # "trunk-vlans": [ # 10 # ] # } # } # } # }, # { # "name": "3", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "TRUNK", # "native-vlan": 10, # "trunk-vlans": [ # 20, # 30 # ] # } # } # } # } # ] # } # } - name: Overrride device configuration of all L2 interfaces with provided configuration community.network.exos_l2_interfaces: config: - access: vlan: 10 name: '2' state: overridden # Module Execution Results: # ------------------------- # # "before": [ # { # "access": { # "vlan": 10 # }, # "name": "1", # "trunk": null # }, # { # "access": null, # "name": "2", # "trunk": { # "native_vlan": 1, # "trunk_allowed_vlans": [ # 10 # ] # } # }, # { # "access": null, # "name": "3", # "trunk": { # "native_vlan": 10, # "trunk_allowed_vlans": [ # 20, # 30 # ] # } # } # ], # # "requests": [ # { # "data": { # "openconfig-vlan:config": { # "access-vlan": 1, # "interface-mode": "ACCESS" # } # } # "method": "PATCH", # "path": "rest/restconf/data/openconfig-interfaces:interfaces/interface=1/openconfig-if-ethernet:ethernet/openconfig-vlan:switched-vlan/config" # }, # { # "data": { # "openconfig-vlan:config": { # "access-vlan": 10, # "interface-mode": "ACCESS" # } # } # "method": "PATCH", # "path": "rest/restconf/data/openconfig-interfaces:interfaces/interface=2/openconfig-if-ethernet:ethernet/openconfig-vlan:switched-vlan/config" # } # { # "data": { # "openconfig-vlan:config": { # "access-vlan": 1, # "interface-mode": "ACCESS" # } # } # "method": "PATCH", # "path": "rest/restconf/data/openconfig-interfaces:interfaces/interface=3/openconfig-if-ethernet:ethernet/openconfig-vlan:switched-vlan/config" # } # ], # # "after": [ # { # "access": { # "vlan": 1 # }, # "name": "1", # "trunk": null # }, # { # "access": { # "vlan": 10 # }, # "name": "2", # "trunk": null # }, # { # "access": { # "vlan": 1 # }, # "name": "3", # "trunk": null # } # ] # # After state: # ------------- # # path: /rest/restconf/data/openconfig-interfaces:interfaces/ # method: GET # data: # { # "openconfig-interfaces:interfaces": { # "interface": [ # { # "name": "1", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 1 # } # } # } # }, # { # "name": "2", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 10 # } # } # } # }, # { # "name": "3", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 1 # } # } # } # } # ] # } # } # Using replaced # Before state: # ------------- # path: /rest/restconf/data/openconfig-interfaces:interfaces/ # method: GET # data: # { # "openconfig-interfaces:interfaces": { # "interface": [ # { # "name": "1", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 10 # } # } # } # }, # { # "name": "2", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 20 # } # } # } # }, # { # "name": "3", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "TRUNK", # "native-vlan": 1, # "trunk-vlans": [ # 10 # ] # } # } # } # } # ] # } # } - name: Replace device configuration of listed L2 interfaces with provided configuration community.network.exos_l2_interfaces: config: - access: vlan: 20 name: '1' - name: '2' trunk: trunk_allowed_vlans: 10 - name: '3' trunk: native_vlan: 10 trunk_allowed_vlan: 20,30 state: replaced # Module Execution Results: # ------------------------- # # "before": [ # { # "access": { # "vlan": 10 # }, # "name": "1", # "trunk": null # }, # { # "access": { # "vlan": 20 # }, # "name": "2", # "trunk": null # }, # { # "access": null, # "name": "3", # "trunk": { # "native_vlan": 1, # "trunk_allowed_vlans": [ # 10 # ] # } # } # ], # # "requests": [ # { # "data": { # "openconfig-vlan:config": { # "access-vlan": 20, # "interface-mode": "ACCESS" # } # } # "method": "PATCH", # "path": "rest/restconf/data/openconfig-interfaces:interfaces/interface=1/openconfig-if-ethernet:ethernet/openconfig-vlan:switched-vlan/config" # }, # { # "data": { # "openconfig-vlan:config": { # "trunk-vlans": [10], # "interface-mode": "TRUNK" # } # } # "method": "PATCH", # "path": "rest/restconf/data/openconfig-interfaces:interfaces/interface=2/openconfig-if-ethernet:ethernet/openconfig-vlan:switched-vlan/config" # }, # { # "data": { # "openconfig-vlan:config": { # "native-vlan": 10, # "trunk-vlans": [20, 30] # "interface-mode": "TRUNK" # } # } # "method": "PATCH", # "path": "rest/restconf/data/openconfig-interfaces:interfaces/interface=3/openconfig-if-ethernet:ethernet/openconfig-vlan:switched-vlan/config" # } # ], # # "after": [ # { # "access": { # "vlan": 20 # }, # "name": "1", # "trunk": null # }, # { # "access": null, # "name": "2", # "trunk": { # "native_vlan": null, # "trunk_allowed_vlans": [ # 10 # ] # } # }, # { # "access": null, # "name": "3", # "trunk": { # "native_vlan": 10, # "trunk_allowed_vlans": [ # 20, # 30 # ] # } # } # ] # # After state: # ------------- # # path: /rest/restconf/data/openconfig-interfaces:interfaces/ # method: GET # data: # { # "openconfig-interfaces:interfaces": { # "interface": [ # { # "name": "1", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "ACCESS", # "access-vlan": 20 # } # } # } # }, # { # "name": "2", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "TRUNK", # "trunk-vlans": [ # 10 # ] # } # } # } # }, # { # "name": "3", # "openconfig-if-ethernet:ethernet": { # "openconfig-vlan:switched-vlan": { # "config": { # "interface-mode": "TRUNK", # "native-vlan": 10, # "trunk-vlans": [ # 20, # 30 # ] # } # } # } # } # ] # } # }
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
after list / elements=string | when changed | The resulting configuration model invocation. Sample: The configuration returned will always be in the same format of the parameters above. |
before list / elements=string | always | The configuration prior to the model invocation. Sample: The configuration returned will always be in the same format of the parameters above. |
requests list / elements=string | always | The set of requests pushed to the remote device. Sample: [{'data': '...', 'method': '...', 'path': '...'}, {'data': '...', 'method': '...', 'path': '...'}, {'data': '...', 'method': '...', 'path': '...'}] |
© 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/exos_l2_interfaces_module.html