Anons79 Mini Shell

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

�
�Udac@s�idd6dgd6dd6ZdZdZdZd	d
lmZd	dlmZmZm	Z	d	dl
mZd
efd��YZ
d�Zedkr�e�ndS(s1.1tmetadata_versiontpreviewtstatust	communitytsupported_bysq
---
module: ce_snmp_traps
version_added: "2.4"
short_description: Manages SNMP traps configuration on HUAWEI CloudEngine switches.
description:
    - Manages SNMP traps configurations on HUAWEI CloudEngine switches.
author:
    - wangdezhuang (@QijunPan)
notes:
    - Recommended connection is C(network_cli).
    - This module also works with C(local) connections for legacy playbooks.
options:
    feature_name:
        description:
            - Alarm feature name.
        choices: ['aaa', 'arp', 'bfd', 'bgp', 'cfg', 'configuration', 'dad', 'devm',
                 'dhcpsnp', 'dldp', 'driver', 'efm', 'erps', 'error-down', 'fcoe',
                 'fei', 'fei_comm', 'fm', 'ifnet', 'info', 'ipsg', 'ipv6', 'isis',
                'l3vpn', 'lacp', 'lcs', 'ldm', 'ldp', 'ldt', 'lldp', 'mpls_lspm',
                'msdp', 'mstp', 'nd', 'netconf', 'nqa', 'nvo3', 'openflow', 'ospf',
                'ospfv3', 'pim', 'pim-std', 'qos', 'radius', 'rm', 'rmon', 'securitytrap',
                'smlktrap', 'snmp', 'ssh', 'stackmng', 'sysclock', 'sysom', 'system',
                'tcp', 'telnet', 'trill', 'trunk', 'tty', 'vbst', 'vfs', 'virtual-perception',
                'vrrp', 'vstm', 'all']
    trap_name:
        description:
            - Alarm trap name.
    interface_type:
        description:
            - Interface type.
        choices: ['Ethernet', 'Eth-Trunk', 'Tunnel', 'NULL', 'LoopBack', 'Vlanif', '100GE',
                 '40GE', 'MTunnel', '10GE', 'GE', 'MEth', 'Vbdif', 'Nve']
    interface_number:
        description:
            - Interface number.
    port_number:
        description:
            - Source port number.
s�

- name: CloudEngine snmp traps test
  hosts: cloudengine
  connection: local
  gather_facts: no
  vars:
    cli:
      host: "{{ inventory_hostname }}"
      port: "{{ ansible_ssh_port }}"
      username: "{{ username }}"
      password: "{{ password }}"
      transport: cli

  tasks:

  - name: "Config SNMP trap all enable"
    ce_snmp_traps:
      state: present
      feature_name: all
      provider: "{{ cli }}"

  - name: "Config SNMP trap interface"
    ce_snmp_traps:
      state: present
      interface_type: 40GE
      interface_number: 2/0/1
      provider: "{{ cli }}"

  - name: "Config SNMP trap port"
    ce_snmp_traps:
      state: present
      port_number: 2222
      provider: "{{ cli }}"
s 
changed:
    description: check to see if a change was made on the device
    returned: always
    type: bool
    sample: true
proposed:
    description: k/v pairs of parameters passed into module
    returned: always
    type: dict
    sample: {"feature_name": "all",
             "state": "present"}
existing:
    description: k/v pairs of existing aaa server
    returned: always
    type: dict
    sample: {"snmp-agent trap": [],
             "undo snmp-agent trap": []}
end_state:
    description: k/v pairs of aaa params after module execution
    returned: always
    type: dict
    sample: {"snmp-agent trap": ["enable"],
             "undo snmp-agent trap": []}
updates:
    description: command sent to the device
    returned: always
    type: list
    sample: ["snmp-agent trap enable"]
i����(t
AnsibleModule(tload_configtce_argument_spectrun_commands(texec_commandt	SnmpTrapscBs�eZdZd�Zdd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�ZRS(s! Manages SNMP trap configuration cKs}|d}||_td|jddgdt�|_t�|_g|jd<g|jd<|jjd|_|jjd	|_|jjd
|_	|jjd|_
|jjd|_|jjd|_t
|_t�|_t�|_t�|_t�|_g|jd<g|jd<t�|_g|jd<g|jd<t�}d}|j|�t|j|�|_d
S(s Class init t
argument_spectrequired_togethertinterface_typetinterface_numbertsupports_check_modessnmp-agent trapsundo snmp-agent traptstatetfeature_namet	trap_nametport_numbersdisplay interface briefN(sinterface_typesinterface_number(tspecRtTruetmoduletdicttcur_cfgtparamsRRRR
RRtFalsetchangedtlisttupdates_cmdtresultstproposedtexistingt	end_statetappendRt	interface(tselftkwargsRtcommandstcmd1((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pyt__init__�s:
			

	



	
cCs�|dkrgn|}d}|dj|�7}|j�}t|j|�\}}}|dkrz|jjd|�nt|�j�}|S(s>Retrieves the current config from the device or cache
        sdisplay current-configuration t itmsgN(tNonetjointstripR	Rt	fail_jsontstr(R$tflagstcmdtrctoutterrtcfg((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pyt
get_config�scCs�|jrq|jj�r[t|j�dksBt|j�dkrn|jjdd�qnqq|jjdd�n|jr�|jr�|j|j}||jdkr�|jjdd|�q�ndS(	s Check invalid args ii��R*s9Error: The value of port_number is out of [1025 - 65535].s$Error: The port_number is not digit.is-Error: The interface %s is not in the device.N(RtisdigittintRR.R
RR#(R$t
tmp_interface((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pyt
check_args�s	*

cCs�|j|jd<|jr,|j|jd<n|jrH|j|jd<n|jrd|j|jd<n|jr�|j|jd<n|jr�|j|jd<ndS(s Get proposed state RRRR
RRN(RRRRR
RR(R$((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pytget_proposed�s					cCs'|j�}|r#|j�}|jd�}|jd�}x�|D]�}d|kr�|jr�|jd�}|d|jd<|d|jd<q�qCd|krC|jr�|jd�}|d|jd<|d|jd<q�qCqCW|jrx/|D]}|dkr2|jdjd	�|jdjd	�q�|d
kri|jdjd�|jdjd�q�d|kr�|jd�}|jd
j|d�|jd
j|d�q�d|kr�|jd�}|jdj|d�|jdj|d�q�q�Wq#|jd=|jd
=ndS(s Get existing state s
ssnmp-agent trap source-port istrap source-portssnmp-agent trap source strap source interfacessnmp-agent trap enablessnmp-agent traptenablessnmp-agent trap disabletdisablesundo snmp-agent trap enable sundo snmp-agent trapssnmp-agent trap enable N(	tcli_get_configtlowertsplitRRR R
RR"(R$ttmp_cfgttemp_cfg_lowert	temp_datattemp_data_lowertitemtitem_tmp((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pytget_existing�sH
			
"
cCs�|j�}|r�|j�}|jd�}|jd�}x�|D]|}d|kr�|jr�|jd�}|d|jd<q�qCd|krC|jr�|jd�}|d|jd<q�qCqCW|jr�x�|D]�}|dkr�|jdjd	�q�|d
kr|jdjd�q�d|krU|jd�}|jd
j|d�q�d|kr�|jd�}|jdj|d�q�q�Wq�|jd=|jd
=n|j|jkr�t	|_
t�|_ndS(s Get end_state state s
ssnmp-agent trap source-port istrap source-portssnmp-agent trap source strap source interfacessnmp-agent trap enablessnmp-agent trapR<ssnmp-agent trap disableR=sundo snmp-agent trap enable sundo snmp-agent trapssnmp-agent trap enable N(
R>R?R@RR!R
RR"R RRRR(R$RARBRCRDRERF((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pyt
get_end_states@
			
"

	cCs#|jjst|j|�ndS(s Load configure through cli N(Rt
check_modeR(R$R&((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pytcli_load_config>scCs/d}t�}|j|�|j|�}|S(s Get configure through cli s| include snmp | include trap(RR"R6(R$tregularR0RA((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pyR>Ds
	
cCs�|jdkrd}n*d|j}|jrB|d|j7}n|jj|�t�}|j|�|j|�t|_dS(s Set feature name for trap tallssnmp-agent trap enables&snmp-agent trap enable feature-name %ss
 trap-name %sN(RRRR"RRJRR(R$R1tcmds((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pytset_trap_feature_nameNs	
		

cCs�|jdkrd}n*d|j}|jrB|d|j7}n|jj|�t�}|j|�|j|�t|_dS(s Undo feature name for trap RLsundo snmp-agent trap enables+undo snmp-agent trap enable feature-name %ss
 trap-name %sN(RRRR"RRJRR(R$R1RM((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pytundo_trap_feature_name`s	
		

cCsVd|j|jf}|jj|�t�}|j|�|j|�t|_dS(s Set source interface for trap ssnmp-agent trap source %s %sN(R
RRR"RRJRR(R$R1RM((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pytset_trap_source_interfacers	

cCsFd}|jj|�t�}|j|�|j|�t|_dS(s  Undo source interface for trap sundo snmp-agent trap sourceN(RR"RRJRR(R$R1RM((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pytundo_trap_source_interfaces	

cCsMd|j}|jj|�t�}|j|�|j|�t|_dS(s Set source port for trap ssnmp-agent trap source-port %sN(RRR"RRJRR(R$R1RM((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pytset_trap_source_port�s
	

cCsFd}|jj|�t�}|j|�|j|�t|_dS(s Undo source port for trap s undo snmp-agent trap source-portN(RR"RRJRR(R$R1RM((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pytundo_trap_source_port�s	

cCs4|j�|j�|j�t}t}d}|jdkr?|jrw|jrpd|j|jj�f}n
d|j}t}|j	dr�xZ|j	dD]H}||kr�t
}q�||kr�t
}q�|jdkr�t
}q�q�Wn|r|j�n|swt}|j	dr^xB|j	dD]0}|dkrBt
}q'||kr't
}q'q'Wn|st|j�qtqwn|jr�t}|j|j
}d|j	j�kr�|j	d|kr�t
}q�n|s�|j�q�n|jr�t}d	|j	j�kr&|j	d	|jkr&t
}q&n|s<|j�q<q�n�|jrg|jrpd|j|jj�f}n
d|j}t}|j	dr�x]|j	dD]E}||kr�t
}q�|dkr�t
}q�||kr�t
}q�q�Wnt
}t}|j	drHxB|j	dD]0}||kr,t
}q||krt
}qqWn|rQqg|rg|j�qgn|jr�d|j	j�kr�|j�q�n|jr�d	|j	j�kr�|j�q�n|j�|j|jd
<|j|jd<|j|jd<|j|jd
<|j|jd<|jj|j�dS(s The work function tpresentsfeature-name %s trap-name %ssfeature-name %ssundo snmp-agent trapRLssnmp-agent trapR<strap source interfacestrap source-portRRR R!tupdatesN(R:R;RGRR+RRRR?RRRNR
RtkeysRPRRRRORQRSRHRRRR R!RRt	exit_json(R$t	find_flagtfind_undo_flagR9RARE((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pytwork�s�


		

		

					

		
			
N(t__name__t
__module__t__doc__R(R+R6R:R;RGRHRJR>RNRORPRQRRRSRZ(((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pyR
�s 	*			+	'		
			
			cGCs�tdtdddgdd�dtdddd	d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGgA�dHtdIdJ�dKtddLdMdNdOdPdQdRdSdTdUdVdWdXdYg�dZtdIdJ�d[tdIdJ��}|jt�td\|�}|j�d]S(^s
 Module main RtchoicesRTtabsenttdefaultRtaaatarptbfdtbgpR5t
configurationtdadtdevmtdhcpsnptdldptdrivertefmterpss
error-downtfcoetfeitfei_commtfmtifnettinfotipsgtipv6tisistl3vpntlacptlcstldmtldptldttlldpt	mpls_lspmtmsdptmstptndtnetconftnqatnvo3topenflowtospftospfv3tpimspim-stdtqostradiustrmtrmontsecuritytraptsmlktraptsnmptsshtstackmngtsysclocktsysomtsystemttcpttelnetttrillttrunktttytvbsttvfssvirtual-perceptiontvrrptvstmRLRttypeR/R
tEthernets	Eth-TrunktTunneltNULLtLoopBacktVlanift100GEt40GEtMTunnelt10GEtGEtMEthtVbdiftNveRRRN(RtupdateRR
RZ(RR((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pytmains&!
t__main__N(tANSIBLE_METADATAt
DOCUMENTATIONtEXAMPLEStRETURNtansible.module_utils.basicRt+ansible.module_utils.network.cloudengine.ceRRRtansible.module_utils.connectionR	tobjectR
R�R[(((sU/usr/lib/python2.7/site-packages/ansible/modules/network/cloudengine/ce_snmp_traps.pyt<module>s


)$��	

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