Introducing Automation for Cisco Solutions (CSAU) v1

January 14, 2022

CiscoNetwork AutomationProgrammabilityCSAU

Course Details

  • Duration: 2 days
  • Start Date: January 13, 2022
  • End Date: January 14, 2022
  • Level: Intermediate
  • Lab Environment: Cisco Remote Labs

Course Overview

Through lectures and labs, this course teaches automation fundamentals using protocols such as RESTCONF and NETCONF. It also covers data formats including XML, JSON, YAML, and YANG, how they are used in network automation, and DevOps tools such as Git and Ansible.

This course provides the prerequisite skills for CCNP-level automation courses (ENAUI, DCACI, SAUI, CLAUI, SPAUI) and related exams.

Learning Objectives

Upon completing this course, you will be able to:

  • Understand the role of a network automation development environment and related technologies such as Python virtual environments, Vagrant, and Docker
  • Understand and create HTTP-based API calls to network devices
  • Explain use cases for XML, JSON, and YAML
  • Understand YANG’s role in network automation
  • Describe RESTCONF and NETCONF capabilities and their differences
  • Create scripts with the Python requests module to automate devices that expose HTTP APIs
  • Create Ansible playbooks to configure network devices and collect operational data

Course Modules

Module 01: Network Management and Operations

Module 02: Software Development Methodologies

Module 03: Network Automation with Python

Module 04: NetDevOps: DevOps for Networking

Module 05: Managing Automation Development Environments

Module 06: Introduction to HTTP Network APIs

Module 07: Data Formats and Data Encoding

Module 08: HTTP-Based APIs with Python Requests

Module 09: YANG

Module 10: Using YANG Tools

Module 11: Model-Driven API Automation with Python

Module 12: Network Automation with Ansible

Module 13: Configuration Templating with Jinja2

Labs / Exercises

Software and Hardware

Cisco-provided remote labs

Exercise / Demo Content

  1. Using network automation scripts
  2. Python fundamentals
  3. Network automation with Netmiko
  4. Using Git version control
  5. Building reproducible automation environments
  6. Using HTTP-based APIs with Postman
  7. Inspecting YAML and JSON data
  8. Using HTTP-based APIs with Python Requests
  9. YANG tools
  10. Exploring RESTCONF with Python
  11. Exploring NETCONF with Python
  12. Configuring network devices with Ansible
  13. Collecting network data with Ansible
  14. Building and deploying configurations with Ansible