For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Open sourceSupportFAQsDocs Home
  • Cisco NSO Service Manager
    • Overview
    • Supported NSO versions
    • Configure adapter
    • Authentication
    • Itential Tools actions
    • RESTCONF API
    • NETCONF events
    • Device customization
LogoLogo
Open sourceSupportFAQsDocs Home
On this page
  • How to call an action
  • Actions reference
  • Examples
  • admin_down_device
  • admin_down_interfaces
  • admin_up_interfaces
  • getNamespaces
  • get_config
  • load_config
  • native2Pronghorn
  • set_config
  • set_config_transactions
  • stage_device
  • translate_config
  • verify_config
  • Related reading
Cisco NSO Service Manager

Itential Tools actions

Was this page helpful?
Previous

RESTCONF API

Next
Built with

The itential_tools package exposes a set of actions that Platform workflows use to interact with NSO via JSON-RPC. These actions cover device configuration, interface management, NED translation, and configuration staging.

Actions are invoked from a workflow using the runAction task from the NSO adapter. The task takes the action path and a params object as inputs.

How to call an action

1

Open Automation Studio and create a workflow

Navigate to Workflows in Automation Studio and create a new workflow.

2

Add the runAction task

Add the runAction task from the NSO/NSOManager task library to the workflow canvas.

3

Set the task inputs

Provide the params variable with the action path and any required parameters. See the reference below for each action’s path and parameter structure.

Actions reference

ActionDescription
admin_down_deviceAdmin-down all admin-up interfaces on a device
admin_down_interfacesAdmin-down specific interfaces
admin_up_interfacesAdmin-up specific interfaces
getNamespacesReturn the namespace URI for a given prefix
get_configGet the current device configuration
load_configLoad configuration XML onto a device
native2PronghornUse the NED to convert native config into XPath
set_configSet device configuration from a native config string
set_config_transactionsSet device configuration using a transaction object
stage_deviceStage a device from a native config string
translate_configTranslate config from native format to set format
verify_configVerify that the NED can read a given config string

Examples

Each example shows the complete params variable as entered in the runAction task dialog. The path field identifies the action endpoint on the NSO server.

admin_down_device

Admin-down all admin-up interfaces on a device.

1{
2 "params": {
3 "device": "ios.1"
4 },
5 "path": "/itential_commands/admin_down_device"
6}

admin_down_interfaces

Admin-down specific interfaces on a device. Interfaces are passed as a JSON-encoded array string.

1{
2 "params": {
3 "device": "ios.0",
4 "interfaces": "[\"GigabitEthernet{0}\",\"Ethernet{0/0/0}\"]"
5 },
6 "path": "/itential_commands/admin_down_interfaces"
7}

admin_up_interfaces

Admin-up specific interfaces on a device.

1{
2 "params": {
3 "device": "ios.0",
4 "interfaces": "[\"GigabitEthernet{0}\"]"
5 },
6 "path": "/itential_commands/admin_up_interfaces"
7}

getNamespaces

Return the namespace URI for a given prefix.

1{
2 "params": {
3 "deviceName": "ios.0",
4 "prefixes": "ncs"
5 },
6 "path": "/itential_commands/getNamespaces"
7}

get_config

Retrieve the current configuration from a device. The format field controls whether config is returned in NATIVE format or another supported format.

1{
2 "params": {
3 "device": "ios.0",
4 "format": "NATIVE"
5 },
6 "path": "/itential_commands/get_config"
7}

load_config

Load configuration XML onto a device. The action field controls the merge strategy (MERGE, REPLACE, etc.).

1{
2 "params": {
3 "device": "ios.0",
4 "action": "MERGE",
5 "config": "<config xmlns=\"http://tail-f.com/ns/config/1.0\"><devices xmlns=\"http://tail-f.com/ns/ncs\"><device><n>ios.0</n><config><tailfned xmlns=\"urn:ios\"><police>cirmode</police></tailfned><ip xmlns=\"urn:ios\"><source-route>true</source-route><gratuitous-arps-conf><gratuitous-arps>true</gratuitous-arps></gratuitous-arps-conf><http><server>true</server><secure-server>true</secure-server></http></ip></config></device></devices></config>"
6 },
7 "path": "/itential_commands/load_config"
8}

native2Pronghorn

Use the NED to convert native CLI configuration into XPath format.

1{
2 "params": {
3 "ned_id": "cisco-ios-cli-6.72",
4 "commands": "hostname test"
5 },
6 "path": "/itential_commands/native2Pronghorn"
7}

set_config

Push a native CLI configuration string to a device. The dryRun field specifies the output format for a dry-run operation (cli, native, etc.). Omit dryRun to commit the change.

1{
2 "params": {
3 "device": "ios.0",
4 "config": "hostname test",
5 "deviceType": "cisco-ios-cli-6.72",
6 "dryRun": "cli"
7 },
8 "path": "/itential_commands/set_config"
9}

set_config_transactions

Push configuration using a transaction object. The transaction tracks old and new values and supports multi-step rollback.

1{
2 "params": {
3 "device": "ios.0",
4 "deviceType": "cisco-ios-cli-6.72",
5 "transactions": {
6 "id": 1,
7 "new": "hostname test",
8 "old": "",
9 "parents": ""
10 }
11 },
12 "path": "/itential_commands/set_config_transactions"
13}

stage_device

Stage a device in NSO from a native CLI configuration string. Used to pre-provision device configuration before onboarding.

1{
2 "params": {
3 "device_name": "ios.1",
4 "ned_id": "cisco-ios-cli-6.72",
5 "commands": "hostname test"
6 },
7 "path": "/itential_commands/stage_device"
8}

translate_config

Translate a native CLI configuration string into set-format commands. The strategy field controls the translation approach.

1{
2 "params": {
3 "ned_id": "cisco-ios-cli-6.72",
4 "commands": "hostname test",
5 "strategy": "access_list"
6 },
7 "path": "/itential_commands/translate_config"
8}

verify_config

Verify that the NED can parse a given native CLI configuration string. Useful for validating configuration before pushing it to a device.

1{
2 "params": {
3 "ned_id": "cisco-ios-cli-6.72",
4 "commands": "hostname test"
5 },
6 "path": "/itential_commands/verify_config"
7}

Related reading

  • Configure the NSO adapter
  • RESTCONF API
  • Device customization
  • Supported NSO versions