vyos.vyos.vyos_lldp_interfaces – LLDP interfaces resource module

Note

This plugin is part of the vyos.vyos collection.

To install it use: ansible-galaxy collection install vyos.vyos.

To use it in a playbook, specify: vyos.vyos.vyos_lldp_interfaces.

New in version 1.0.0: of vyos.vyos

Synopsis

  • This module manages attributes of lldp interfaces on VyOS network devices.

Parameters

Parameter Choices/Defaults Comments
config
list / elements=dictionary
A list of lldp interfaces configurations.
enable
boolean
    Choices:
  • no
  • yes ←
to disable lldp on the interface.
location
dictionary
LLDP-MED location data.
civic_based
dictionary
Civic-based location data.
ca_info
list / elements=dictionary
LLDP-MED address info
ca_type
integer
LLDP-MED Civic Address type.
ca_value
string
LLDP-MED Civic Address value.
country_code
string / required
Country Code
coordinate_based
dictionary
Coordinate-based location.
altitude
integer
Altitude in meters.
datum
string
    Choices:
  • WGS84
  • NAD83
  • MLLW
Coordinate datum type.
latitude
string / required
Latitude.
longitude
string / required
Longitude.
elin
string
Emergency Call Service ELIN number (between 10-25 numbers).
name
string / required
Name of the lldp interface.
running_config
string
This option is used only with state parsed.
The value of this option should be the output received from the VyOS device by executing the command show configuration commands | grep lldp.
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
    Choices:
  • merged ←
  • replaced
  • overridden
  • deleted
  • rendered
  • parsed
  • gathered
The state of the configuration after module completion.

Notes

Note

Examples

# Using merged
#
# Before state:
# -------------
#
# [email protected]:~$ show configuration  commands | grep lldp
#
- name: Merge provided configuration with device configuration
  vyos.vyos.vyos_lldp_interfaces:
    config:
    - name: eth1
      location:
        civic_based:
          country_code: US
          ca_info:
          - ca_type: 0
            ca_value: ENGLISH

    - name: eth2
      location:
        coordinate_based:
          altitude: 2200
          datum: WGS84
          longitude: 222.267255W
          latitude: 33.524449N
    state: merged
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
# before": []
#
#    "commands": [
#        "set service lldp interface eth1 location civic-based country-code 'US'",
#        "set service lldp interface eth1 location civic-based ca-type 0 ca-value 'ENGLISH'",
#        "set service lldp interface eth1",
#        "set service lldp interface eth2 location coordinate-based latitude '33.524449N'",
#        "set service lldp interface eth2 location coordinate-based altitude '2200'",
#        "set service lldp interface eth2 location coordinate-based datum 'WGS84'",
#        "set service lldp interface eth2 location coordinate-based longitude '222.267255W'",
#        "set service lldp interface eth2 location coordinate-based latitude '33.524449N'",
#        "set service lldp interface eth2 location coordinate-based altitude '2200'",
#        "set service lldp interface eth2 location coordinate-based datum 'WGS84'",
#        "set service lldp interface eth2 location coordinate-based longitude '222.267255W'",
#        "set service lldp interface eth2"
#
# "after": [
#        {
#            "location": {
#                "coordinate_based": {
#                    "altitude": 2200,
#                    "datum": "WGS84",
#                    "latitude": "33.524449N",
#                    "longitude": "222.267255W"
#                }
#            },
#            "name": "eth2"
#        },
#        {
#            "location": {
#                "civic_based": {
#                    "ca_info": [
#                        {
#                            "ca_type": 0,
#                            "ca_value": "ENGLISH"
#                        }
#                    ],
#                    "country_code": "US"
#                }
#            },
#            "name": "eth1"
#        }
#    ],
#
# After state:
# -------------
#
# [email protected]:~$ show configuration commands | grep lldp
# set service lldp interface eth1 location civic-based ca-type 0 ca-value 'ENGLISH'
# set service lldp interface eth1 location civic-based country-code 'US'
# set service lldp interface eth2 location coordinate-based altitude '2200'
# set service lldp interface eth2 location coordinate-based datum 'WGS84'
# set service lldp interface eth2 location coordinate-based latitude '33.524449N'
# set service lldp interface eth2 location coordinate-based longitude '222.267255W'


