cisco.iosxr.iosxr_banner module – Module to configure multiline banners.

Note

This module is part of the cisco.iosxr collection (version 4.0.2).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install cisco.iosxr. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: cisco.iosxr.iosxr_banner.

New in cisco.iosxr 1.0.0

Synopsis

  • This module will configure both exec and motd banners on remote device running Cisco IOS XR. It allows playbooks to add or remove banner text from the running configuration.

Requirements

The below requirements are needed on the host that executes this module.

  • ncclient >= 0.5.3 when using netconf

  • lxml >= 4.1.1 when using netconf

Parameters

Parameter

Comments

banner

string / required

Specifies the type of banner to configure on remote device.

Choices:

  • "login"

  • "motd"

state

string

Existential state of the configuration on the device.

Choices:

  • "present" ← (default)

  • "absent"

text

string

Banner text to be configured. Accepts multi line string, without empty lines. When using a multi line string, the first and last characters must be the start and end delimiters for the banner Requires state=present.

Notes

Note

Examples

- name: configure the login banner
  cisco.iosxr.iosxr_banner:
    banner: login
    text: |
      @this is my login banner
      that contains a multiline
      [email protected]
    state: present
- name: remove the motd banner
  cisco.iosxr.iosxr_banner:
    banner: motd
    state: absent
- name: Configure banner from file
  cisco.iosxr.iosxr_banner:
    banner: motd
    text: "{{ lookup('file', './config_partial/raw_banner.cfg') }}"
    state: present

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

commands

list / elements=string

The list of configuration mode commands sent to device with transport cli

Returned: always (empty list when no commands to send)

Sample: ["banner login", "@this is my login banner", "that contains a multiline", "string@"]

xml

list / elements=string

NetConf rpc xml sent to device with transport netconf

Returned: always (empty list when no xml rpc to send)

Sample: ["<config xmlns:xc=\"urn:ietf:params:xml:ns:netconf:base:1.0\"> <banners xmlns=\"http://cisco.com/ns/yang/Cisco-IOS-XR-infra-infra-cfg\"> <banner xc:operation=\"merge\"> <banner-name>motd</banner-name> <banner-text>Ansible banner example</banner-text> </banner> </banners> </config>"]

Authors

  • Trishna Guha (@trishnaguha)

  • Kedar Kekan (@kedarX)