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

From Get docs
Ansible/docs/2.10/collections/community/network/exos lldp interfaces module


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 1.3.0).

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

  • 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

  • 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

  • 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)

© 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_lldp_interfaces_module.html