�
�Udac @ s� i d d 6d g d 6d d 6Z d Z d Z d Z d d
l Z d d l m Z m Z m Z d d l m Z m
Z
d d
l m Z i d d 6Z
d � Z d � Z d � Z d � Z d � Z d � Z e d k r� e � n d
S( s 1.1t metadata_versiont previewt statust networkt supported_bys
---
module: nxos_udld
extends_documentation_fragment: nxos
version_added: "2.2"
short_description: Manages UDLD global configuration params.
description:
- Manages UDLD global configuration params.
author:
- Jason Edelman (@jedelman8)
notes:
- Tested against NXOSv 7.3.(0)D1(1) on VIRL
- Module will fail if the udld feature has not been previously enabled.
options:
aggressive:
description:
- Toggles aggressive mode.
choices: ['enabled','disabled']
msg_time:
description:
- Message time in seconds for UDLD packets or keyword 'default'.
reset:
description:
- Ability to reset all ports shut down by UDLD. 'state' parameter
cannot be 'absent' when this is present.
type: bool
default: 'no'
state:
description:
- Manage the state of the resource. When set to 'absent',
aggressive and msg_time are set to their default values.
default: present
choices: ['present','absent']
s�
# ensure udld aggressive mode is globally disabled and se global message interval is 20
- nxos_udld:
aggressive: disabled
msg_time: 20
host: "{{ inventory_hostname }}"
username: "{{ un }}"
password: "{{ pwd }}"
# Ensure agg mode is globally enabled and msg time is 15
- nxos_udld:
aggressive: enabled
msg_time: 15
host: "{{ inventory_hostname }}"
username: "{{ un }}"
password: "{{ pwd }}"
s
proposed:
description: k/v pairs of parameters passed into module
returned: always
type: dict
sample: {"aggressive": "enabled", "msg_time": "40"}
existing:
description:
- k/v pairs of existing udld configuration
returned: always
type: dict
sample: {"aggressive": "disabled", "msg_time": "15"}
end_state:
description: k/v pairs of udld configuration after module execution
returned: always
type: dict
sample: {"aggressive": "enabled", "msg_time": "40"}
updates:
description: command sent to the device
returned: always
type: list
sample: ["udld message-time 40", "udld aggressive"]
changed:
description: check to see if a change was made on the device
returned: always
type: bool
sample: true
i����N( t
get_configt load_configt run_commands( t get_capabilitiest nxos_argument_spec( t
AnsibleModulet 15t msg_timec C sG g } x: | D]2 } t | t � r2 | j | � q
| j | � q
W| S( N( t
isinstancet listt extendt append( t
command_listst flat_command_listt command( ( sJ /usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_udld.pyt flatten_listv s
c C sq i } xd | j � D]V \ } } | j | � } | r | j | � } | r\ t | � | | <qi | | | <q q W| S( N( t itemst gett str( t key_mapt tablet new_dictt keyt valuet new_key( ( sJ /usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_udld.pyt
apply_key_map� s c C s� g } x� | j � D]� \ } } | d k rS | d k r= d n d } | j | � q | d k r | d k r� | j d � t j d � k r� | j d � q� q� | j d | � q q W| r� d } | j | � n | S(
Nt
aggressivet enableds udld aggressives no udld aggressiveR t defaults no udld message-times udld message-time s
udld reset( R R R t PARAM_TO_DEFAULT_KEYMAP( t deltat resett existingt commandst paramR R ( ( sJ /usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_udld.pyt get_commands_config_udld_global� s c C si g } | j d � d k r1 d } | j | � n | j d � t j d � k re d } | j | � n | S( NR R s no udld aggressiveR s no udld message-time( R R R"