• AnsibleFest
  • Products
  • Community
  • Webinars & Training
  • Blog
Ansible Logo
Documentation
Ansible
3

Installation, Upgrade & Configuration

  • Installation Guide
  • Ansible Porting Guides

Using Ansible

  • User Guide

Contributing to Ansible

  • Ansible Community Guide

Extending Ansible

  • Developer Guide

Common Ansible Scenarios

  • Public Cloud Guides
  • Network Technology Guides
  • Virtualization and Containerization Guides

Network Automation

  • Network Getting Started
  • Network Advanced Topics
  • Network Developer Guide

Ansible Galaxy

  • Galaxy User Guide
  • Galaxy Developer Guide

Reference & Appendices

  • Collection Index
  • Indexes of all modules and plugins
  • Playbook Keywords
  • Return Values
  • Ansible Configuration Settings
  • Controlling how Ansible behaves: precedence rules
  • YAML Syntax
  • Python 3 Support
  • Interpreter Discovery
  • Release and maintenance
  • Testing Strategies
  • Sanity Tests
  • Frequently Asked Questions
  • Glossary
  • Ansible Reference: Module Utilities
  • Special Variables
  • Red Hat Ansible Tower
  • Ansible Automation Hub
  • Logging Ansible output

Roadmaps

  • Ansible Roadmap




Ansible
  • Docs »
  • community.network.exos_lldp_interfaces – Manage link layer discovery protocol (LLDP) attributes of interfaces on EXOS platforms.


community.network.exos_lldp_interfaces – Manage link layer discovery protocol (LLDP) attributes of interfaces on EXOS platforms.¶

Note

This plugin is part of the community.network collection (version 2.1.1).

To install it use: ansible-galaxy collection install community.network.

To use it in a playbook, specify: community.network.exos_lldp_interfaces.

New in version 0.2.0: of community.network

  • Synopsis

  • Parameters

  • Examples

  • Return Values

Synopsis¶

  • This module manages link layer discovery protocol (LLDP) attributes of interfaces on Extreme Networks EXOS platforms.

Parameters¶

Parameter Choices/Defaults Comments
config
list / elements=dictionary
The list of link layer discovery protocol interface attribute configurations
enabled
boolean
    Choices:
  • no
  • yes
This is a boolean value to control disabling of LLDP on the interface name
name
string / required
Name of the interface LLDP needs to be configured on.
state
string
    Choices:
  • merged ←
  • replaced
  • overridden
  • deleted
The state the configuration should be left in.

Examples¶

# Using merged

# Before state:
# -------------
#
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
#   "openconfig-lldp:interfaces": {
#     "interface": [
#       {
#         "config": {
#           "enabled": true,
#           "name": "1"
#         }
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "2"
#         }
#       },
#       {
#         "config": {
#           "enabled": false,
#           "name": "3"
#         }
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "4"
#         }
#       },
#       {
#         "config": {
#           "enabled": false,
#           "name": "5"
#         }
#       }
#     ]
#   }
# }

- name: Merge provided configuration with device configuration
  community.network.exos_lldp_interfaces:
    config:
      - name: '2'
        enabled: false
      - name: '5'
        enabled: true
    state: merged

# Module Execution Results:
# -------------------------
#
# "before":
#    - name: '1'
#      enabled: True
#    - name: '2'
#      enabled: True
#    - name: '3'
#      enabled: False
#    - name: '4'
#      enabled: True
#    - name: '5'
#      enabled: False
#
# "requests": [
#     {
#         "data": |
#         {
#           "openconfig-lldp:config": {
#             "enabled": false,
#             "name": "2"
#           }
#         }
#         "method": "PATCH",
#         "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=2/config"
#     },
#     {
#         "data": |
#         {
#           "openconfig-lldp:config": {
#             "enabled": true,
#             "name": "5"
#           }
#         }
#         "method": "PATCH",
#         "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=5/config"
#     }
# ]
#
# "after":
#    - name: '1'
#      enabled: True
#    - name: '2'
#      enabled: False
#    - name: '3'
#      enabled: False
#    - name: '4'
#      enabled: True
#    - name: '5'
#      enabled: True

# After state:
# -------------
#
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
#   "openconfig-lldp:interfaces": {
#     "interface": [
#       {
#         "config": {
#           "enabled": true,
#           "name": "1"
#         }
#       },
#       {
#         "config": {
#           "enabled": false,
#           "name": "2"
#         }
#       },
#       {
#         "config": {
#           "enabled": false,
#           "name": "3"
#         }
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "4"
#         }
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "5"
#         }
#       }
#     ]
#   }
# }


# Using replaced

# Before state:
# -------------
#
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
#   "openconfig-lldp:interfaces": {
#     "interface": [
#       {
#         "config": {
#           "enabled": true,
#           "name": "1"
#         }
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "2"
#         }
#       },
#       {
#         "config": {
#           "enabled": false,
#           "name": "3"
#         }
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "4"
#         }
#       },
#       {
#         "config": {
#           "enabled": false,
#           "name": "5"
#         }
#       }
#     ]
#   }
# }

- name: Replaces device configuration of listed lldp_interfaces with provided configuration
  community.network.exos_lldp_interfaces:
    config:
      - name: '1'
        enabled: false
      - name: '3'
        enabled: true
    state: merged

