200-301 - Automation and Programmability - Section 6.6

Recognise the capabilities of configuration management mechanisms, including Ansible and Terraform.

Recognise how configuration management tools push a desired-state, idempotent configuration to many devices instead of hand-editing each, and that the v1.1 outline centres on agentless Ansible (playbooks over SSH) and Terraform (declarative infrastructure as code). Distinguish their roles: Ansible for device configuration and orchestration, Terraform for provisioning and managing infrastructure state.

Configuration managementAnsible playbooksTerraformIdempotencyInfrastructure as code

Practice question for this objective

Free sampleAutomation and Programmabilitymedium

A team is choosing a configuration management tool to enforce device state across hundreds of routers. They specifically want an agentless tool that connects over SSH and describes the desired state in YAML playbooks. Which tool matches these characteristics?

  • AA tool that requires a persistent agent on every router and uses a custom Ruby-based domain-specific language
  • BTerraform, which uses HashiCorp Configuration Language to provision and manage infrastructure declaratively
  • CAnsible, which is agentless, pushes configuration over SSH, and defines tasks in YAML playbooks Correct
  • DA pull-based tool where each router runs a local agent that periodically fetches its catalogue from a central master
Ansible is agentless, pushes changes over SSH, and uses YAML playbooks to describe desired device state. Ansible needs no software agent installed on managed nodes, connecting over SSH from a control machine and applying tasks written as YAML playbooks, which is why it fits an agentless, SSH-driven, YAML-based requirement.

Why A is wrong: This describes the agent-based, DSL-driven model of retired tools rather than an agentless YAML tool, so it fails the agentless and YAML requirements.

Why B is wrong: Terraform is declarative and infrastructure-focused, but it uses HCL rather than YAML playbooks and is aimed at provisioning resources, so it does not match the YAML-over-SSH description.

Why C is correct: Ansible runs without a persistent device agent, drives changes over SSH from a control node, and expresses desired state in YAML playbooks, matching every requirement.

Why D is wrong: A periodic pull model with a local agent on every device is the opposite of the agentless push approach the team asked for.

See more 200-301 practice questions, answers explained.

More in this domain

Back to all Automation and Programmability objectives, or the 200-301 cert hub.

Examworthy is not affiliated with or endorsed by Cisco. Original, blueprint-aligned practice material only.