# Using replaced
#
# Before state:
# -------------
#
# [email protected]:~$ show configuration commands | grep lldp
# set service lldp interface eth1 location civic-based ca-type 0 ca-value 'ENGLISH'
# set service lldp interface eth1 location civic-based country-code 'US'
# set service lldp interface eth2 location coordinate-based altitude '2200'
# set service lldp interface eth2 location coordinate-based datum 'WGS84'
# set service lldp interface eth2 location coordinate-based latitude '33.524449N'
# set service lldp interface eth2 location coordinate-based longitude '222.267255W'
#
- name: Replace device configurations of listed LLDP interfaces with provided configurations
  vyos.vyos.vyos_lldp_interfaces:
    config:
    - name: eth2
      location:
        civic_based:
          country_code: US
          ca_info:
          - ca_type: 0
            ca_value: ENGLISH

    - name: eth1
      location:
        coordinate_based:
          altitude: 2200
          datum: WGS84
          longitude: 222.267255W
          latitude: 33.524449N
    state: replaced
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#    "before": [
#        {
#            "location": {
#                "coordinate_based": {
#                    "altitude": 2200,
#                    "datum": "WGS84",
#                    "latitude": "33.524449N",
#                    "longitude": "222.267255W"
#                }
#            },
#            "name": "eth2"
#        },
#        {
#            "location": {
#                "civic_based": {
#                    "ca_info": [
#                        {
#                            "ca_type": 0,
#                            "ca_value": "ENGLISH"
#                        }
#                    ],
#                    "country_code": "US"
#                }
#            },
#            "name": "eth1"
#        }
#    ]
#
#    "commands": [
#        "delete service lldp interface eth2 location",
#        "set service lldp interface eth2 'disable'",
#        "set service lldp interface eth2 location civic-based country-code 'US'",
#        "set service lldp interface eth2 location civic-based ca-type 0 ca-value 'ENGLISH'",
#        "delete service lldp interface eth1 location",
#        "set service lldp interface eth1 'disable'",
#        "set service lldp interface eth1 location coordinate-based latitude '33.524449N'",
#        "set service lldp interface eth1 location coordinate-based altitude '2200'",
#        "set service lldp interface eth1 location coordinate-based datum 'WGS84'",
#        "set service lldp interface eth1 location coordinate-based longitude '222.267255W'"
#    ]
#
#    "after": [
#        {
#            "location": {
#                "civic_based": {
#                    "ca_info": [
#                        {
#                            "ca_type": 0,
#                            "ca_value": "ENGLISH"
#                        }
#                    ],
#                    "country_code": "US"
#                }
#            },
#            "name": "eth2"
#        },
#        {
#            "location": {
#                "coordinate_based": {
#                    "altitude": 2200,
#                    "datum": "WGS84",
#                    "latitude": "33.524449N",
#                    "longitude": "222.267255W"
#                }
#            },
#            "name": "eth1"
#        }
#    ]
#
# After state:
# -------------
#
# [email protected]:~$ show configuration commands | grep lldp
# set service lldp interface eth1 'disable'
# set service lldp interface eth1 location coordinate-based altitude '2200'
# set service lldp interface eth1 location coordinate-based datum 'WGS84'
# set service lldp interface eth1 location coordinate-based latitude '33.524449N'
# set service lldp interface eth1 location coordinate-based longitude '222.267255W'
# set service lldp interface eth2 'disable'
# set service lldp interface eth2 location civic-based ca-type 0 ca-value 'ENGLISH'
# set service lldp interface eth2 location civic-based country-code 'US'


# Using overridden
#
# Before state
# --------------
#
# [email protected]:~$ show configuration commands | grep lldp
# set service lldp interface eth1 'disable'
# set service lldp interface eth1 location coordinate-based altitude '2200'
# set service lldp interface eth1 location coordinate-based datum 'WGS84'
# set service lldp interface eth1 location coordinate-based latitude '33.524449N'
# set service lldp interface eth1 location coordinate-based longitude '222.267255W'
# set service lldp interface eth2 'disable'
# set service lldp interface eth2 location civic-based ca-type 0 ca-value 'ENGLISH'
# set service lldp interface eth2 location civic-based country-code 'US'
#
- name: Overrides all device configuration with provided configuration
  vyos.vyos.vyos_lldp_interfaces:
    config:
    - name: eth2
      location:
        elin: 0000000911

    state: overridden
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
# "before": [
#        {
#            "enable": false,
#            "location": {
#                "civic_based": {
#                    "ca_info": [
#                        {
#                            "ca_type": 0,
#                            "ca_value": "ENGLISH"
#                        }
#                    ],
#                    "country_code": "US"
#                }
#            },
#            "name": "eth2"
#        },
#        {
#            "enable": false,
#            "location": {
#                "coordinate_based": {
#                    "altitude": 2200,
#                    "datum": "WGS84",
#                    "latitude": "33.524449N",
#                    "longitude": "222.267255W"
#                }
#            },
#            "name": "eth1"
#        }
#    ]
#
#    "commands": [
#        "delete service lldp interface eth2 location",
#        "delete service lldp interface eth2 disable",
#        "set service lldp interface eth2 location elin 0000000911"
#
#
#    "after": [
#        {
#            "location": {
#                "elin": 0000000911
#            },
#            "name": "eth2"
#        }
#    ]
#
#
# After state
# ------------
#
# [email protected]# run show configuration commands | grep lldp
# set service lldp interface eth2 location elin '0000000911'


