Week 9–10 Tool

Automation Sandbox

Pick a topic from the menu below — the title updates at the top so you always see which module you are on. Each topic includes sample code, syntax breakdown, quizzes, and a mixed exam drill.

Traditional CLI vs controller-based networking

TEXTautomation-workflow.txt
CCNA tip: CCNA tests vocabulary: controller, intent, southbound/northbound — not building a full pipeline.

Sample code

Hover a line to see the syntax note.

1# Traditional: engineer logs into each device
2ssh admin@sw1
3configure terminal
5# Automated: version-controlled playbook/API
6git commit -m 'Add VLAN 30 to access switches'
7ansible-playbook -i inventory vlan30.yml
8show vlan brief # spot-check validation

Line note

Hover a line in the sample code to see what it means.

Syntax breakdown

Controller

Central policy brain — DNA Center, Meraki, WLC. Devices still forward locally.

Intent-based

You declare desired outcome; system figures out device configs.

IaC

Infrastructure as Code — configs in Git with review and rollback.

Drift

When live config diverges from intended template — automation reduces drift.

Key facts

  • Automation complements CLI; CCNA still expects show/debug commands.
  • Bad scripts scale mistakes — test in lab first.
  • Benefits: speed, consistency, audit trail, fewer copy-paste errors.

Exam focus

  • DNA Center / Meraki as controller examples
  • Why automate at scale

Mixed automation exam drill

10 random questions across all topics — REST, JSON, Ansible, Terraform, and APIs.

Syntax Recognition

CCNA automation — identify JSON, YAML, and XML structures used in REST APIs and configuration management.

Score: 0/15Question 1 of 15

JSON

  • Objects use { }
  • Arrays use [ ]
  • Strings use double quotes
  • Key/value pairs use colon
  • Items are separated by commas

YAML

  • Uses indentation
  • Uses key: value
  • Lists use hyphens

XML

  • Uses opening and closing tags
  • Attributes live inside opening tags
JSONObjectBeginner

What JSON structure is shown here?

JSON snippet
{
  "hostname": "R1",
  "enabled": true
}