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
Type Description USERUser definitions GROUPGroup definitions ALIASNetwork aliases (IP addresses, networks, ports) RULEFirewall rules
Commands
snippet list
List snippets in your organization.
ndcli snippet list [flags]
Flags
Flag Type Default Description --namestring Filter by name (regex pattern) --typestring Filter by type: USER, GROUP, ALIAS, RULE --created-afterstring Filter by created date --created-beforestring Filter by created date --updated-afterstring Filter by updated date --updated-beforestring Filter by updated date --sort-bystring priority:ascSort field: priority, name, created_at, updated_at --pageint 1Page number --per-pageint 50Items per page (max 100)
Examples
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.
ndcli snippet describe [name]
Arguments
Argument Required Description nameYes Snippet name
Output
Shows:
Snippet name and type
Priority
Full content
Creation and update timestamps
Templates using this snippet
Examples
ndcli snippet describe admin-users
ndcli snippet describe firewall-rules -f json
snippet create
Create a new snippet.
ndcli snippet create [name] [flags]
Arguments
Argument Required Description nameYes Snippet name
Flags
Flag Type Default Description --typestring Required Snippet type: USER, GROUP, ALIAS, RULE --contentstring Snippet content (inline) --filestring Read content from file --priorityint 1000Priority (1-60000, lower = higher priority)
Examples
ndcli snippet create web-servers \
--content " host web1 { 192.168.1.10 }
host web2 { 192.168.1.11 } "
ndcli snippet create firewall-rules \
ndcli snippet create critical-rules \
Priority Guidelines
Priority determines the order snippets are applied (lower numbers = higher priority):
Range Suggested Use 1-500 Critical/foundational rules 500-1000 Core infrastructure 1000-2000 Standard configurations 2000-5000 Application-specific rules 5000+ Optional/override rules
snippet delete
Delete a snippet.
ndcli snippet delete [name]
Arguments
Argument Required Description nameYes Snippet name to delete
Examples
ndcli snippet delete deprecated-rules
snippet edit
Open a snippet’s content in your system’s default text editor for editing.
ndcli snippet edit [name]
Arguments
Argument Required Description nameYes Snippet name
How It Works
Downloads current snippet content to a temporary file
Opens the file in your default editor ($EDITOR or system default)
After you save and close, uploads the modified content
If no changes were made, no update occurs
Environment Variables
Variable Description EDITORPreferred text editor (e.g., vim, nano, code) VISUALAlternative editor variable
Examples
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.
ndcli snippet pull [device] [snippet-name] [flags]
Arguments
Argument Required Description deviceYes Device name to pull from snippet-nameYes Name for the pulled content
Flags
Flag Type Default Description --typestring ALIASConfig type to pull: ALIAS or RULE --auto-createbool falseCreate snippet in DB if it doesn’t exist --overwritebool falseUpdate snippet if it already exists --wait-wfalseWait for task to complete
Examples
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 \
ndcli snippet pull fw-prod-01 existing-aliases \
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:
ndcli task describe <task-id>
snippet rename
Rename a snippet.
ndcli snippet rename [name] [new-name]
Arguments
Argument Required Description nameYes Current snippet name new-nameYes New snippet name
Examples
ndcli snippet rename old-rules new-rules
snippet set-priority
Change a snippet’s priority.
ndcli snippet set-priority [name] [priority]
Arguments
Argument Required Description nameYes Snippet name priorityYes New priority (1-60000)
Examples
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.
ndcli snippet update-content [name] [file]
Arguments
Argument Required Description nameYes Snippet name fileYes Path to file containing new content
Examples
ndcli snippet update-content firewall-rules ./updated-rules.conf
cat new-content.conf | ndcli snippet update-content my-snippet /dev/stdin