Anons79 Mini Shell

Directory : /lib/python2.7/site-packages/ansible/modules/network/nxos/
Upload File :
Current File : //lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_vrrp.pyc

�
�Udac@sidd6dgd6dd6ZdZdZdZd	d
lmZmZd	dlmZmZd	dlm	Z	d	d
l
mZidd6dd6dd6dd6Zd�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zed kre�nd!S("s1.1tmetadata_versiontpreviewtstatustnetworktsupported_bys�
---
module: nxos_vrrp
extends_documentation_fragment: nxos
version_added: "2.1"
short_description: Manages VRRP configuration on NX-OS switches.
description:
    - Manages VRRP configuration on NX-OS switches.
author:
    - Jason Edelman (@jedelman8)
    - Gabriele Gerbino (@GGabriele)
notes:
    - Tested against NXOSv 7.3.(0)D1(1) on VIRL
    - VRRP feature needs to be enabled first on the system.
    - SVIs must exist before using this module.
    - Interface must be a L3 port before using this module.
    - C(state=absent) removes the VRRP group if it exists on the device.
    - VRRP cannot be configured on loopback interfaces.
options:
    group:
        description:
            - VRRP group number.
        required: true
    interface:
        description:
            - Full name of interface that is being managed for VRRP.
        required: true
    interval:
        description:
            - Time interval between advertisement or 'default' keyword
        required: false
        default: 1
        version_added: 2.6
    priority:
        description:
            - VRRP priority or 'default' keyword
        default: 100
    preempt:
        description:
            - Enable/Disable preempt.
        type: bool
        default: 'yes'
    vip:
        description:
            - VRRP virtual IP address or 'default' keyword
    authentication:
        description:
            - Clear text authentication string or 'default' keyword
    admin_state:
        description:
            - Used to enable or disable the VRRP process.
        choices: ['shutdown', 'no shutdown', 'default']
        default: shutdown
    state:
        description:
            - Specify desired state of the resource.
        default: present
        choices: ['present','absent']
s�
- name: Ensure vrrp group 100 and vip 10.1.100.1 is on vlan10
  nxos_vrrp:
    interface: vlan10
    group: 100
    vip: 10.1.100.1

- name: Ensure removal of the vrrp group config
  # vip is required to ensure the user knows what they are removing
  nxos_vrrp:
    interface: vlan10
    group: 100
    vip: 10.1.100.1
    state: absent

- name: Re-config with more params
  nxos_vrrp:
    interface: vlan10
    group: 100
    vip: 10.1.100.1
    preempt: false
    priority: 130
    authentication: AUTHKEY
s�
commands:
    description: commands sent to the device
    returned: always
    type: list
    sample: ["interface vlan10", "vrrp 150", "address 10.1.15.1",
            "authentication text testing", "no shutdown"]
i����(tload_configtrun_commands(tget_capabilitiestnxos_argument_spec(tget_interface_type(t
AnsibleModulet100tpriorityt1tintervals0.0.0.0tviptshutdowntadmin_statecCsCd|krd}nd}i|d6|d6g}t||�dS(Nsshow runtjsonttexttcommandtoutputi(R(RtmoduleRtcommands((sJ/usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_vrrp.pytexecute_show_command�s	
cCsbi}xU|j�D]G\}}|j|�}|r|rMt|�||<qZ|||<qqW|S(N(titemstgettstr(tkey_mapttabletnew_dicttkeytvaluetnew_key((sJ/usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_vrrp.pyt
apply_key_map�scCs{dj|�}ySt||�}d|j�kr7dS|jd�}|djd�r]tStSWntk
rvdSXdS(Nsshow run interface {0}tinvalidtDNEs
i����t	interface(tformatRtlowertsplitt
startswithtTruetFalsetKeyError(R%RRtbodytraw_list((sJ/usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_vrrp.pyt
is_default�s
cCs�dj|�}i}d}t||�}|dd}|jd�}|dkr�t|jdd	��}|d
ks�|dkr�d}q�n|d
kr�d	}n||fS(Nsshow interface {0}tunknowntTABLE_interfacet
ROW_interfaceR%tethernettportchannelteth_modetlayer3taccessttrunktlayer2tsvi(R3R4(R&RRR(R%t	intf_typeRRtmodeR-tinterface_tabletname((sJ/usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_vrrp.pytget_interface_mode�s	cCs�dj|�}t||�}d}d}|r�|j�}xItdt|�d�D].}||j�dj|�krV|}qVqVW||dd�}	x-|	D]"}
|
j�dkr�d}Pq�q�Wn|S(Ns%show run all | section interface.{0}$Riisvrrp {0}sno shutdown(R&RtNonet
splitlinestrangetlentstrip(tgroupRR%RR-t	vrf_indexRt
splitted_bodytindextvrf_sectiontline((sJ/usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_vrrp.pytget_vrr_status�s 

cCs-dj|�}t||�}i}idd6dd6dd6dd	6d
d6dd
6}y|d}Wntttfk
riSXt|t�r�|g}nx�|D]�}	|	d}
t||
�}|ddkr�t|d<n|ddkr�t	|d<n|d|kr�t
|||�|d<|Sq�W|S(Nsshow vrrp detail interface {0}REtsh_group_idRtsh_vip_addrRtsh_prioritytpreempttsh_group_preempttauthenticationtsh_auth_textRtsh_adv_intervaltTABLE_vrrp_grouptROW_vrrp_grouptDisabletEnableR(R&RtAttributeErrort
IndexErrort	TypeErrort
isinstancetdictR"R+R*RK(R%RERR>RR-tvrrptvrrp_keyt
vrrp_tablet	each_vrrptvrrp_rowtparsed_vrrp((sJ/usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_vrrp.pytget_existing_vrrp�s6




c	Cs�g}idd6dd6dd6dd6dd	6d
d6}x�ddddgD]�}|j|�}|dkr�tj|�}||j|�kr�|j|j|�j|��q�qI|rI|j|j|�j|��qIqIW|jd�}|jd
�}|r|j|jd��n)|tkrE|jd|jd��n|r�|dkry|j|jd	�j|��q�|jd
�r�|jd�q�n|r�|jddj|��n|S(Nspriority {0}RROsaddress {0}Rsadvertisement-interval {0}Rsauthentication text {0}tauths{0}RtdefaultRQsno sno authenticationisvrrp {0}(RtPARAM_TO_DEFAULT_KEYMAPtappendR&R+tinsert(	tdeltatexistingRERtCMDStargtvalRORd((sJ/usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_vrrp.pytget_commands_config_vrrp�s<
%&"cCsGg}x:|D]2}t|t�r2|j|�q
|j|�q
W|S(N(R[tlisttextendRg(t
command_liststflat_command_listR((sJ/usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_vrrp.pytflatten_list%s
cCs�|j|}|dkrwy1t|�dks@t|�dkrIt�nWq�tk
rs|jddd|�q�Xnj|dkr�y1t|�dks�t|�dkr�t�nWq�tk
r�|jddd|�q�XndS(	NREii�tmsgs5Warning! 'group' must be an integer between 1 and 255Ri�s8Warning! 'priority' must be an integer between 1 and 254(tparamstintt
ValueErrort	fail_json(tparamRR ((sJ/usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_vrrp.pytvalidate_params/s
$

$

cCs<tdtdtdd�dtdt�dtdtdd�dtdtdd�dtdtdd	�d
tdtdd�dtdtdddd
ddgdd
�dtdtdddt�dtdddgdtdd��	}|jt�td|dt�}t�}itd6gd6|d6}|jd}|jdj�}|jd}|jd}|jd}|jd}	|jd
}
|jd}|jd}t	|�}
|
j
dd�}|dkr�|
r�|jdd�nt|�}|dkrf|dkrft
||�d kr>|jdd!d|�n|d"krf|jdd#d|�qfnt|||�\}}|d$kr�|jdd%d|�ntd|d|d|	d
|
d|d|d|�}td&�|j�D��}t||||�}t}|}g}|dkr�tt|j��j|j���}|r�t|||�}|r}|j|�q}q�n1|dkr�|r�|jd'j|�g�q�n|r+|jd(d)j|�g�t|�}||d<t|d<|js+t||�d*|kr(|jd(�q(q+n|j|�dS(+NREtrequiredttypeRR%RRROtboolRRtchoicesRsno shutdownReRQtno_logtstatetabsenttpresentt
argument_spectsupports_check_modetchangedRtwarningstnetwork_apitnxapiRts.the "vip" param is required when state=presentR3tcliconfR$s3That interface does not exist yet. Create it first.tloopbacks'Loopback interfaces don't support VRRP.R9s>That interface is a layer2 port.
Make it a layer 3 port first.css-|]#\}}|dk	r||fVqdS(N(R@(t.0tktv((sJ/usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_vrrp.pys	<genexpr>yssno vrrp {0}is
interface {0}t	configure(R\R*R+tupdateRR
RoRuR'RRRxR	R/R?RRctsett
differenceRnRgR&RhRst
check_modeRtpopt	exit_json(R�RR�tresultsR�R%RERRRORRQRtdevice_infoR�R;R<R>targstproposedRjR�t	end_stateRRiR((sJ/usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_vrrp.pytmainBs�	$
	










	$

	
t__main__N(tANSIBLE_METADATAt
DOCUMENTATIONtEXAMPLEStRETURNt&ansible.module_utils.network.nxos.nxosRRRRR	tansible.module_utils.basicR
RfRR"R/R?RKRcRnRsRzR�t__name__(((sJ/usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_vrrp.pyt<module>s4


=	
	
					&	(	
		V

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]