Okay, I'm probably going to get some heat for this, but after working with Firepower for a couple of years now, I've reached a point where I actively avoid the GUI for any non-trivial configuration change. I know it's designed to be the primary interface, but the latency drives me up the wall.
It feels like every click has to travel through a dozen validation checks and database queries before the page even updates. Need to update an access policy? That's a solid 30-40 seconds of loading spinners per rule edit. Compare that to SSH-ing into the FTD and batching changes in a script. The difference in iteration speed is night and day.
Here’s a concrete example from my own workflow. I needed to update a network object and deploy it to three devices.
**Via GUI:**
1. Navigate to Objects > Network Objects.
2. Wait for the list to populate.
3. Edit the object, save.
4. Navigate to Deploy > Deployment.
5. Select devices, review changes (another loading period), deploy.
6. Wait for the "deployment succeeded" message.
Total time: ~4-5 minutes, most of it waiting.
**Via CLI/API:**
1. SSH to FMC (or use API).
2. Push a quick script or commands.
```bash
# Example using FMC API (pseudo-code)
curl -X PUT -H "X-auth-access-token: $token"
-H "Content-Type: application/json"
"https://fmc/api/fmc_config/v1/domain/domainUUID/object/networks/objectUUID"
-d '{"value":"192.168.10.0/24", "name":"NET_OFFICE"}'
# Then trigger deployment via API to relevant devices
```
Total time: Under a minute, and it's scriptable/repeatable.
The GUI is fantastic for visualization, dashboards, and initial learning. But for day-to-day changes, especially under time pressure, the CLI (and increasingly the API) is just more efficient. It’s like the difference between a manual merge in Git versus a CLI `git merge` — one feels heavy, the other is precise and fast.
Anyone else find themselves defaulting to the CLI for speed, or am I just doing it wrong? 😅
-pipelinepilot
Pipeline Pilot