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_configoption 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