Back to CCNA 200-301
CCNA 200-301 · Cheat Sheet
Automation & Programmability (10%)
Tip: Use your browser's print function (Ctrl+P / Cmd+P) to save as PDF for offline study.
CCNA 200-301 Cheat Sheet: Automation & Programmability (10%)
Quick Cues → Answers
Q: What is the fundamental difference between Ansible and Terraform?- Ansible: Configuration management tool; agentless, push-based, YAML syntax, idempotent
- Terraform: Infrastructure as Code (IaC); declarative, manages desired state, idempotent
- 401 Unauthorized: Authentication failed (missing/invalid credentials)
- 403 Forbidden: Authenticated but lacks permission
- Northbound API: Management → Controller (policy, intent)
- Southbound API: Controller → Devices (network state changes)
- None — agentless; uses SSH only
Controller-Based Networking (SDN)
| Concept | Definition | Example |
| SDN | Separation of control plane from data plane | OpenFlow, OpenDaylight |
|---|---|---|
| Northbound API | Controller ← Management apps | REST API to Catalyst Center |
| Southbound API | Device ← Controller | OpenFlow, NETCONF, RESTCONF |
| Intent-Based Networking (IBN) | User defines intent; system enforces policy | Catalyst Center assurance |
| Catalyst Center | Cisco's SDN controller for enterprise | Replaces old Prime Infrastructure |
| SD-WAN | Decoupled WAN control; branch autonomy | Viptela (Cisco), Meraki |
| HTTP Method | Purpose | Status Code |
| GET | Retrieve resource | 200 OK |
| POST | Create new resource | 201 Created |
| PUT | Replace entire resource | 200 OK / 204 No Content |
| PATCH | Partial update | 200 OK / 204 No Content |
| DELETE | Remove resource | 204 No Content |
| Element | Type | Example |
| String | Text, quoted | "hostname": "R1" |
| Number | Integer or float | "port": 22 |
| Boolean | true/false | "enabled": true |
| Array | Ordered list, [ ] | [{"if": "Gi0/0"}] |
| Object | Key-value pairs, { } | {"name": "R1"} |
| null | No value | "description": null |
| Feature | Ansible | Terraform |
| Type | Config mgmt (push) | Infrastructure as Code (declarative) |
| Agent | None (agentless/SSH) | None required; uses APIs |
| Syntax | YAML (playbooks) | HCL (modules) |
| State | Task-based (imperative) | Desired state (declarative) |
| Idempotent | Yes (by design) | Yes (apply multiple times safely) |
| Primary Use | Device configuration, app deployment | Cloud/infrastructure provisioning |
| Push vs. Pull | Push (controller → devices) | Pull (state file) |
| Benefit | Meaning | |
| Consistency | Same config across all devices; reduces human error | |
| Speed | Deploy 100 devices in seconds vs. hours manual | |
| Version Control | Git tracks all changes; audit trail and rollback capability | |
| Scalability | Add devices without manual intervention | |
| Intent-Based | Admin specifies "what" not "how"; controller enforces | |
| Use Case | Application | |
| Anomaly Detection | Catalyst Center Assurance; flagging unusual traffic patterns | |
| Predictive Maintenance | ML models predict link failure before it occurs | |
| Security Threat Detection | Behavioral ML for zero-day intrusion detection | |
| Network Optimization | Auto-tuning QoS policies based on traffic history | |
| Pair | Distinction | |
| Northbound vs. Southbound | North = management → controller (policy); South = controller → devices (config) | |
| 401 vs. 403 | 401 = bad credentials; 403 = good credentials, no permission | |
| Ansible vs. Terraform | Ansible = push config mgmt; Terraform = declarative IaC | |
| Idempotent vs. Imperative | Idempotent = same result every run; Imperative = step-by-step instructions | |
| Agentless vs. Agent-based | Ansible = agentless (SSH only); Puppet/Chef = agent (removed from v1.1) |
High-Yield
Aligned to the Cisco CCNA 200-301 exam topics.
Make this cheat sheet yours
Personalize this sheet — focus it however you study, or build one from the exact questions you keep getting wrong.
Sign up free to create a personalized cheat sheet.