# Module Execution Results:
# -------------------------
#
# "before":
#    - name: '1'
#      enabled: True
#    - name: '2'
#      enabled: True
#    - name: '3'
#      enabled: False
#    - name: '4'
#      enabled: True
#    - name: '5'
#      enabled: False
#
# "requests": [
#     {
#         "data": |
#         {
#           "openconfig-lldp:config": {
#             "enabled": false,
#             "name": "1"
#           }
#         }
#         "method": "PATCH",
#         "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=1/config"
#     },
#     {
#         "data": |
#         {
#           "openconfig-lldp:config": {
#             "enabled": true,
#             "name": "3"
#           }
#         }
#         "method": "PATCH",
#         "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=3/config"
#     }
# ]
#
# "after":
#    - name: '1'
#      enabled: False
#    - name: '2'
#      enabled: True
#    - name: '3'
#      enabled: True
#    - name: '4'
#      enabled: True
#    - name: '5'
#      enabled: False

# After state:
# -------------
#
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
#   "openconfig-lldp:interfaces": {
#     "interface": [
#       {
#         "config": {
#           "enabled": false,
#           "name": "1"
#         }
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "2"
#         }
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "3"
#         }
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "4"
#         }
#       },
#       {
#         "config": {
#           "enabled": false,
#           "name": "5"
#         }
#       }
#     ]
#   }
# }


# Using deleted

# Before state:
# -------------
#
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
#   "openconfig-lldp:interfaces": {
#     "interface": [
#       {
#         "config": {
#           "enabled": false,
#           "name": "1"
#         },
#       },
#       {
#         "config": {
#           "enabled": false,
#           "name": "2"
#         },
#       },
#       {
#         "config": {
#           "enabled": false,
#           "name": "3"
#         },
#       }
#     ]
#   }
# }

- name: Delete lldp interface configuration (this will not delete other lldp configuration)
  community.network.exos_lldp_interfaces:
    config:
      - name: '1'
      - name: '3'
    state: deleted

# Module Execution Results:
# -------------------------
#
# "before":
#    - name: '1'
#      enabled: False
#    - name: '2'
#      enabled: False
#    - name: '3'
#      enabled: False
#
# "requests": [
#     {
#         "data": |
#         {
#           "openconfig-lldp:config": {
#             "enabled": true,
#             "name": "1"
#           }
#         }
#         "method": "PATCH",
#         "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=1/config"
#     },
#     {
#         "data": |
#         {
#           "openconfig-lldp:config": {
#             "enabled": true,
#             "name": "3"
#           }
#         }
#         "method": "PATCH",
#         "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=3/config"
#     }
# ]
#
# "after":
#    - name: '1'
#      enabled: True
#    - name: '2'
#      enabled: False
#    - name: '3'
#      enabled: True
#
#  After state:
# -------------
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
#   "openconfig-lldp:interfaces": {
#     "interface": [
#       {
#         "config": {
#           "enabled": true,
#           "name": "1"
#         },
#       },
#       {
#         "config": {
#           "enabled": false,
#           "name": "2"
#         },
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "3"
#         },
#       }
#     ]
#   }
# }


# Using overridden

# Before state:
# -------------
#
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
#   "openconfig-lldp:interfaces": {
#     "interface": [
#       {
#         "config": {
#           "enabled": true,
#           "name": "1"
#         }
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "2"
#         }
#       },
#       {
#         "config": {
#           "enabled": false,
#           "name": "3"
#         }
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "4"
#         }
#       },
#       {
#         "config": {
#           "enabled": false,
#           "name": "5"
#         }
#       }
#     ]
#   }
# }

- name: Override device configuration of all lldp_interfaces with provided configuration
  community.network.exos_lldp_interfaces:
    config:
      - name: '3'
        enabled: true
    state: overridden

# Module Execution Results:
# -------------------------
#
# "before":
#    - name: '1'
#      enabled: True
#    - name: '2'
#      enabled: True
#    - name: '3'
#      enabled: False
#    - name: '4'
#      enabled: True
#    - name: '5'
#      enabled: False
#
# "requests": [
#     {
#         "data": |
#         {
#           "openconfig-lldp:config": {
#             "enabled": true,
#             "name": "5"
#           }
#         }
#         "method": "PATCH",
#         "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=5/config"
#     },
#     {
#         "data": |
#         {
#           "openconfig-lldp:config": {
#             "enabled": true,
#             "name": "3"
#           }
#         }
#         "method": "PATCH",
#         "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=3/config"
#     }
# ]
#
# "after":
#    - name: '1'
#      enabled: True
#    - name: '2'
#      enabled: True
#    - name: '3'
#      enabled: True
#    - name: '4'
#      enabled: True
#    - name: '5'
#      enabled: True

# After state:
# -------------
#
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
#   "openconfig-lldp:interfaces": {
#     "interface": [
#       {
#         "config": {
#           "enabled": true,
#           "name": "1"
#         }
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "2"
#         }
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "3"
#         }
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "4"
#         }
#       },
#       {
#         "config": {
#           "enabled": true,
#           "name": "5"
#         }
#       }
#     ]
#   }
# }

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 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': '...'}]


Authors¶

  • Jayalakshmi Viswanathan (@JayalakshmiV)


© Copyright 2021 Red Hat, Inc. Last updated on Apr 23, 2021.