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

Note

This module 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. You need further requirements to be able to use this module, see Requirements for details.

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

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

JSON-RPC request timeout in seconds

Default: 300

url

string / required

username

string / required

NSO username

validate_certs

boolean

When set to true, validates the SSL certificate of NSO when using SSL

Choices:

  • false ← (default)

  • true

validate_strict

boolean

If set to true, the task will fail if any output parameters not in output_required is present in the output.

Choices:

  • false ← (default)

  • true

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

Description

output

dictionary

Action output

Returned: success

Sample: {"result": true}

Authors

  • Claes Nästén (@cnasten)