200-901 Infrastructure and Automation Practice Question
A developer must configure a Cisco IOS XE device programmatically and needs the device to validate configuration changes against a data model before they are committed, with the ability to discard invalid candidate configurations. Which approach satisfies this requirement?
⚠ Common exam trap
The trap here is equating any model-driven interface, such as RESTCONF against the running datastore, with transactional validation, when only the candidate-datastore workflow provides staged validate and commit semantics.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use NETCONF with the candidate datastore, edit-config, validate, and commit operations.
A candidate datastore combined with validate and commit gives the developer a staged, model-checked, transactional change workflow. Invalid edits are caught before they reach the running configuration, and a failed validation simply discards the candidate, preserving service. This matches the requirement for pre-commit validation and the ability to abandon bad configurations.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Use NETCONF with the candidate datastore, edit-config, validate, and commit operations.
Why this is correct
NETCONF supports a candidate datastore where edits are staged, a validate operation that checks the candidate against the device's YANG models, and a commit that applies it atomically. If validation fails, the candidate can be discarded without touching the running configuration. This is exactly the model-driven, transactional workflow the requirement describes.
- ✗
Use SNMP set requests against the MIB to write configuration objects.
Why it's wrong here
SNMP is designed for monitoring and limited scalar writes, not for full configuration management. It has no candidate datastore, no validation phase, and no atomic commit, so partial failures leave inconsistent state. It also lacks the YANG-based modeling that the scenario requires for pre-commit validation.
- ✗
Use RESTCONF with a PATCH to the running datastore directly.
Why it's wrong here
RESTCONF targets the running datastore by default, so changes take effect immediately and there is no separate candidate to validate before committing. Although RESTCONF is model-driven, this usage lacks the staged validation and discard capability the requirement specifies. It therefore does not satisfy the transactional constraint.
- ✗
Send CLI commands over an SSH channel using a Python paramiko session and parse the output.
Why it's wrong here
CLI over SSH applies changes directly to the running configuration without model validation or a candidate datastore. There is no transactional rollback if a command is rejected midway, leaving the device in a partially configured state. It cannot provide the pre-commit validation against a data model that the scenario demands.
Go deeper
Related to this question
About these practice questions
One of 975 original 200-901 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Cisco exam blueprint
This 200-901 practice question is part of Courseiva's free Cisco certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 200-901 exam.