Resource module to configure service.
Version added: 4.6.0
- This module configures and manages service attributes on IOS platforms
Note
- Tested against Cisco IOSXE Version 17.9.1a on CML.
- This module works with connection
network_cli
. See https://docs.ansible.com/ansible/latest/network/user_guide/platform_ios.html
# Using merged
# Before state:
# -------------
# router-ios#show running-config all | section ^service
# service slave-log
# service timestamps debug datetime msec
# service timestamps log datetime msec
# service private-config-encryption
# service prompt config
# service counters max age 0
# service dhcp
# service call-home
# service password-recovery
- name: Merge provided configuration with device configuration
cisco.ios.ios_service:
config:
tcp_keepalives_in: true
tcp_keepalives_out: true
timestamps:
- msg: debug
enable: true
timestamp: datetime
- msg: log
enable: true
timestamp: datetime
pad: false
password_encryption: true
state: merged
# Task Output
# -----------
#
# before:
# call_home: true
# counters: 0
# dhcp: true
# password_recovery: true
# private_config_encryption: true
# prompt: true
# slave_log: true
# timestamps:
# - datetime_options:
# msec: true
# msg: debug
# timestamp: datetime
# - datetime_options:
# msec: true
# msg: log
# timestamp: datetime
# commands:
# - service password-encryption
# - service tcp-keepalives-in
# - service tcp-keepalives-out
# after:
# call_home: true
# counters: 0
# dhcp: true
# password_encryption: true
# password_recovery: true
# private_config_encryption: true
# prompt: true
# slave_log: true
# tcp_keepalives_in: true
# tcp_keepalives_out: true
# timestamps:
# - datetime_options:
# msec: true
# msg: debug
# timestamp: datetime
# - datetime_options:
# msec: true
# msg: log
# timestamp: datetime
# After state:
# ------------
# router-ios#show running-config all | section ^service
# service slave-log
# service tcp-keepalives-in
# service tcp-keepalives-out
# service timestamps debug datetime msec
# service timestamps log datetime msec
# service password-encryption
# service private-config-encryption
# service prompt config
# service counters max age 0
# service dhcp
# service call-home
# service password-recovery
# Using replaced
# Before state:
# -------------
# router-ios#show running-config all | section ^service
# service slave-log
# service tcp-keepalives-in
# service tcp-keepalives-out
# service timestamps debug datetime msec
# service timestamps log datetime msec
# service password-encryption
# service private-config-encryption
# service prompt config
# service counters max age 0
# service dhcp
# service call-home
# service password-recovery
- name: Replaces device configuration of services with provided configuration
cisco.ios.ios_service:
config:
timestamps:
- msg: log
enable: true
timestamp: datetime
datetime_options:
localtime: true
msec: true
show_timezone: true
year: true
- msg: debug
enable: true
timestamp: datetime
pad: false
password_encryption: true
state: "replaced"
# Task Output
# -----------
#
# before:
# call_home: true
# counters: 0
# dhcp: true
# password_encryption: true
# password_recovery: true
# private_config_encryption: true
# prompt: true
# slave_log: true
# tcp_keepalives_in: true
# tcp_keepalives_out: true
# timestamps:
# - datetime_options:
# msec: true
# msg: debug
# timestamp: datetime
# - datetime_options:
# msec: true
# msg: log
# timestamp: datetime
# commands:
# - no service call-home
# - no service tcp-keepalives-in
# - no service tcp-keepalives-out
# - no service timestamps log
# - service timestamps log datetime msec localtime show-timezone year
# - no service timestamps debug
# - service timestamps debug datetime
# after:
# counters: 0
# dhcp: true
# password_encryption: true
# password_recovery: true
# private_config_encryption: true
# prompt: true
# slave_log: true
# timestamps:
# - msg: debug
# timestamp: datetime
# - datetime_options:
# localtime: true
# msec: true
# show_timezone: true
# year: true
# msg: log
# timestamp: datetime
# After state:
# ------------
# router-ios#show running-config all | section ^service
# service slave-log
# service timestamps debug datetime
# service timestamps log datetime msec localtime show-timezone year
# service password-encryption
# service private-config-encryption
# service prompt config
# service counters max age 0
# service dhcp
# service password-recovery
# Using Deleted
# Before state:
# -------------
# router-ios#show running-config all | section ^service
# service slave-log
# service timestamps debug datetime
# service timestamps log datetime msec localtime show-timezone year
# service password-encryption
# service private-config-encryption
# service prompt config
# service counters max age 0
# service dhcp
# service password-recovery
- name: "Delete service configuration and restore default configuration for some important service (those with a default value in module)"
cisco.ios.ios_service:
state: deleted
# Task Output
# -----------
#
# before:
# counters: 0
# dhcp: true
# password_encryption: true
# password_recovery: true
# private_config_encryption: true
# prompt: true
# slave_log: true
# timestamps:
# - msg: debug
# timestamp: datetime
# - datetime_options:
# localtime: true
# msec: true
# show_timezone: true
# year: true
# msg: log
# timestamp: datetime
# commands:
# - no service password-encryption
# - no service timestamps debug
# - no service timestamps log
# after:
# counters: 0
# dhcp: true
# password_recovery: true
# private_config_encryption: true
# prompt: true
# slave_log: true
# After state:
# ------------
#
# router-ios#show running-config all | section ^service
# service slave-log
# service private-config-encryption
# service prompt config
# service counters max age 0
# service dhcp
# service password-recovery
# Using gathered
# Before state:
# -------------
#
# router-ios#show running-config all | section ^service
# service slave-log
# service timestamps debug datetime
# service timestamps log datetime msec localtime show-timezone year
# service password-encryption
# service private-config-encryption
# service prompt config
# service counters max age 0
# service dhcp
# service password-recovery
- name: Gather facts of interfaces
cisco.ios.ios_service:
config:
state: gathered
# Task Output
# -----------
#
# gathered:
# counters: 0
# dhcp: true
# password_encryption: true
# password_recovery: true
# private_config_encryption: true
# prompt: true
# slave_log: true
# timestamps:
# - msg: debug
# timestamp: datetime
# - datetime_options:
# localtime: true
# msec: true
# show_timezone: true
# year: true
# msg: log
# timestamp: datetime
# Using rendered
- name: Render the commands for provided configuration
cisco.ios.ios_service:
config:
timestamps:
- msg: log
enable: true
timestamp: datetime
datetime_options:
localtime: true
msec: true
show_timezone: true
year: true
- msg: debug
enable: true
timestamp: datetime
pad: false
password_encryption: true
state: rendered
# ·Task·Output
# -----------
#
# rendered:
# - service dhcp
# - service password-encryption
# - service password-recovery
# - service prompt config
# - service slave-log
# - service timestamps log datetime msec localtime show-timezone year
# - service timestamps debug datetime
# Using parsed
# File: parsed.cfg
# ----------------
#
# no service pad
# service password-encryption
# service tcp-keepalives-in
# service tcp-keepalives-out
# service timestamps debug datetime msec localtime show-timezone year
# service timestamps log datetime msec localtime show-timezone year
# service counters max age 5
- name: Parse the provided configuration
cisco.ios.ios_service:
running_config: "{{ lookup('file', 'parsed.cfg') }}"
state: parsed
# Task Output
# -----------
#
# parsed:
# counters: 5
# dhcp: true
# password_encryption: true
# password_recovery: true
# prompt: true
# slave_log: true
# tcp_keepalives_in: true
# tcp_keepalives_out: true
# timestamps:
# - datetime_options:
# localtime: true
# msec: true
# show_timezone: true
# year: true
# msg: debug
# timestamp: datetime
# - datetime_options:
# localtime: true
# msec: true
# show_timezone: true
# year: true
# msg: log
# timestamp: datetime
Common return values are documented here, the following are the fields unique to this module:
- Ambroise Rosset (@earendilfr)
- Sagar Paul (@KB-perByte)