O'Reilly logo

Network Programmability and Automation by Jason Edelman, Matt Oswalt, Scott S. Lowe

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 7. Working with Network APIs

From Python and data formats to configuration templating with Jinja, we’ve explored key foundational technologies and skills that will make you a better network engineer. In this chapter, we’re going to put these skills to practical use and start to consume and communicate to different types of network device APIs.

In order to best help you understand how to start automating networks, this chapter is organized into three sections:

Understanding Network APIs

We examine the architecture and foundation of different APIs, including RESTful HTTP-based APIs, non-RESTful HTTP-based APIs, and NETCONF.

Exploring Network APIs

We introduce tools commonly used for testing and learning how to use each API type.

Automating Using Network APIs

Finally, we look at Python libraries that allow you to start automating your networks. We’ll look at the Python requests library for consuming HTTP-based APIs, ncclient for interacting with NETCONF devices, and netmiko for automating devices using SSH.

As you read this chapter, please keep in mind one thing—this chapter is not a comprehensive guide on any particular API, and it should not serve as API documentation. We will provide examples using different vendor implementations of a given API, as it’s very common to be working in a multi-vendor environment. It’s also important to see the common patterns and unique contrasts between different implementations of the same API type.

Understanding Network APIs

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required