Skip to content
User Guide

Manage → Configuration → Commands

The Commands tab lives on the Configuration panel of the Manage page — open Manage, then choose Configuration at the bottom of the browse tree.

The Commands catalog defines the ready-made actions operators can run against resources — the entries that appear on a resource’s Actions tab and in the database diagnostics catalog. Curating them here means operators get a consistent, vetted set of operations per resource type instead of ad-hoc commands.

What you can do

  • Review the commands available for each resource type.
  • Add or edit custom commands for a resource type.
  • Control which commands operators see and can run.

How commands are organized

Commands are scoped to a resource type and grouped into categories (for example connection, performance, or schema checks for a database). Each command has a name, a description, and the underlying operation it performs; some expose parameters operators fill in before running.

Built-in commands ship with the platform and act as sensible defaults; you can add your own alongside them.

Writing a command template

A command template is the text sent to the resource, plus a small notation for the parts operators fill in. Everything you do not mark up is sent exactly as you typed it.

NotationMeaning
{name:type}A parameter the operator fills in. The type is required.
[ ... ]An optional part. It must contain at least one parameter, and the operator supplies all of its parameters or none.
\ before [ ] { } \Send that character literally instead of treating it as notation.

A backslash before any other character is ordinary text, so paths such as C:\Windows\System32 and expressions such as grep -E '\d+' need no special handling.

Because a parameter must carry a type, ordinary shell text is left alone: ${HOME}, awk '{print $1}' and @{Total=$x} are all sent as-is.

Examples

TemplateResult
show versionAlways sent as show version.
show ip route[ vrf {vrf:string}]show ip route vrf CUST_A when a VRF is given, otherwise show ip route.
show mac[ vlan {vlan:vlan}][ interface {interface:interface}]Two independent optional parts; either, both, or neither.
show mac[ vrf {vrf:string} detail {n:integer}]Both values or neither — supplying only one is rejected.
type C:\Windows\System32\drivers\etc\hostsSent unchanged.
grep "\[0-9\]" /var/log/syslogSent as grep "[0-9]" /var/log/syslog — the brackets are literal.
grep "\[{pattern:string}\]" /var/log/syslogLiteral brackets around the operator’s value.

Put the separating space inside an optional part (show ip route[ vrf {vrf:string}], not show ip route [vrf {vrf:string}]) so nothing is left behind when the part is omitted.

Parameter types

TypeAccepts
stringAny text
integerA positive whole number
ipv4 / ipv6An IP address
prefixAn IP prefix, for example 10.0.0.0/24
vlanA VLAN ID (1–4094)
interfaceAn interface name
regionA cloud region
databaseA database name

The type decides how the field is presented to the operator and what it accepts, so a VLAN field rejects 5000 before anything is sent.

When a template is rejected

The form refuses to save a template that cannot work, naming the problem:

  • A parameter whose type is not one of the supported types — {vlan:valn} is rejected as a typo rather than silently losing its validation.
  • An optional part containing no parameter — write \[ if you meant a literal bracket.
  • An optional part that is never closed.
  • Optional parts nested inside one another.
  • The same parameter name used more than once in the template — give each parameter a unique name.

A command is also refused before anything is sent to the resource if a required value is missing or empty, or if only part of an optional group is supplied.

Common tasks

Add a custom command

  1. Select the resource type.
  2. Click Add Command.
  3. Give the command a name, category, and description, then write the command template (see Writing a command template) and choose its mode.
  4. Optionally adjust how the output is handled:
    • Parse source — how the raw output is turned into structured rows: Raw output (no parsing), Shipped template (a parsing template that ships with the platform), NTC template (a template from the community network-CLI template library), or JSON rows (the command already returns JSON).
    • Parser name — the identifier of the parsing template, when a template source is selected.
    • Read timeout (s) — how long to wait for the resource to finish responding.
    • Use timing-based reads — collect output by waiting for it to go quiet instead of watching for a prompt; useful for commands whose output interferes with prompt detection.
  5. Save. The command then appears on the Actions tab for resources of that type.

Custom commands can be authored for SSH-reachable resource types. Cloud types expose their operations through the platform’s own integrations, so only the description, category, mode, and enabled state are editable there.

Authoring custom commands requires the Base edition or higher. Without it, the Add Command and per-row edit buttons stay visible but locked, with a padlock explaining what is missing.

Edit or remove a command

Use the per-row controls to adjust or delete a custom command.

Permissions

  • View the catalog: app.commands.read.
  • Create / edit commands: app.commands.write.
  • Delete commands: app.commands.delete.