#!/usr/bin/python # Copyright: Ansible Project # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) from __future__ import absolute_import, division, print_function __metaclass__ = type ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ['preview'], 'supported_by': 'network'} DOCUMENTATION = """ --- module: net_banner version_added: "2.4" author: "Ricardo Carrillo Cruz (@rcarrillocruz)" short_description: Manage multiline banners on network devices description: - This will configure both login and motd banners on network devices. It allows playbooks to add or remove banner text from the active running configuration. extends_documentation_fragment: network_agnostic options: banner: description: - Specifies which banner that should be configured on the remote device. required: true choices: ['login', 'motd'] text: description: - The banner text that should be present in the remote device running configuration. This argument accepts a multiline string, with no empty lines. Requires I(state=present). state: description: - Specifies whether or not the configuration is present in the current devices active running configuration. default: present choices: ['present', 'absent'] """ EXAMPLES = """ - name: configure the login banner net_banner: banner: login text: | this is my login banner that contains a multiline string state: present - name: remove the motd banner net_banner: banner: motd state: absent - name: Configure banner from file net_banner: banner: motd text: "{{ lookup('file', './config_partial/raw_banner.cfg') }}" state: present """ RETURN = """ commands: description: The list of configuration mode commands to send to the device returned: always, except for the platforms that use Netconf transport to manage the device. type: list sample: - banner login - this is my login banner - that contains a multiline - string """