On this page
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
         | 
      
       
  | 
      
        
        When set to true, validates the SSL certificate of NSO when using SSL
         | 
     
| validate_strict
        
        boolean
         | 
      
       
  | 
      
        
        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)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/cisco/nso/nso_action_module.html