Operations Management
The scm CLI provides capabilities beyond managing individual configuration objects, including committing changes, job monitoring, device operations, and local config retrieval. This guide covers operational workflows for managing your SCM environment.
Overview
This guide covers operational tasks you can perform with the CLI:
- Deploy configuration changes by committing them
- Monitor asynchronous jobs and check their status
- Run diagnostic operations against managed devices
- Retrieve on-device configuration versions
- Troubleshoot issues with debug output
Prerequisites
Before performing operational tasks, ensure you have:
- The
scmCLI installed and authenticated (see Getting Started) - Appropriate permissions for deployment and operational commands
- Configuration changes staged and ready to deploy (for commit operations)
Core Concepts
Deployment Workflow
After making changes to your configurations, you must commit those changes to make them active. The workflow is:
- Make configuration changes using
set,delete, orloadcommands - Commit the staged configuration with
scm commit, naming the affected folder(s) - Monitor the commit job until it completes
Asynchronous Jobs
Many SCM operations run asynchronously and generate jobs. Use the scm jobs commands to track their progress and verify completion.
Examples
Configuration Deployment
Committing Changes
$ scm commit \
--folder Texas \
--description "Updated address objects and security rules"
---> 100%
Commit job 12345 started
Committing Multiple Folders
$ scm commit \
--folder Texas \
--folder California \
--description "Multi-site update"
---> 100%
Commit job 12346 started
Waiting for a Commit to Finish
$ scm commit \
--folder Texas \
--description "Update" \
--sync \
--timeout 600
---> 100%
Commit job 12347 completed successfully
After committing, check job status to confirm the operation completed successfully.
Job Monitoring
Checking Job Status
$ scm jobs status --id 12345
---> 100%
Job: 12345
Status: FIN
Type: CommitAll
Result: OK
Listing Recent Jobs
$ scm jobs list --max-results 10
---> 100%
SCM Jobs
------------------------------------------------------------
Id: 12345
Type: CommitAll
Status: FIN
------------------------------------------------------------
Id: 12344
Type: CommitAll
Status: PEND
------------------------------------------------------------
Waiting for a Job
$ scm jobs wait --id 12344 --timeout 600
---> 100%
Job 12344 completed with status: FIN
Device Operations
Run diagnostics against a managed firewall by serial number. Each command
polls to completion by default; add --async to get a job ID immediately.
$ scm operations route-table --device 007951000123456
$ scm operations interfaces --device 007951000123456
$ scm operations logging-status --device 007951000123456
Dispatching Asynchronously
$ scm operations route-table --device 007951000123456 --async
Dispatched job: abc-123
$ scm operations status --id abc-123
Job abc-123: completed
See Device Operations for the full list of operations.
Local Device Configurations
List and download configuration versions stored on a device:
$ scm local list --device 007951000123456
$ scm local download --device 007951000123456 --version 42 --output config.xml
Troubleshooting
Debug Output
$ scm --debug show object address --folder Texas
The global --debug flag enables debug logging (including SDK auth/HTTP
traffic) and full tracebacks. Alternatively, set SCM_LOG_LEVEL=DEBUG.
Best Practices
- Use descriptive commit messages: Document your changes clearly for audit trail purposes.
- Check job status after operations: Verify that commits complete successfully before proceeding.
- Use
--syncfor scripted commits: Blocking until the commit finishes simplifies automation pipelines. - Prefer
--asyncfor slow device operations: Dispatch the job, capture the ID, and poll withscm operations status --id. - Use debug mode for troubleshooting: Add the global
--debugflag when diagnosing operational issues.
Next Steps
- Explore the CLI Reference for detailed information on all available commands
- Learn more about Advanced Topics for scripting and automation
- Review Configuration Objects to understand the types of resources you can manage