Anons79 Mini Shell

Directory : /lib/python2.7/site-packages/ansible/modules/network/ios/
Upload File :
Current File : //lib/python2.7/site-packages/ansible/modules/network/ios/ios_logging.pyo

�
�Udac@sidd6dgd6dd6ZdZdZdZd	d
lZd	dlmZd	dlmZd	d
l	m
Z
mZd	dlm
Z
mZd	dlmZd	dlmZmZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd
d�Zd�Zedkre�nd
S(s1.1tmetadata_versiontpreviewtstatustnetworktsupported_bys|
---
module: ios_logging
version_added: "2.4"
author: "Trishna Guha (@trishnaguha)"
short_description: Manage logging on network devices
description:
  - This module provides declarative management of logging
    on Cisco Ios devices.
notes:
  - Tested against IOS 15.6
options:
  dest:
    description:
      - Destination of the logs.
    choices: ['on', 'host', 'console', 'monitor', 'buffered', 'trap']
  name:
    description:
      - The hostname or IP address of the destination.
      - Required when I(dest=host).
  size:
    description:
      - Size of buffer. The acceptable value is in range from 4096 to
        4294967295 bytes.
    default: 4096
  facility:
    description:
      - Set logging facility.
  level:
    description:
      - Set logging severity levels.
    default: debugging
    choices: ['emergencies', 'alerts', 'critical', 'errors', 'warnings', 'notifications', 'informational', 'debugging']
  aggregate:
    description: List of logging definitions.
  state:
    description:
      - State of the logging configuration.
    default: present
    choices: ['present', 'absent']
extends_documentation_fragment: ios
sE
- name: configure host logging
  ios_logging:
    dest: host
    name: 172.16.0.1
    state: present

- name: remove host logging configuration
  ios_logging:
    dest: host
    name: 172.16.0.1
    state: absent

- name: configure console logging level and facility
  ios_logging:
    dest: console
    facility: local7
    level: debugging
    state: present

- name: enable logging to all
  ios_logging:
    dest : on

- name: configure buffer size
  ios_logging:
    dest: buffered
    size: 5000

- name: Configure logging using aggregate
  ios_logging:
    aggregate:
      - { dest: console, level: notifications }
      - { dest: buffered, size: 9000 }

- name: remove logging using aggregate
  ios_logging:
    aggregate:
      - { dest: console, level: notifications }
      - { dest: buffered, size: 9000 }
    state: absent
s�
commands:
  description: The list of configuration mode commands to send to the device
  returned: always
  type: list
  sample:
    - logging facility local7
    - logging host 172.16.0.1
i����N(tdeepcopy(t
AnsibleModule(tremove_default_spectvalidate_ip_address(t
get_configtload_config(tget_capabilities(tios_argument_spect
check_argscCsR|rNtd�t|�ko/td�knsG|jdd�qN|SndS(NiI����tmsgs(size must be between 4096 and 4294967295(tintt	fail_json(tvaluetmodule((sK/usr/lib/python2.7/site-packages/ansible/modules/network/ios/ios_logging.pyt
validate_size�s.c	Cs$d}t�}|\}}x|D]�}|d}|d}	|d}
|d	}|d
}|d}
|d=|r~d	|d<n|
dkr@||kr@|r|d
kr�d|kr�|jdj|	��q|jdj|	��q||kr|jdj|��q|jdd�n|r@|jdj|��q@n|
dkr"||kr"|r�t}x7|D]/}|dd	krk|d	|krkt}qkqkW|s�|jdj|��q�n|d
kr
d|kr�|jdj|	��q|jdj|	��q|dkr&|jd�q|dkr�|
r�t}xG|D]?}|ddkrE|d|
krE|d
|krEt}qEqEW|s|r�|dkr�|jdj|
|��q�|jdj|
��qq|rdj|�}|r	|dj|�7}n|j|�qq"q"W|S(Ntconsoletmonitortbufferedtonttraptdesttnametsizetfacilitytleveltstatetabsentthosts12.sno logging {0}sno logging host {0}Rs=dest must be among console, monitor, buffered, host, on, trapsno logging facility {0}tpresentslogging facility {0}slogging {0}slogging host {0}s
logging ont	debuggingslogging buffered {0} {1}slogging buffered {0}s {0}(RRRRR(tlisttappendtformatRtFalsetTrue(tupdatesRt
os_versiont
dest_grouptcommandstwantthavetwRRRRRRR!tentrytdest_cmd((sK/usr/lib/python2.7/site-packages/ansible/modules/network/ios/ios_logging.pytmap_obj_to_commands�sj	








 

0
cCsId}|dkrEtjd|tj�}|rE|jd�}qEn|S(NRslogging facility (\S+)i(tNonetretsearchtMtgroup(tlineRRtmatch((sK/usr/lib/python2.7/site-packages/ansible/modules/network/ios/ios_logging.pytparse_facility�scCsgd}|dkrctjd|tj�}|rc|jd�dk	rW|jd�}q`d}qcn|S(NRs'logging buffered(?: (\d+))?(?: [a-z]+)?it4096(R2R3R4R5R6(R7RRR8((sK/usr/lib/python2.7/site-packages/ansible/modules/network/ios/ios_logging.pyt
parse_size�scCsI|dkr?tjd|tj�}|rE|jd�}qEnd}|S(NR slogging host (\S+)i(R3R4R5R6R2(R7RR8R((sK/usr/lib/python2.7/site-packages/ansible/modules/network/ios/ios_logging.pyt
parse_name�scCs�d}|d	krd}n{|d
krBtjd|tj�}n!tjdj|�|tj�}|r�|jd
�|kr�|jd
�}nd}|S(Ntemergenciestalertstcriticalterrorstwarningst
notificationst
informationalR"R Rs'logging buffered(?: \d+)?(?: ([a-z]+))?slogging {0} (\S+)i(R=R>R?serrorsswarningsRBRCs	debugging(R3R4R5R%R6(R7Rtlevel_groupRR8((sK/usr/lib/python2.7/site-packages/ansible/modules/network/ios/ios_logging.pytparse_level�s	!cCs�g}d}t|dd	g�}x�|jd
�D]�}tjd|tj�}|r1|jd�|kr�|jd�}|ji|d
6t||�d6t||�d6t	||�d6t
||�d6�q�t|jd��rBd}|ji|d
6|jd�d6t||�d6t	||�d6t
||�d6�q�tjd|jd�tj�}|r�d}|ji|d
6|jd�d6t||�d6t	||�d6t
||�d6�q�q1q1W|S(NRR RRRRRtflagss| include loggings
s^logging (\S+)iRRRRs\d+\.\d+\.\d+\.\d+(sconsoleshostsmonitorsbufferedsonsfacilitystrap(R	tsplitR3R4R5R6R$R<R;R9RER(RtobjR*tdataR7R8Rtip_match((sK/usr/lib/python2.7/site-packages/ansible/modules/network/ios/ios_logging.pytmap_config_to_objs@		!	cCs�g}|jjd�}|r-x\|D]}x7|D]/}|j|�dkr2|j|||<q2q2W|j||�|j�}|ddkr�d|d<n|ddkr�d|kr�tt|d|��|d<q�d|kr�td�|d<q�n|ddkrd|d<n|j|�q%WnP|jddkrPd|jd<n|jddkr�|jds�td�|jd<q�n
d|jd<|jddkr
|ji|jdd6|jdd6|jdd6|jdd6|jd	d	6|jd
d
6�np|ji|jdd6|jdd6tt|jd|��d6|jdd6|jd	d	6|jd
d
6�|S(Nt	aggregateRR RRRiRRR(tparamstgetR2t_check_required_iftcopytstrRR$(Rtrequired_ifRHRLtitemtkeytd((sK/usr/lib/python2.7/site-packages/ansible/modules/network/ios/ios_logging.pytmap_params_to_obj9sT


 


		cCs�tdtdddddddd	d
g�dtdd�dtdd
�dtdd�dtdddddddddddddg�dtdddddg��}t|�}t|�tdtddddd |��}|j|�|jt�dddgfg}td!|d"|d#t�}t|�}|d$d%}t�}t	||�it
d&6}|r||d<nt|d"|�}	t|�}
t
|	|
f||�}||d'<|r�|js�t||�nt|d&<n|j|�d(S()s+ main entry point for module execution
    RttypeRQtchoicesRR RRRRRRRRRtdefaultR"R=R>R?R@RARBRCRR!RRLR#telementstdicttoptionst
argument_specRRtsupports_check_modetdevice_infotnetwork_os_versiontchangedR+N(R[RRtupdateRRR'RR#R
R&RVRKR1t
check_modeR
t	exit_json(telement_spectaggregate_specR]RRRR_R)RAtresultR,R-R+((sK/usr/lib/python2.7/site-packages/ansible/modules/network/ios/ios_logging.pytmainvsD'!


		



	
t__main__(tANSIBLE_METADATAt
DOCUMENTATIONtEXAMPLEStRETURNR3RPRtansible.module_utils.basicRt)ansible.module_utils.network.common.utilsRRt$ansible.module_utils.network.ios.iosR	R
RRR
RR1R9R;R<RERKR2RVRht__name__(((sK/usr/lib/python2.7/site-packages/ansible/modules/network/ios/ios_logging.pyt<module>s.


++
		K	
				*=	7

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