On this page
cisco.nso.nso_config – Manage Cisco NSO configuration and service synchronization.
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_config.
Synopsis
- This module provides support for managing configuration in Cisco NSO and can also ensure services are in sync.
 
Requirements
The below requirements are needed on the host that executes this module.
- Cisco NSO version 3.4.12 or higher, 4.2.7 or higher, 4.3.8 or higher, 4.4.3 or higher, 4.5 or higher.
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| commit_flags
        
        list / elements=string
         | 
      
        
        A list containing commit flags. See the API documentation for supported commit flags. https://developer.cisco.com/docs/nso/guides/#!life-cycle-operations-how-to-manipulate-existing-services-and-devices/commit-flags-and-device-service-actions
         | 
     |
| data
        
        dictionary / required
         | 
      
        
        NSO data in format as | display json converted to YAML. List entries can be annotated with a __state entry. Set to in-sync/deep-in-sync for services to verify service is in sync with the network. Set to absent in list entries to ensure they are deleted if they exist in NSO.
         | 
     |
| password
        
        string / required
         | 
      
        
        NSO password
         | 
     |
| 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
         | 
     
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: CREATE DEVICE IN NSO
  cisco.nso.nso_config:
    url: https://10.10.20.49/jsonrpc
    username: developer
    password: C1sco12345
    data:
      tailf-ncs:devices:
        device:
        - address: 10.10.20.175
          description: CONFIGURED BY ANSIBLE!
          name: dist-rtr01
          authgroup: "labadmin"
          device-type:
            cli:
              ned-id: "cisco-ios-cli-6.44"
            port: "22"
            state:
              admin-state: "unlocked"
- name: ADD NEW LOOPBACK
  cisco.nso.nso_config:
    url: https://10.10.20.49/jsonrpc
    username: developer
    password: C1sco12345
    data:
        tailf-ncs:devices:
        device:
        - name: dist-rtr01
          config:
            tailf-ned-cisco-ios:interface:
                Loopback:
                - name: "1"
                  description: Created by Ansible!
- name: CONFIGURE IP ADDRESS ON LOOPBACK
  cisco.nso.nso_config:
    url: https://10.10.20.49/jsonrpc
    username: developer
    password: C1sco12345
    data:
      tailf-ncs:devices:
        device:
        - name: dist-rtr01
          config:
            tailf-ned-cisco-ios:interface:
              Loopback:
              - name: "1"
                description: Created by Ansible!
                ip:
                  address:
                    primary:
                      address: 10.10.10.10
                      mask: 255.255.255.255
- name: CONFIGURE NTP SERVER ON DEVICE
  cisco.nso.nso_config:
    url: https://10.10.20.49/jsonrpc
    username: developer
    password: C1sco12345
    data:
      tailf-ncs:devices:
        device:
        - name: dist-rtr01
          config:
            tailf-ned-cisco-ios:ntp:
              server:
                peer-list:
                  - name: 2.2.2.2
  Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | |
|---|---|---|---|
| changes
        
        complex
         | 
      always | 
        
        List of changes
         Sample:
        
       
        [{'from': None, 'path': '/ncs:devices/device{dist-rtr01}/config/ios:interface/Loopback{1}/ip/address/primary/address', 'to': '10.10.10.10', 'type': 'set'}]
         | 
     |
| from
        
        string
         | 
      When previous value is present on value change | 
        
        Previous value if any, else null
          | 
     |
| path
        
        string
         | 
      always | 
        
        Path to value changed
          | 
     |
| commit_result
        
        complex
         | 
      always | 
        
        Return values from commit operation
         Sample:
        
       
        [{'commit_queue': {'id': 1611776004976, 'status': 'async'}}]
         | 
     |
| commit_queue
        
        dictionary
         | 
      When commit-queue is set in commit_flags | 
        
        Commit queue ID and status, if any
          | 
     |
| diffs
        
        complex
         | 
      always | 
        
        List of sync changes
          | 
     |
| diff
        
        string
         | 
      always | 
        
        configuration difference triggered the re-deploy
          | 
     |
| path
        
        string
         | 
      always | 
        
        keypath to service changed
          | 
     |
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_config_module.html