Note
This plugin is part of the cisco.nso collection (version 1.0.3).
To install it use: ansible-galaxy collection install cisco.nso.
To use it in a playbook, specify: cisco.nso.nso_config.
The below requirements are needed on the host that executes this module.
| 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
Provides a reservable pod with NSO, virtual network topology simulated with Cisco CML and a Linux host running Ansible
Documentation for getting started using NSO
Collaboration community portal for NSO developers
Code for NSO on Github
- 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
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 | |
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/cisco/nso/nso_config_module.html