barrets2002.smb.smb_lldp_global (0.0.1) — module

LLDP resource module

| "added in version" 1.0.0 of barrets2002.smb"

Authors: Sumit Jaiswal (@justjais)

Install collection

Install with ansible-galaxy collection install barrets2002.smb:==0.0.1


Add to requirements.yml

  collections:
    - name: barrets2002.smb
      version: 0.0.1

Description

This module configures and manages the Link Layer Discovery Protocol(LLDP) attributes on SMB platforms.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Using merged

# Before state:
# -------------
# vsmb#sh running-config | section ^lldp
# vsmb1#


- name: Merge provided configuration with device configuration
  cisco.smb.smb_lldp_global:
    config:
      holdtime: 10
      enabled: true
      reinit: 3
      timer: 10
    state: merged
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# After state:
# ------------
# vsmb#sh running-config | section ^lldp
#  lldp timer 10
#  lldp holdtime 10
#  lldp reinit 3
#  lldp run


# Using replaced

# Before state:
# -------------
# vsmb#sh running-config | section ^lldp
#  lldp timer 10
#  lldp holdtime 10
#  lldp reinit 3
#  lldp run


- name: Replaces LLDP device configuration with provided configuration
  cisco.smb.smb_lldp_global:
    config:
      holdtime: 20
      reinit: 5
    state: replaced
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# After state:
# -------------
# vsmb#sh running-config | section ^lldp
#  lldp holdtime 20
#  lldp reinit 5


# Using Deleted without any config passed
#"(NOTE: This will delete all of configured LLDP module attributes)"

# Before state:
# -------------
# vsmb#sh running-config | section ^lldp
#  lldp timer 10
#  lldp holdtime 10
#  lldp reinit 3
#  lldp run


- name: Delete LLDP attributes
  cisco.smb.smb_lldp_global:
    state: deleted
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# After state:
# -------------
# vsmb#sh running-config | section ^lldp
# vsmb1#

# Using Gathered

# Before state:
# -------------
#
# vsmb#sh running-config | section ^lldp
#  lldp timer 10
#  lldp holdtime 10
#  lldp reinit 3
#  lldp run

- name: Gather listed interfaces with provided configurations
  cisco.smb.smb_lldp_global:
    config:
    state: gathered
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Module Execution Result:
# ------------------------
#
# "gathered": {
#         "enabled": true,
#         "holdtime": 10,
#         "reinit": 3,
#         "timer": 10
#     }

# After state:
# ------------
#
# vsmb#sh running-config | section ^lldp
#  lldp timer 10
#  lldp holdtime 10
#  lldp reinit 3
#  lldp run

# Using Rendered
- name: Render the commands for provided  configuration
  cisco.smb.smb_lldp_global:
    config:
      holdtime: 10
      enabled: true
      reinit: 3
      timer: 10
    state: rendered
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Module Execution Result:
# ------------------------
#
# "rendered": [
#         "lldp holdtime 10",
#         "lldp run",
#         "lldp timer 10",
#         "lldp reinit 3"
#     ]

# Using Parsed

# File: parsed.cfg
# ----------------
#
# lldp timer 10
# lldp holdtime 10
# lldp reinit 3
# lldp run

- name: Parse the commands for provided configuration
  cisco.smb.smb_lldp_global:
    running_config: "{{ lookup('file', 'parsed.cfg') }}"
    state: parsed

Inputs

    
state:
    choices:
    - merged
    - replaced
    - deleted
    - rendered
    - gathered
    - parsed
    default: merged
    description:
    - The state the configuration should be left in
    - The states I(rendered), I(gathered) and I(parsed) does not perform any change on
      the device.
    - The state I(rendered) will transform the configuration in C(config) option to platform
      specific CLI commands which will be returned in the I(rendered) key within the result.
      For state I(rendered) active connection to remote host is not required.
    - The state I(gathered) will fetch the running configuration from device and transform
      it into structured data in the format as per the resource module argspec and the
      value is returned in the I(gathered) key within the result.
    - The state I(parsed) reads the configuration from C(running_config) option and transforms
      it into JSON format as per the resource module parameters and the value is returned
      in the I(parsed) key within the result. The value of C(running_config) option should
      be the same format as the output of command I(show running-config | include ip route|ipv6
      route) executed on device. For state I(parsed) active connection to remote host
      is not required.
    type: str

config:
    description: A dictionary of LLDP options
    suboptions:
      enabled:
        description:
        - Enable LLDP
        type: bool
      holdtime:
        description:
        - LLDP holdtime (in sec) to be sent in packets.
        - Refer to vendor documentation for valid values.
        type: int
      reinit:
        description:
        - Specify the delay (in secs) for LLDP to initialize.
        - Refer to vendor documentation for valid values.
        - NOTE, if LLDP reinit is configured with a starting value, idempotency won't
          be maintained as the Cisco device doesn't record the starting reinit configured
          value. As such, Ansible cannot verify if the respective starting reinit value
          is already configured or not from the device side. If you try to apply starting
          reinit value in every play run, Ansible will show changed as True. For any other
          reinit value, idempotency will be maintained since any other reinit value is
          recorded in the Cisco device.
        type: int
      timer:
        description:
        - Specify the rate at which LLDP packets are sent (in sec).
        - Refer to vendor documentation for valid values.
        type: int
      tlv_select:
        description:
        - Selection of LLDP TLVs i.e. type-length-value to send
        - NOTE, if tlv-select is configured idempotency won't be maintained as Cisco device
          doesn't record configured tlv-select options. As such, Ansible cannot verify
          if the respective tlv-select options is already configured or not from the device
          side. If you try to apply tlv-select option in every play run, Ansible will
          show changed as True.
        suboptions:
          four_wire_power_management:
            description:
            - Cisco 4-wire Power via MDI TLV
            type: bool
          mac_phy_cfg:
            description:
            - IEEE 802.3 MAC/Phy Configuration/status TLV
            type: bool
          management_address:
            description:
            - Management Address TLV
            type: bool
          port_description:
            description:
            - Port Description TLV
            type: bool
          port_vlan:
            description:
            - Port VLAN ID TLV
            type: bool
          power_management:
            description:
            - IEEE 802.3 DTE Power via MDI TLV
            type: bool
          system_capabilities:
            description:
            - System Capabilities TLV
            type: bool
          system_description:
            description:
            - System Description TLV
            type: bool
          system_name:
            description:
            - System Name TLV
            type: bool
        type: dict
    type: dict

running_config:
    description:
    - This option is used only with state I(parsed).
    - The value of this option should be the output received from the SMB device by executing
      the command B(show running-config | section ^lldp).
    - The state I(parsed) reads the configuration from C(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 I(parsed) key within the result.
    type: str

Outputs

after:
  description: The configuration as structured data after module completion.
  returned: when changed
  sample: The configuration returned will always be in the same format of the parameters
    above.
  type: dict
before:
  description: The configuration as structured data prior to module invocation.
  returned: always
  sample: The configuration returned will always be in the same format of the parameters
    above.
  type: dict
commands:
  description: The set of commands pushed to the remote device
  returned: always
  sample:
  - lldp holdtime 10
  - lldp run
  - lldp timer 10
  type: list