Note
This plugin is part of the community.network collection.
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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/network/exos_l2_interfaces_module.html