Overview
Infrastructure and Automation carries 20% of the 200-901 exam and has fourteen objectives, the most of any domain. Objectives 5.1 to 5.6 are descriptive: the value of model-driven programmability, controller-level against device-level management, simulation and test tools such as Cisco Modeling Labs and pyATS, CI/CD for infrastructure, infrastructure as code, and the capabilities of Ansible, Terraform and Cisco NSO.
Objectives 5.7 to 5.14 are interpretive. You identify the workflow automated by a Python script using ACI, Meraki, Catalyst Center or RESTCONF, by an Ansible playbook, and by a Bash script. You interpret RESTCONF and NETCONF query results, basic YANG models and unified diffs, describe the benefits of code review, and read sequence diagrams that include API calls. Reading artefacts accurately is the main skill tested.
How it's tested
Most questions present an artefact such as a Python script, an Ansible playbook, a Bash script, a RESTCONF reply, a YANG tree, a unified diff or a sequence diagram, and ask what it does or what result it produced. Descriptive items compare tools or management approaches. Reading code line by line, not skimming, is what earns marks.
-
What does this automate?
A script or playbook is shown and you choose the sentence that describes its overall workflow, such as backing up configurations or creating VLANs.
-
Interpret the output
A RESTCONF or NETCONF reply, YANG model or unified diff is shown, and you extract a value or state what changed.
-
Pick the tool or approach
A requirement such as declarative cloud provisioning, multivendor service rollback or pre-change testing is described, and you choose the tool.
A unified diff shows a hunk header @@ -12,3 +12,4 @@ followed by an unchanged interface line, a line starting with minus containing shutdown, and lines starting with plus containing no shutdown and a new description. The minus line was removed and the plus lines added, so the change enables the interface and adds a description. The new file has one more line in that hunk.
Objectives 14
Official objectives from the Cisco outline, in outline order.
5.1 Describe the value of model driven programmability for infrastructure automationWhy YANG-based APIs beat screen-scraping the CLI.
- What it means
- Model-driven programmability uses YANG models to define configuration and operational data, which devices expose through NETCONF, RESTCONF or gNMI as structured XML or JSON.
- What to understand
- The value lies in consistency and reliability: data has a known schema, so scripts do not need fragile text parsing of show output. Vendor-neutral models such as OpenConfig allow one script to work across platforms. NETCONF transactions allow all-or-nothing changes, and streaming telemetry built on the same models replaces polling.
- How it shows up
- Choose the main benefit of model-driven interfaces over CLI scraping.
- Common confusion
- Thinking YANG itself transports data; protocols such as NETCONF carry it.
5.2 Compare controller-level to device-level managementManaging through a controller versus box by box.
- What it means
- Device-level management configures each device directly through its CLI or its own API. Controller-level management uses a central platform such as Catalyst Center, APIC or Meraki Dashboard that holds the network-wide view and pushes configuration to devices.
- What to understand
- Controllers provide abstraction, intent-based policies, a single API, inventory and assurance, and reduce the number of endpoints a script must touch. Device-level access gives fine-grained control and works without a controller but scales poorly and needs per-device credentials and logic. Many environments mix both approaches.
- How it shows up
- Choose controller or device management for a scale, abstraction or granularity requirement.
- Common confusion
- Assuming device-level APIs are obsolete once a controller exists.
5.3 Describe the use and roles of network simulation and test tools (such as Cisco Modeling Labs and pyATS)Testing changes before they reach production.
- What it means
- Cisco Modeling Labs (CML) runs virtual Cisco devices in simulated topologies for design, training and testing. pyATS is Cisco's Python test framework that connects to devices, parses output into structured data with the Genie library, and compares network state before and after changes.
- What to understand
- CML gives a safe place to try configurations and run automation against realistic topologies, and has its own API for building labs. pyATS supports automated test cases, snapshots of operational state, and diffs that show what a change actually did. Both fit naturally into CI/CD pipelines for network changes.
- How it shows up
- Match CML to simulation and pyATS to automated testing and state comparison.
- Common confusion
- Thinking pyATS emulates devices; it tests real or simulated ones.
5.4 Describe the components and benefits of CI/CD pipeline in infrastructure automationApplying software pipelines to network configuration.
- What it means
- In infrastructure CI/CD, configuration or code changes are committed to Git, which triggers a pipeline that lints and validates the change, tests it in a simulated or staging network, and deploys it to production with an automation tool.
- What to understand
- Typical components are a source repository, pipeline runner, linting and schema validation, test environment such as CML, test framework such as pyATS, deployment tool such as Ansible, Terraform or NSO, and post-deployment verification. Benefits include consistent, auditable, repeatable changes with fewer outages and quick rollback.
- How it shows up
- Order the stages of a network CI/CD pipeline or name a benefit.
- Common confusion
- Skipping pre-production testing and treating the pipeline as a deployment script only.
5.5 Describe the principles of infrastructure as codeDefining infrastructure in version-controlled files.
- What it means
- Infrastructure as code describes the desired state of network, compute or cloud resources in text files that are stored in version control and applied by tools.
- What to understand
- Principles include declarative definitions where possible, idempotency so repeated runs give the same result, version control for history and review, automated testing, and treating the repository as the source of truth so manual changes are avoided. Drift, where real state differs from the code, is detected and corrected by reapplying the definition.
- How it shows up
- Identify an IaC principle such as idempotency or source of truth from a description.
- Common confusion
- Equating any script with IaC; IaC needs version-controlled, repeatable desired state.
5.6 Describe the capabilities of automation tools such as Ansible, Terraform, and Cisco NSOThree tools and where each fits.
- What it means
- Ansible is an agentless automation tool that runs YAML playbooks of tasks over SSH or APIs from a control node against an inventory. Terraform is a declarative provisioning tool using HCL files, providers and a state file, with plan and apply steps. Cisco NSO is a model-driven orchestrator that uses YANG service models and network element drivers to configure multivendor devices transactionally.
- What to understand
- Ansible suits configuration management and procedural tasks with many Cisco modules. Terraform suits lifecycle management of cloud and infrastructure resources, comparing desired state to its state file. NSO suits service provider and large enterprise services, keeping a configuration database of the whole network with rollback.
- How it shows up
- Choose the tool for a declarative provisioning, agentless configuration or multivendor service need.
- Common confusion
- Saying Ansible requires agents on managed devices.
5.7 Identify the workflow being automated by a Python script that uses Cisco APIs including ACI, Meraki, Cisco Catalyst Center, and RESTCONFReading platform scripts and summarising what they do.
- What it means
- This objective shows a Python script using requests or an SDK against a Cisco API and asks what overall workflow it automates, for example retrieving device inventory, creating a tenant, updating an SSID or changing an interface description.
- What to understand
- Follow the sequence: authentication, the endpoint and method of each call, any loop, and what is printed or written. A POST to aaaLogin.json signals APIC login; X-Auth-Token signals Catalyst Center; X-Cisco-Meraki-API-Key or a bearer token signals Meraki; /restconf/data paths signal device-level RESTCONF. The HTTP method shows whether data is read or changed.
- How it shows up
- Choose the description that matches a shown script.
- Common confusion
- Judging the script by its variable names instead of the actual calls it makes.
5.8 Interpret the workflow being automated by an Ansible playbook (management packages, user management related to services, basic service configuration, and start/stop)Reading plays, tasks and modules.
- What it means
- A playbook is YAML containing plays that target hosts from an inventory and list tasks, each calling a module such as apt or yum for packages, user for accounts, template or copy for configuration files, service or systemd for start and stop, or ios_config and similar modules for network devices.
- What to understand
- Read hosts, become, vars and each task's module and parameters in order. state: present installs or creates, state: absent removes, and state: started, stopped or restarted controls services. Handlers run when notified by a changed task. Modules are idempotent, so rerunning a playbook makes no change if the target already matches.
- How it shows up
- Describe what a playbook does, or what happens to a service after it runs.
- Common confusion
- Reading state: present as an action to restart a service.
5.9 Interpret the workflow being automated by a bash script (such as file management, app install, user management, directory navigation)Reading shell scripts line by line.
- What it means
- Bash scripts combine commands, variables, conditionals and loops to automate tasks such as installing packages with apt or yum, creating users with useradd, moving through directories with cd, and copying, archiving or deleting files.
- What to understand
- Note the shebang (#!/bin/bash), variable assignment without spaces and use with $, if [ ] tests, for loops, and command substitution with $(...). Watch for sudo, set -e which stops on error, and redirection with > and >>. The exam asks what end state the script produces.
- How it shows up
- Predict the result of a short Bash script or describe its purpose.
- Common confusion
- Confusing > (overwrite) with >> (append).
5.10 Interpret the results of a RESTCONF or NETCONF queryReading structured replies from devices.
- What it means
- A RESTCONF reply is JSON or XML under the module and container named in the request, such as ietf-interfaces:interface with name, type, enabled and ipv4 fields. A NETCONF reply is an rpc-reply containing a data element with XML that follows the YANG model.
- What to understand
- To extract a value, follow the hierarchy from the module prefix through containers and lists to the leaf. Lists appear as JSON arrays or repeated XML elements. An ok element in a NETCONF reply means an edit succeeded, and rpc-error carries the failure. RESTCONF errors appear as HTTP status codes with an errors body.
- How it shows up
- Read a reply and state an interface's address, status or other value.
- Common confusion
- Missing the module prefix in RESTCONF JSON keys when tracing the path.
5.11 Interpret basic YANG modelsReading module, container, list, leaf and type statements.
- What it means
- YANG modules declare a namespace and prefix, then define containers that group data, lists of entries identified by a key, leaves holding single values with types such as string, uint32 or boolean, and leaf-lists holding multiple values. config false marks operational data.
- What to understand
- Tree views produced by pyang show rw for configuration and ro for state, with list keys in square brackets. Constraints such as range, pattern and mandatory restrict valid values. Reading the model tells you the exact path and data type a RESTCONF or NETCONF request must use.
- How it shows up
- Determine a valid value, the list key or whether a node is configurable from a model.
- Common confusion
- Treating a ro node as configurable.
5.12 Interpret a unified diffReading git diff and diff -u output.
- What it means
- A unified diff starts with --- and +++ lines naming the old and new files, then hunks introduced by @@ -start,count +start,count @@. Lines starting with a minus were removed, lines starting with a plus were added, and lines starting with a space are unchanged context.
- What to understand
- The hunk header gives the starting line and line count in each version. A modified line appears as a removal followed by an addition. Diffs are used in code review, configuration comparisons and pyATS state checks, so you must state precisely what changed.
- How it shows up
- Describe the change a diff shows, or the number of lines added.
- Common confusion
- Reading the --- file as the new version.
5.13 Describe the principles and benefits of a code review processPeer review of changes before merge.
- What it means
- Code review is the practice of having peers examine changes, usually through a pull or merge request, before they are merged into the main branch.
- What to understand
- Benefits include catching defects early, enforcing standards, spreading knowledge across the team and keeping an audit trail of decisions. Good practice keeps reviews small, focuses on correctness and readability, uses automated checks for style, and treats feedback constructively. For infrastructure as code, review is a change-control step.
- How it shows up
- Identify a benefit or principle of code review.
- Common confusion
- Thinking automated tests make human review unnecessary.
5.14 Interpret a sequence diagram that includes API callsFollowing interactions over time between systems.
- What it means
- A sequence diagram shows participants as vertical lifelines and messages as arrows in time order from top to bottom, with solid arrows for requests and dashed arrows for responses, sometimes with loops, alternatives and activation bars.
- What to understand
- To interpret one, read top to bottom and note who calls whom, which API and method is used, and what returns. Typical flows include a script requesting a token, then using it to call a controller, which in turn talks to devices and returns a task ID. Questions ask about order or which participant performs a step.
- How it shows up
- Identify the step order or the component that makes a particular call.
- Common confusion
- Reading a dashed return arrow as a new request.
High-yield concepts
The terms, rules and formulas this domain turns into questions most often.
-
Controller-level management
Central platform with a network-wide API.
- Remember
- Abstraction and scale.
- Tested as
- Management approach comparisons.
- Trap
- Assuming it removes device APIs.
-
pyATS and Genie
Python test framework and parser library.
- Remember
- Snapshot, compare and test network state.
- Tested as
- Test tool selection.
- Trap
- Thinking pyATS simulates devices.
-
Cisco Modeling Labs
Simulation platform for virtual Cisco topologies.
- Remember
- Safe pre-production testing.
- Tested as
- Pipeline and test questions.
- Trap
- Confusing it with DevNet Sandbox.
-
Idempotency
Applying the same definition repeatedly yields the same state.
- Remember
- Core to Ansible and IaC.
- Tested as
- IaC principle questions.
- Trap
- Expecting reruns to duplicate configuration.
-
Ansible
Agentless, YAML playbooks, inventory, modules.
- Remember
- Runs over SSH or APIs.
- Tested as
- Tool comparison and playbook reading.
- Trap
- Claiming it needs an agent.
-
Terraform
Declarative HCL with providers and state.
- Remember
- Plan shows changes before apply.
- Tested as
- Tool comparison.
- Trap
- Calling it procedural.
-
Cisco NSO
YANG-based multivendor orchestrator with transactions.
- Remember
- Uses NEDs and a configuration database.
- Tested as
- Tool comparison.
- Trap
- Treating it as a monitoring system.
-
YANG tree notation
rw for config, ro for state, keys in brackets.
- Remember
- Shows paths and types.
- Tested as
- Model interpretation.
- Trap
- Editing ro nodes.
-
Unified diff hunk header
@@ -old,count +new,count @@
- Remember
- Minus removed, plus added.
- Tested as
- Diff interpretation.
- Trap
- Reversing old and new.
-
NETCONF rpc-reply
XML envelope holding data, ok or rpc-error.
- Remember
- ok means success.
- Tested as
- Query result interpretation.
- Trap
- Missing an rpc-error in a long reply.
-
Sequence diagram arrows
Solid for calls, dashed for returns, time downwards.
- Remember
- Order is vertical.
- Tested as
- Diagram interpretation.
- Trap
- Treating return arrows as new calls.
Side by side
Concepts candidates mix up, compared on the point that decides the answer.
Automation tools
| Concept | Meaning | Key difference | Common trap |
|---|---|---|---|
| Ansible | Agentless task automation in YAML | Procedural playbooks, no state file | Expecting it to track state like Terraform |
| Terraform | Declarative provisioning with HCL | State file and plan before apply | Using it for ad hoc configuration tasks |
| Cisco NSO | Model-driven service orchestration | Transactional multivendor config database | Thinking it is Cisco-only |
Management approach
| Concept | Meaning | Key difference | Common trap |
|---|---|---|---|
| Controller-level | Central API manages many devices | Abstraction, policy and assurance | Assuming no device detail is possible |
| Device-level | Script talks to each device directly | Fine-grained but scales poorly | Ignoring per-device credentials |
Simulation and testing
| Concept | Meaning | Key difference | Common trap |
|---|---|---|---|
| Cisco Modeling Labs | Virtual network topologies | Provides the test network | Expecting it to run test cases itself |
| pyATS | Automated test and validation framework | Runs tests and compares state | Expecting it to create devices |
Exam traps
Each trap is an answer that looks right. Learn the clue that should change your mind.
-
Tool choice
- What candidates pick
- Ansible for declarative cloud resource lifecycle with state tracking
- Why it looks right
- Ansible is the best-known tool
- Why it's wrong
- Declarative provisioning with a state file and plan is Terraform's model.
Clue to watch for Words like plan, state or desired infrastructure lifecycle.
-
Playbook outcome
- What candidates pick
- The service restarts on every run
- Why it looks right
- A service task is present
- Why it's wrong
- state: started only starts a stopped service; a restart needs state: restarted or a notified handler.
Clue to watch for Read the state value exactly.
-
Diff reading
- What candidates pick
- The plus line was deleted
- Why it looks right
- Plus looks like it adds to the old file
- Why it's wrong
- In a unified diff, plus lines exist only in the new version, so they were added.
Clue to watch for Check the --- and +++ headers.
-
YANG configurability
- What candidates pick
- Set an ro leaf with PATCH
- Why it looks right
- Every leaf looks editable
- Why it's wrong
- Nodes marked ro or config false hold operational state and cannot be configured.
Clue to watch for The tree shows ro beside the leaf.
-
Test tool role
- What candidates pick
- CML to compare before and after state
- Why it looks right
- CML is a Cisco testing product
- Why it's wrong
- CML simulates topologies; snapshotting and diffing operational state is a pyATS function.
Clue to watch for The stem mentions snapshots, parsers or test results.
Answer framework
Apply these steps whenever this domain shows an artefact or asks you to choose a tool or management approach.
- Name the artefact type first: Python script, playbook, Bash script, RESTCONF or NETCONF reply, YANG model, diff or sequence diagram.
- Read it top to bottom, noting authentication, each call or task in order, and any loop or condition that repeats or skips steps.
- Decide whether each step reads or changes state, using HTTP methods, module state values, ro and rw markers, or plus and minus lines.
- Summarise the end state in one sentence before reading the options, then pick the option that matches that sentence exactly.
- For tool questions, test each option against declarative or procedural style, state handling, agent requirements and multivendor support.
Practice question
Want more like this? The CCNA Automation practice test has questions for every domain.
Checklist
0 of 14
Tick each one you can do without notes. Your ticks stay in this browser.
Study strategy
Because eight of the fourteen objectives ask you to interpret artefacts, build a personal library of them. Collect or write a short example of each type: a Catalyst Center inventory script, an APIC tenant script, a RESTCONF interface update, an Ansible playbook for packages, users and services, a Bash install script, a NETCONF reply, a YANG tree from pyang, a git diff and a sequence diagram. For each, write one sentence describing what it does, then check yourself by running it in a sandbox or CML lab.
For the descriptive objectives, make a three-column table comparing Ansible, Terraform and NSO, and a two-column table for controller and device management. Run pyATS once against an IOS XE sandbox to snapshot interfaces, change a description and diff the result; this single exercise covers simulation, testing, CI/CD and diffs together. In the final week, practise timed interpretation items, aiming to read each artefact once carefully rather than skimming and rereading.
FAQ
How much of the exam is Infrastructure and Automation?
Infrastructure and Automation is 20% of the 200-901 CCNA Automation exam and has fourteen official objectives, the most of any domain.
Which automation tools must I know?
Objective 5.6 names Ansible, Terraform and Cisco NSO. Objective 5.8 also asks you to interpret Ansible playbooks, so Ansible gets the most attention.
Do I need to write Ansible playbooks?
The objectives ask you to interpret playbooks rather than write them, but writing a few small ones is the quickest way to read them confidently.
What is pyATS used for?
pyATS is Cisco's Python test framework. With the Genie library it parses device output, captures state snapshots and compares them before and after a change.
How deep is the YANG content here?
Objective 5.11 says basic YANG models: containers, lists, keys, leaves, types and whether nodes are configuration or state.
What should I know about sequence diagrams?
Know that time flows downwards, solid arrows are calls, dashed arrows are returns, and be able to follow authentication then API calls between a script, controller and devices.
Other Networking certifications
Where the same subject shows up in other exams. Cards marked "Same subject" open the matching domain.
Test your Domain 5 knowledge
Practise reading scripts, playbooks, YANG models, diffs and sequence diagrams under time pressure to see if you are ready for this 20% domain.
Keep going
- Training Training Built on your Weak areas
- Practice test Questions by domain, with explanations
- Mock exam Full length, timed like the real exam
- Readiness test Find your weakest domain in minutes
- Cheat sheet Key terms and formulas on one page
- Ask the CCNA Automation AI tutor Get any concept explained your way