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
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.