Course Introduction
  • Why Network Automation with Python? Why Now?
  • IMPORTANT. Please read!
  • Quick inside. Course Overview
  • IMPORTANT FOR BEGINNERS: How to Learn Python Programming
  • How to Get Better and Faster Support? JOIN OUR ONLINE COMMUNITY!
  • Getting Course Resources
  • Quiz for Basic Python Programming
Setup the Environment: Python, PyCharm, GNS3, Cisco IOU and IOS
  • A Quick Note
  • Download and Install the Required Software
  • Installing Python 3 on Windows
  • Installing Python 3 on Linux and Mac
  • Installing PyCharm IDE on Windows
  • Installing PyCharm IDE on Linux and Mac
  • Running Python Scripts using PyCharm
  • Running Python Scripts using the Command Line
  • Where do I get Cisco IOS, Juniper vSRX or Arista vEOS Images
  • Just a few Words about Windows Installation
  • Installing GNS3 on Windows 10
  • Running Cisco IOU Images in GNS3 on Windows 10
  • Connecting to Cisco IOU Images Running in GNS3 from Window 10
  • Installing GNS3 and Running Cisco IOU on Linux
  • What if it still doesn't work?
Working with Text Files in Python
  • Intro
  • Opening and Reading Files
  • Reading Files: Tell, Seek and Cursors
  • The With Keyword
  • Opening and Reading Text Files using seek() and read()
  • Coding Exercise Solution
  • Reading Files into a List
  • Writing to Text Files
  • Reading Files into a List
  • Coding Exercise Solution
  • Writing Text Files
  • Coding Exercise Solution
  • Coding Section - Working with Text Files
  • Quiz for File Processing
  • Reading CSV Files
  • Writing CSV Files
  • Using CSV Custom Delimiters
  • Using CSV Dialects
  • Coding Section - Working with CSV Files
  • Assignment: File Processing
  • Assignment Answer 1: File Processing
  • Assignment Answer 2 (CSV Module): File Processing
Hands-On Challenges - Working With Files
  • Hands-On Challenges - Working With Text Files
  • Hands-On Challenges - Working With CSV Files
Data Serialization and Deserialization in Python (Pickle and JSON)
  • Intro to Data Serialization
  • Pickle Data Serialization and Deserialization
  • Coding - Pickle
  • JSON Data Serialization
  • JSON Data Deserialization
  • Coding - JSON
  • Assignment: JSON and Requests/REST API
  • Assignment Answer: JSON and Requests/REST API
  • Coding Challenge: Simplify Serialization
  • Coding Challenge Solution: Simplify Serialization
  • Coding Challenge - JSON and Requests/REST API
  • Coding Challenge Solution - JSON and Requests/REST API
  • Test Your Knowledge: Data Serialization (JSON & Pickle)
Network Automation with Paramiko (SSH)
  • The Lab Environment
  • Intro to Paramiko
  • Extra: Enable SSH on Cisco Devices
  • Connecting to Networking Devices using Paramiko
  • Using **kwargs and Arguments Unpacking
  • Running Commands on Cisco Devices
  • Securing the Passwords Using getpass
  • Automating the Configuration (OSPF) of Multiple Cisco Routers
  • Running Commands on Linux - Method 1
  • Running Commands on Linux as a Non-privileged User - Method 2
  • Running Commands on Linux as root - Method 2
  • Paramiko Refactoring. Creating myparamiko Module
  • Running Commands Using myparamiko on Cisco IOS
  • Importing myparamiko Module
  • Backup the Configuration of a Single Cisco Device
  • Automating the Backup Configuration of Multiple Cisco Devices
  • Implementing Multithreading (Python and Paramiko)
  • Assignment: Interactive User Creation on Linux with Paramiko
  • Assignment Answer: Interactive User Creation on Linux with Paramiko
  • Quiz for Paramiko
  • Secure Copying Files with SCP and Paramiko from Python
Hands-On Challenges - Network Automation with Paramiko
  • Hands-On Challenges - Paramiko
Network Automation with Netmiko (SSH)
  • The Lab Environment
  • Intro to Netmiko. Netmiko vs. Paramiko
  • Connecting and Running a Command on a Networking Devices
  • Netmiko Prompt. Enable & Global Config Mode
  • Running Multiple Commands on a Networking Device
  • Configuring a Networking Device from a File
  • Configuring Multiple Networking Devices from Multiple Files
  • Automating the Backup of Multiple Cisco Devices Using Netmiko
  • Netmiko Without Multithreading
  • Implementing Multithreading (Python and Netmiko
  • Netmiko and Linux