cisco.nso.nso_action – Executes Cisco NSO actions and verifies output.

Note

This plugin is part of the cisco.nso collection (version 1.0.3).

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.nso.

To use it in a playbook, specify: cisco.nso.nso_action.

Synopsis

  • This module provides support for executing Cisco NSO actions and then verifying that the output is as expected.

Requirements

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

  • Cisco NSO version 3.4 or higher.

Parameters

Parameter Choices/Defaults Comments
input
dictionary
NSO action parameters.
output_invalid
dictionary
List of result parameter names that will cause the task to fail if they are present.
output_required
dictionary
Required output parameters.
password
string / required
NSO password
path
string / required
Path to NSO action.
timeout
integer
Default:
300
JSON-RPC request timeout in seconds
url
string / required
NSO JSON-RPC URL, http://localhost:8080/jsonrpc
username
string / required
NSO username
validate_certs
boolean
    Choices:
  • no ←
  • yes
When set to true, validates the SSL certificate of NSO when using SSL
validate_strict
boolean
    Choices:
  • no ←
  • yes
If set to true, the task will fail if any output parameters not in output_required is present in the output.

See Also

See also

Cisco DevNet NSO Sandbox

Provides a reservable pod with NSO, virtual network topology simulated with Cisco CML and a Linux host running Ansible

NSO Developer Resources on DevNet

Documentation for getting started using NSO

NSO Developer Hub

Collaboration community portal for NSO developers

NSO Developer Github

Code for NSO on Github

Examples

- name: Sync NSO device
  cisco.nso.nso_action:
    url: https://10.10.20.49/jsonrpc
    username: developer
    password: C1sco12345
    path: /ncs:devices/device{dist-rtr01}/sync-from
    input: {}

- name: Check device sync
  cisco.nso.nso_action:
    url: https://10.10.20.49/jsonrpc
    username: developer
    password: C1sco12345
    path: /ncs:devices/check-sync
    input: {}

- name: Load Native Config
  cisco.nso.nso_action:
    url: "https://10.10.20.49/jsonrpc"
    username: developer
    password: C1sco12345
    path: /ncs:devices/ncs:device{dist-rtr01}/load-native-config
    input: { file: "/home/developer/test.cfg" , verbose: true, mode: "merge"}
  register: result

Return Values

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

Key Returned Description
output
dictionary
success
Action output

Sample:
{'result': True}


Authors

  • Claes Nästén (@cnasten)