cisco.nxos.nxos_lag_interfaces – LAG interfaces resource module
Note
This plugin is part of the cisco.nxos collection (version 1.4.0).
To install it use: ansible-galaxy collection install cisco.nxos
.
To use it in a playbook, specify: cisco.nxos.nxos_lag_interfaces
.
New in version 1.0.0: of cisco.nxos
Synopsis
- This module manages attributes of link aggregation groups of NX-OS Interfaces.
Note
This module has a corresponding action plugin.
Parameters
Parameter | Choices/Defaults | Comments | ||
---|---|---|---|---|
config list / elements=dictionary | A list of link aggregation group configurations. | |||
members list / elements=dictionary | The list of interfaces that are part of the group. | |||
force boolean |
| When true it forces link aggregation group members to match what is declared in the members param. This can be used to remove members. | ||
member string | The interface name. | |||
mode string |
| Link aggregation group (LAG). | ||
name string / required | Name of the link aggregation group (LAG). | |||
running_config string | This option is used only with state parsed. The value of this option should be the output received from the NX-OS device by executing the command show running-config | section ^interface. The state parsed reads the configuration from running_config option and transforms it into Ansible structured data as per the resource module's argspec and the value is then returned in the parsed key within the result. | |||
state string |
| The state of the configuration after module completion. |
Notes
Note
- Tested against NXOS 7.3.(0)D1(1) on VIRL.
- This module works with connection
network_cli
.
Examples
# Using merged
# Before state:
# -------------
#
# interface Ethernet1/4
- name: Merge provided configuration with device configuration.
cisco.nxos.nxos_lag_interfaces:
config:
- name: port-channel99
members:
- member: Ethernet1/4
state: merged
# After state:
# ------------
#
# interface Ethernet1/4
# channel-group 99
# Using replaced
# Before state:
# -------------
#
# interface Ethernet1/4
# channel-group 99 mode active
- name: Replace device configuration of specified LAG attributes of given interfaces
with provided configuration.
cisco.nxos.nxos_lag_interfaces:
config:
- name: port-channel10
members:
- member: Ethernet1/4
state: replaced
# After state:
# ------------
#
# interface Ethernet1/4
# channel-group 10
# Using overridden
# Before state:
# -------------
#
# interface Ethernet1/4
# channel-group 10
# interface Ethernet1/2
# channel-group 99 mode passive
- name: Override device configuration of all LAG attributes of given interfaces on
device with provided configuration.
cisco.nxos.nxos_lag_interfaces:
config:
- name: port-channel20
members:
- member: Ethernet1/6
force: true
state: overridden
# After state:
# ------------
# interface Ethernet1/2
# interface Ethernet1/4
# interface Ethernet1/6
# channel-group 20 force
# Using deleted
# Before state:
# -------------
#
# interface Ethernet1/4
# channel-group 99 mode active
- name: Delete LAG attributes of given interface (This won't delete the port-channel
itself).
cisco.nxos.nxos_lag_interfaces:
config:
- port-channel: port-channel99
state: deleted
- name: Delete LAG attributes of all the interfaces
cisco.nxos.nxos_lag_interfaces:
state: deleted
# After state:
# ------------
#
# interface Ethernet1/4
# no channel-group 99
# Using rendered
- name: Use rendered state to convert task input to device specific commands
cisco.nxos.nxos_lag_interfaces:
config:
- name: port-channel10
members:
- member: Ethernet1/800
mode: active
- member: Ethernet1/801
- name: port-channel11
members:
- member: Ethernet1/802
mode: passive
state: rendered
# Task Output (redacted)
# -----------------------
# rendered:
# - "interface Ethernet1/800"
# - "channel-group 10 mode active"
# - "interface Ethernet1/801"
# - "channel-group 10"
# - "interface Ethernet1/802"
# - "channel-group 11 mode passive"
# Using parsed
# parsed.cfg
# ------------
# interface port-channel10
# interface port-channel11
# interface port-channel12
# interface Ethernet1/800
# channel-group 10 mode active
# interface Ethernet1/801
# channel-group 10 mode active
# interface Ethernet1/802
# channel-group 11 mode passive
# interface Ethernet1/803
# channel-group 11 mode passive
- name: Use parsed state to convert externally supplied config to structured format
cisco.nxos.nxos_lag_interfaces:
running_config: "{{ lookup('file', 'parsed.cfg') }}"
state: parsed
# Task output (redacted)
# -----------------------
# parsed:
# - members:
# - member: Ethernet1/800
# mode: active
# - member: Ethernet1/801
# mode: active
# name: port-channel10
#
# - members:
# - member: Ethernet1/802
# mode: passive
# - member: Ethernet1/803
# mode: passive
# name: port-channel11
#
# - name: port-channel12
# Using gathered
# Existing device config state
# -------------------------------
# interface port-channel10
# interface port-channel11
# interface Ethernet1/1
# channel-group 10 mode active
# interface Ethernet1/2
# channel-group 11 mode passive
#
- name: Gather lag_interfaces facts from the device using nxos_lag_interfaces
cisco.nxos.nxos_lag_interfaces:
state: gathered
# Task output (redacted)
# -----------------------
# gathered:
# - name: port-channel10
# members:
# - member: Ethernet1/1
# mode: active
# - name: port-channel11
# members:
# - member: Ethernet1/2
# mode: passive
Return Values
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 configuration as structured data after module completion. Sample: The configuration returned will always be in the same format of the parameters above. |
before list / elements=string | always | The configuration as structured data prior to module invocation. Sample: The configuration returned will always be in the same format of the parameters above. |
commands list / elements=string | always | The set of commands pushed to the remote device. Sample: ['interface Ethernet1/800', 'channel-group 10 mode active', 'interface Ethernet1/801', 'channel-group 10', 'interface Ethernet1/802', 'channel-group 11 mode passive'] |
Authors
- Trishna Guha (@trishnaguha)
- Nilashish Chakraborty (@NilashishC)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/cisco/nxos/nxos_lag_interfaces_module.html