Data Formats for Network Automation

Unlock course
cover

Overview

Structured data sits at the heart of every network automation workflow. Whether you are pulling operational state from a REST API, defining your source of truth in an Ansible inventory, or configuring a device over NETCONF, you are working with JSON, YAML, or XML.

This course takes you through each of the three formats in turn, covering where each one is used, the data types it supports, how to validate it, and how to work with it in Python and in the tools you already use day-to-day.

In this course, you will learn:

  • Why data is the foundation of network automation, and the difference between structured and unstructured data.
  • The most popular data format choices and when each one is the right fit.
  • The JSON data types, common network automation use-cases, and how to validate JSON with JSON Schema.
  • How to read, write, and manipulate JSON in Python, and how to work with JSON returned from a REST API.
  • The YAML data types, along with anchors, aliases, and multi-line strings.
  • How to validate YAML, and how YAML is used within Ansible and pyATS.
  • The XML data types, along with namespaces, attributes, and other advanced constructs.
  • How to validate XML using DTD and XML Schema, and how to parse XML in Python with XPath.
  • How XML underpins NETCONF, and what device RPCs and replies look like on the wire.
David Gethings
David Gethings
Network Automation Trainer

Course Contents

1 lesson
1min

5 lessons
48min

6 lessons
43min

1 lesson
6min

At a Glance

Content
21 Lessons
Labs
0 Labs
Level
Beginner
Duration
2hr 32min