�
�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 d d l m Z d d
l m
Z
m Z d d l m
Z
m Z d d l m Z d d l m Z m Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z d
d � Z d � Z e d k re � n d
S( s 1.1t metadata_versiont previewt statust networkt 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( t deepcopy( t
AnsibleModule( t remove_default_spect validate_ip_address( t
get_configt load_config( t get_capabilities( t ios_argument_spect
check_argsc C sR | rN t d � t | � k o/ t d � k n sG | j d d � qN | Sn d S( Ni I���� t msgs( size must be between 4096 and 4294967295( t intt fail_json( t valuet module( ( sK /usr/lib/python2.7/site-packages/ansible/modules/network/ios/ios_logging.pyt
validate_size� s .c C s$ d } t � } | \ } } x| D]�} | d } | d } | d }
| d } | d
} | d }
| d =| r~ d | d <n |
d k r@| | k r@| r| d
k r� d | k r� | j d j | � � q| j d j | � � q| | k r| j d j | � � q| j d d � n | r@| j d j | � � q@n |
d k r"