Skip to content

snippet

Snippet management commands for NDCLI. Snippets are reusable configuration blocks that define users, groups, aliases, and firewall rules. Snippets are combined into templates to create complete configurations.

Snippet Types

TypeDescription
USERUser definitions
GROUPGroup definitions
ALIASNetwork aliases (IP addresses, networks, ports)
RULEFirewall rules

Commands

CommandDescription
snippet listList snippets
snippet describeShow snippet details
snippet createCreate a new snippet
snippet deleteDelete a snippet
snippet editEdit snippet in external editor
snippet pullPull snippet from a device
snippet renameRename a snippet
snippet set-prioritySet snippet priority
snippet update-contentUpdate snippet content from file

snippet list

List snippets in your organization.

Terminal window
ndcli snippet list [flags]

Flags

FlagTypeDefaultDescription
--namestringFilter by name (regex pattern)
--typestringFilter by type: USER, GROUP, ALIAS, RULE
--created-afterstringFilter by created date
--created-beforestringFilter by created date
--updated-afterstringFilter by updated date
--updated-beforestringFilter by updated date
--sort-bystringpriority:ascSort field: priority, name, created_at, updated_at
--pageint1Page number
--per-pageint50Items per page (max 100)

Examples

Terminal window
ndcli snippet list
ndcli snippet list --type RULE
ndcli snippet list --type ALIAS
ndcli snippet list --name "admin.*"
ndcli snippet list --updated-after 24h
ndcli snippet list --sort-by name:asc

snippet describe

Show detailed information about a snippet including its content.

Terminal window
ndcli snippet describe [name]

Arguments

ArgumentRequiredDescription
nameYesSnippet name

Output

Shows:

  • Snippet name and type
  • Priority
  • Full content
  • Creation and update timestamps
  • Templates using this snippet

Examples

Terminal window
ndcli snippet describe admin-users
ndcli snippet describe firewall-rules -f json

snippet create

Create a new snippet.

Terminal window
ndcli snippet create [name] [flags]

Arguments

ArgumentRequiredDescription
nameYesSnippet name

Flags

FlagTypeDefaultDescription
--typestringRequiredSnippet type: USER, GROUP, ALIAS, RULE
--contentstringSnippet content (inline)
--filestringRead content from file
--priorityint1000Priority (1-60000, lower = higher priority)

Examples

Terminal window
ndcli snippet create web-servers \
--type ALIAS \
--content "host web1 { 192.168.1.10 }
host web2 { 192.168.1.11 }"
ndcli snippet create firewall-rules \
--type RULE \
--file ./rules.conf
ndcli snippet create critical-rules \
--type RULE \
--file ./critical.conf \
--priority 100

Priority Guidelines

Priority determines the order snippets are applied (lower numbers = higher priority):

RangeSuggested Use
1-500Critical/foundational rules
500-1000Core infrastructure
1000-2000Standard configurations
2000-5000Application-specific rules
5000+Optional/override rules

snippet delete

Delete a snippet.

Terminal window
ndcli snippet delete [name]

Arguments

ArgumentRequiredDescription
nameYesSnippet name to delete

Examples

Terminal window
ndcli snippet delete deprecated-rules

snippet edit

Open a snippet’s content in your system’s default text editor for editing.

Terminal window
ndcli snippet edit [name]

Arguments

ArgumentRequiredDescription
nameYesSnippet name

How It Works

  1. Downloads current snippet content to a temporary file
  2. Opens the file in your default editor ($EDITOR or system default)
  3. After you save and close, uploads the modified content
  4. If no changes were made, no update occurs

Environment Variables

VariableDescription
EDITORPreferred text editor (e.g., vim, nano, code)
VISUALAlternative editor variable

Examples

Terminal window
ndcli snippet edit firewall-rules
EDITOR=nano ndcli snippet edit firewall-rules

snippet pull

Pull configuration content from a device and optionally save it as a snippet.

Terminal window
ndcli snippet pull [device] [snippet-name] [flags]

Arguments

ArgumentRequiredDescription
deviceYesDevice name to pull from
snippet-nameYesName for the pulled content

Flags

FlagTypeDefaultDescription
--typestringALIASConfig type to pull: ALIAS or RULE
--auto-createboolfalseCreate snippet in DB if it doesn’t exist
--overwriteboolfalseUpdate snippet if it already exists
--wait-wfalseWait for task to complete

Examples

Terminal window
ndcli snippet pull fw-prod-01 production-aliases --type ALIAS
ndcli snippet pull fw-prod-01 production-aliases --type ALIAS --wait
ndcli snippet pull fw-prod-01 new-rules \
--type RULE \
--auto-create \
--wait
ndcli snippet pull fw-prod-01 existing-aliases \
--type ALIAS \
--overwrite \
--wait

Async Behavior

By default, snippet pull creates an asynchronous task and returns immediately with a task ID. Use --wait to block until completion, or check task status with:

Terminal window
ndcli task describe <task-id>

snippet rename

Rename a snippet.

Terminal window
ndcli snippet rename [name] [new-name]

Arguments

ArgumentRequiredDescription
nameYesCurrent snippet name
new-nameYesNew snippet name

Examples

Terminal window
ndcli snippet rename old-rules new-rules

snippet set-priority

Change a snippet’s priority.

Terminal window
ndcli snippet set-priority [name] [priority]

Arguments

ArgumentRequiredDescription
nameYesSnippet name
priorityYesNew priority (1-60000)

Examples

Terminal window
ndcli snippet set-priority critical-rules 100
ndcli snippet set-priority optional-rules 5000

snippet update-content

Update a snippet’s content from a file.

Terminal window
ndcli snippet update-content [name] [file]

Arguments

ArgumentRequiredDescription
nameYesSnippet name
fileYesPath to file containing new content

Examples

Terminal window
ndcli snippet update-content firewall-rules ./updated-rules.conf
cat new-content.conf | ndcli snippet update-content my-snippet /dev/stdin