# Using deleted
#
# Before state
# -------------
#
# [email protected]# run show configuration commands | grep lldp
# set service lldp interface eth2 location elin '0000000911'
#
- name: Delete lldp  interface attributes of given interfaces.
  vyos.vyos.vyos_lldp_interfaces:
    config:
    - name: eth2
    state: deleted
#
#
# ------------------------
# Module Execution Results
# ------------------------
#
    before: [{location: {elin: 0000000911}, name: eth2}]
# "commands": [
#    "commands": [
#        "delete service lldp interface eth2"
#    ]
#
# "after": []
# After state
# ------------
# [email protected]# run show configuration commands | grep lldp
# set service 'lldp'


# Using gathered
#
# Before state:
# -------------
#
# [email protected]# run show configuration commands | grep lldp
# set service lldp interface eth1 location civic-based ca-type 0 ca-value 'ENGLISH'
# set service lldp interface eth1 location civic-based country-code 'US'
# set service lldp interface eth2 location coordinate-based altitude '2200'
# set service lldp interface eth2 location coordinate-based datum 'WGS84'
# set service lldp interface eth2 location coordinate-based latitude '33.524449N'
# set service lldp interface eth2 location coordinate-based longitude '222.267255W'
#
- name: Gather listed lldp interfaces from running configuration
  vyos.vyos.vyos_lldp_interfaces:
    config:
    state: gathered
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#    "gathered": [
#         {
#             "location": {
#                 "coordinate_based": {
#                     "altitude": 2200,
#                     "datum": "WGS84",
#                     "latitude": "33.524449N",
#                     "longitude": "222.267255W"
#                 }
#             },
#             "name": "eth2"
#         },
#         {
#             "location": {
#                 "civic_based": {
#                     "ca_info": [
#                         {
#                             "ca_type": 0,
#                             "ca_value": "ENGLISH"
#                         }
#                     ],
#                     "country_code": "US"
#                 }
#             },
#             "name": "eth1"
#         }
#     ]
#
#
# After state:
# -------------
#
# [email protected]# run show configuration commands | grep lldp
# set service lldp interface eth1 location civic-based ca-type 0 ca-value 'ENGLISH'
# set service lldp interface eth1 location civic-based country-code 'US'
# set service lldp interface eth2 location coordinate-based altitude '2200'
# set service lldp interface eth2 location coordinate-based datum 'WGS84'
# set service lldp interface eth2 location coordinate-based latitude '33.524449N'
# set service lldp interface eth2 location coordinate-based longitude '222.267255W'


# Using rendered
#
#
- name: Render the commands for provided  configuration
  vyos.vyos.vyos_lldp_interfaces:
    config:
    - name: eth1
      location:
        civic_based:
          country_code: US
          ca_info:
          - ca_type: 0
            ca_value: ENGLISH
    - name: eth2
      location:
        coordinate_based:
          altitude: 2200
          datum: WGS84
          longitude: 222.267255W
          latitude: 33.524449N
    state: rendered
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "rendered": [
#         "set service lldp interface eth1 location civic-based country-code 'US'",
#         "set service lldp interface eth1 location civic-based ca-type 0 ca-value 'ENGLISH'",
#         "set service lldp interface eth1",
#         "set service lldp interface eth2 location coordinate-based latitude '33.524449N'",
#         "set service lldp interface eth2 location coordinate-based altitude '2200'",
#         "set service lldp interface eth2 location coordinate-based datum 'WGS84'",
#         "set service lldp interface eth2 location coordinate-based longitude '222.267255W'",
#         "set service lldp interface eth2"
#     ]


# Using parsed
#
#
- name: Parsed the commands to provide structured configuration.
  vyos.vyos.vyos_lldp_interfaces:
    running_config:
      "set service lldp interface eth1 location civic-based ca-type 0 ca-value 'ENGLISH'
       set service lldp interface eth1 location civic-based country-code 'US'
       set service lldp interface eth2 location coordinate-based altitude '2200'
       set service lldp interface eth2 location coordinate-based datum 'WGS84'
       set service lldp interface eth2 location coordinate-based latitude '33.524449N'
       set service lldp interface eth2 location coordinate-based longitude '222.267255W'"
    state: parsed
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "parsed": [
#         {
#             "location": {
#                 "coordinate_based": {
#                     "altitude": 2200,
#                     "datum": "WGS84",
#                     "latitude": "33.524449N",
#                     "longitude": "222.267255W"
#                 }
#             },
#             "name": "eth2"
#         },
#         {
#             "location": {
#                 "civic_based": {
#                     "ca_info": [
#                         {
#                             "ca_type": 0,
#                             "ca_value": "ENGLISH"
#                         }
#                     ],
#                     "country_code": "US"
#                 }
#             },
#             "name": "eth1"
#         }
#     ]

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:
["set service lldp interface eth2 'disable'", 'delete service lldp interface eth1 location']


Authors

  • Rohit Thakur (@rohitthakur2590)