Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Master Network Automation With Python For Network Engineers (updated 10/2022)

Posted By: ELK1nG
Master Network Automation With Python For Network Engineers (updated 10/2022)

Master Network Automation With Python For Network Engineers
Last updated 10/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 7.22 GB | Duration: 20h 9m

Real-Life Hands-On Python and Ansible Automation: Netmiko, Paramiko, Napalm, Telnet, Ansible, Cisco, Arista, Linux etc

What you'll learn
You will MASTER all the Python 3 key concepts starting from Scratch. No prior Python or programming knowledge is required
Learn how to automate the configuration of networking devices with Python 3 in a Multivendor Environment
Learn network programmability with Python, GNS3 and Ansible
Learn and apply advanced Python concepts like Multiprocessing and Multithreading in Network Automation
See real-world examples of automation scripts with Python for Cisco IOS, Arista EOS or Linux
Understand how to use Telnet and SSH with Python for network automation
Learn how to use and improve Paramiko and Netmiko for automation of common administration tasks with Python
Automate and troubleshoot network configurations with Ansible
You will be able to use Ansible, manage Ansible Inventory files, Tasks, Modules for Linux and networking devices, Playbooks, Vaults and YAML Files
Use NAPALM Python library in a Multivendor Environment
Learn how to configure networking devices with Python using a Serial Console Connection
Improve the existing Python modules and create your own modules for network automation
You will ultimately gain real-life skills for a good Network of DevOps Engineer
You will learn in-depth general Python Programming
Requirements
No prior Python knowledge is required. There is a general Python Programming section included.
Basic Knowledge of Networking Concepts (TCP/IP Stack, Cisco CCENT or CCNA Level)
A Linux, Mac or Windows Machine with an Internet Connection and at least 4GB of RAM
No paid software required. Only free software will be used: Python3, PyCharm, GNS3, VirtualBox, Linux, etc
Cisco IOS Images should be acquired by the student (from Cisco's official website - contract required) to run into GNS3 or practice all the concepts on real Cisco devices
Basic Knowledge of GNS3 and how to run Cisco Images, although I'll provide the necessary setup information inside the course
Description
***Fully updated for 2022*** This Network Automation with Python course also covers every major General Python Programming topic and is a perfect match for both beginners and experienced developers!Course Updates:Update: November 2021 - Updates to be 2022 readyUpdate: September 2020 - Manual Captions (Subtitles) in English addedUpdate: June 2020 - NEW Section: Async IO in Python (async/await, aiohttp, aiofiles, asyncssh)Update: May 2020 - Network Automation with Telnet re-recorded entirelyUpdate: April 2020 - Network Automation with Netmiko (SSH) re-recorded entirelyUpdate: March 2020 - Network Automation with Paramiko (SSH) re-recorded entirelyUpdate: April and May 2020 - Tens of NEW Coding Challenges with Solutions for real-world network automation tasksUpdate: October 2019 - NEW Section: Data Serialization and Deserialization in Python (Pickle, JSON, and REST APIs)Update: June 2019 - NEW Sections on General Python Programming: Strings, Lists, Tuples, Sets, Dictionaries, Functions, Flow Control, Working with Files, and many moreWelcome to this Python hands-on course for learning Network Automation and Programmability with Python in a Cisco or Multivendor Environment, taught by a DevOps Engineer and Professional Trainer.Boost your Python Network Programming Skills by learning one of the hottest topics in the Networking Industry in 2022 and become one of the best Network Engineers!This course is based on Python 3 and doesn't require prior Python Programming knowledge. Everything is included within the course and you'll also learn in-depth general Python Programming.Just starting out with Python Programming, Network Automation, or Network Programming using Python and have the desire to learn the future of Network Programmability in a practical way? Perfect. Then, this course is the right one for you. You'll boost your career with hands-on Network Programming Skills!Or maybe you've already tried to learn Network Automation with Python by yourself and now you want to put all pieces together? I'm here to help you, this course has everything you need to know to automate network configurations with Python.Most examples in this course are for Cisco IOS, but they can also be used in a multivendor environment (Juniper, Arista, HP, Linux) with no or little changes. This is a vendor-neutral course and teaches you Python from scratch.You'll have lifetime access and you can return and look for a specific Python library or example anytime you want. And let's not forget, if you don't like the course, you are covered by a 30-day money-back guarantee, full refund, no questions asked!You'll have access to all Slides and Python Scripts (ready to be used) from this course.TESTIMONIALS★★★★★ "This course was much better than I expected. It's high-quality Python Programming in the area of network automation and the instructor is really experienced. Thank you!" by Joseph Heinrich★★★★★ "Wow! This is an amazing course on network automation and python. It goes directly to the point. The Netmiko section is the best. I'm just waiting to test this at my work. Thank you!" by D. Schmidt★★★★★ "This is without doubts the best course on Network Automation with Python out there!" by Muhammad AliThere are many courses on Python Programming and Network Automation or Network Programming with Python. Why should you learn from me?I'm a Practitioner and an Enthusiast. Welcome to the real world! I have almost 20 years of experience as a Network Engineer and Programmer. Since I've started with Networking, Linux Systems, and Programming, I've been using or studying technology almost on a daily basis. I also have a bunch of Cisco certifications: CCNP Routing & Switching, CCNP Security, CCNP Service Provider, Cisco Certified Instructor, etcI'm an Educator and I know how to make a Syllabus. For the last 10 years, I've trained thousands of people on Linux, Networking, Security, Ethical Hacking, or Programming.You'll learn not only Network Automation but also general Python Programming. After this course, you'll MASTER all the Python 3 key concepts.The topics covered in this Python Network Programming course are:Working with Files in Python (text, csv, json, yaml)Data Serialization and Deserialization (Pickle and JSON)Bytes and String Objects in Python 3. Encoding, DecodingAdvanced Python Concepts: Multiprocessing and Multithreading with real-life examplesThe standard Telnet Python Library. How to create your own Class based on telnetlib to simply the configuration automationParamiko Library. How to use SSH to automate the configuration of Cisco, Linux, or other DevicesHow to create your own Python module based on Paramiko to simplify the development workNetmiko. Automate the configuration of Cisco, Arista, and Linux using NetmikoNetmiko best-practices and real-life examples for backup configuration of multiple devicesBuilding Concurrent Applications using Async IO (async/await, aiohttp, aiofiles, asyncssh)The NAPALM Library - Network Automation and Programmability Abstraction Layer with Multivendor supportHow to use NAPALM to retrieve information about devices and protocols and manage the devices’ configurationWhat is Ansible and what are its components: Modules, Tasks, Plays, Playbooks, etcHow to execute Ad-Hoc commands against networking devices and servers using AnsibleAnsible modules: command, shell, raw, copy, file, apt, service, ios_command, ios_config etcHow to use create and run Ansible Playbooks against Networking Devices (Cisco, Arista, etc) and Linux ServersAnsible VaultAutomation of networking devices configuration through a serial connection. Pyserial Python moduleImprovement of pyserial moduleHow to set up the Python Development Environment: PyCharm, GNS3, Cisco IOS, Arista vEOS, Juniper vSRXArista vEOS installation in GNS3 and basic configurationJuniper vSRX installation in GNS3 and basic configurationThe topics covered in the General Python Programming sections are:VariablesOperatorsBuilt-in TypesStrings in PythonLists in PythonTuples in PythonSets and Frozensets in PythonDictionaries in PythonFlow ControlUser-defined FunctionsErrors and Exception HandlingOOP (Object Oriented Programming)Every topic includes many live examples in Python. This course will show you the best practices for developing production-ready Python Networking Automation Scripts for Cisco and Multivendor Environments.

Overview

Section 1: Course Introduction

Lecture 1 Why Network Automation with Python? Why Now?

Lecture 2 IMPORTANT. Please read!

Lecture 3 Quick inside. Course Overview

Lecture 4 IMPORTANT FOR BEGINNERS: How to Learn Python Programming

Lecture 5 Join Our Online Community!

Lecture 6 Getting Course Resources

Section 2: Setup the Environment: Python, PyCharm, GNS3, Cisco IOU and IOS

Lecture 7 A Quick Note

Lecture 8 Download and Install the Required Software

Lecture 9 Installing Python 3 on Windows

Lecture 10 Installing Python 3 on Linux and Mac

Lecture 11 Installing PyCharm IDE on Windows

Lecture 12 Installing PyCharm IDE on Linux and Mac

Lecture 13 Running Python Scripts using PyCharm

Lecture 14 Running Python Scripts using the Command Line

Lecture 15 Where do I get Cisco IOS, Juniper vSRX or Arista vEOS Images

Lecture 16 Just a few Words about Windows Installation

Lecture 17 Installing GNS3 on Windows 10

Lecture 18 Running Cisco IOU Images in GNS3 on Windows 10

Lecture 19 Connecting to Cisco IOU Images Running in GNS3 from Window 10

Lecture 20 Installing GNS3 and Running Cisco IOU on Linux

Lecture 21 What if it still doesn't work?

Section 3: Working with Text Files in Python

Lecture 22 Intro

Lecture 23 Opening and Reading Files

Lecture 24 Reading Files: Tell, Seek and Cursors

Lecture 25 The With Keyword

Lecture 26 Coding Exercise Solution

Lecture 27 Reading Files into a List

Lecture 28 Writing to Text Files

Lecture 29 Coding Exercise Solution

Lecture 30 Coding Exercise Solution

Lecture 31 Coding Section - Working with Text Files

Lecture 32 Reading CSV Files

Lecture 33 Writing CSV Files

Lecture 34 Using CSV Custom Delimiters

Lecture 35 Using CSV Dialects

Lecture 36 Coding Section - Working with CSV Files

Lecture 37 Assignment: File Processing

Lecture 38 Assignment Answer 1: File Processing

Lecture 39 Assignment Answer 2 (CSV Module): File Processing

Section 4: Hands-On Challenges - Working With Files

Lecture 40 Hands-On Challenges - Working With Text Files

Lecture 41 Hands-On Challenges - Working With CSV Files

Section 5: Data Serialization and Deserialization in Python (Pickle and JSON)

Lecture 42 Intro to Data Serialization

Lecture 43 Pickle Data Serialization and Deserialization

Lecture 44 Coding - Pickle

Lecture 45 JSON Data Serialization

Lecture 46 JSON Data Deserialization

Lecture 47 Coding - JSON

Lecture 48 Assignment: JSON and Requests/REST API

Lecture 49 Assignment Answer: JSON and Requests/REST API

Lecture 50 Coding Challenge: Simplify Serialization

Lecture 51 Coding Challenge Solution: Simplify Serialization

Lecture 52 Coding Challenge - JSON and Requests/REST API

Lecture 53 Coding Challenge Solution - JSON and Requests/REST API

Section 6: Network Automation with Paramiko (SSH)

Lecture 54 The Lab Environment

Lecture 55 Intro to Paramiko

Lecture 56 Extra: Enable SSH on Cisco Devices

Lecture 57 Connecting to Networking Devices using Paramiko

Lecture 58 Using **kwargs and Arguments Unpacking

Lecture 59 Running Commands on Cisco Devices

Lecture 60 Securing the Passwords Using getpass

Lecture 61 Automating the Configuration (OSPF) of Multiple Cisco Routers

Lecture 62 Running Commands on Linux - Method 1

Lecture 63 Running Commands on Linux as a Non-privileged User - Method 2

Lecture 64 Running Commands on Linux as root - Method 2

Lecture 65 Paramiko Refactoring. Creating myparamiko Module

Lecture 66 Running Commands Using myparamiko on Cisco IOS

Lecture 67 Importing myparamiko Module

Lecture 68 Backup the Configuration of a Single Cisco Device

Lecture 69 Automating the Backup Configuration of Multiple Cisco Devices

Lecture 70 Implementing Multithreading (Python and Paramiko)

Lecture 71 Assignment: Interactive User Creation on Linux with Paramiko

Lecture 72 Assignment Answer: Interactive User Creation on Linux with Paramiko

Lecture 73 Secure Copying Files with SCP and Paramiko from Python

Section 7: Hands-On Challenges - Network Automation with Paramiko

Lecture 74 Hands-On Challenges - Paramiko

Section 8: Network Automation with Netmiko (SSH)

Lecture 75 The Lab Environment

Lecture 76 Intro to Netmiko. Netmiko vs. Paramiko

Lecture 77 Connecting and Running a Command on a Networking Devices

Lecture 78 Netmiko Prompt. Enable & Global Config Mode

Lecture 79 Running Multiple Commands on a Networking Device

Lecture 80 Configuring a Networking Device from a File

Lecture 81 Configuring Multiple Networking Devices from Multiple Files

Lecture 82 Automating the Backup of Multiple Cisco Devices Using Netmiko

Lecture 83 Netmiko Without Multithreading

Lecture 84 Implementing Multithreading (Python and Netmiko

Lecture 85 Netmiko and Linux

Lecture 86 Troubleshooting Netmiko

Lecture 87 Preparing the Router for SCP

Lecture 88 Copy files to Networking Devices using SCP and Netmiko

Lecture 89 Assignment: Check Interface Status and Enable it if it's Disabled

Lecture 90 Assignment Answer: Check Interface Status and Enable it if it's Disabled

Section 9: Hands-On Challenges - Network Automation with Netmiko

Lecture 91 Hands-On Challenges - Netmiko

Section 10: Building Concurrent Applications Using Async IO

Lecture 92 Python Concurrency Ecosystem

Lecture 93 Implementing Async IO

Lecture 94 Coding - Implementing Async IO

Lecture 95 Building an Asynchronous Web Scraper

Lecture 96 Coding - Building an Async Web Scraper

Lecture 97 Running Shell Commands (Subprocesses) Asynchronously

Lecture 98 Coding - Running Shell Commands

Lecture 99 AsyncSSH: Asynchronous SSH

Lecture 100 AsyncSSH: Running Multiple Clients

Lecture 101 Coding - AsyncSSH (Multiple Clients)

Section 11: [Extra] - Running Arista vEOS and Juniper vSRX in GNS3

Lecture 102 How to Run Arista vEOS in GNS3

Lecture 103 How to Run Juniper vSRX in GNS3

Lecture 104 Juniper vSRX Basic Configuration

Lecture 105 Arista vEOS Basic Configuration

Lecture 106 Configure Arista EOS Switches

Lecture 107 Netmiko in a Multivendor Environment: Cisco & Arista Configuration

Section 12: Network Automation with Napalm

Lecture 108 Intro to Napalm

Lecture 109 Installing Napalm. Connecting to a Device

Lecture 110 Displaying Information

Lecture 111 Retrieving Information (facts, interfaces, arp table etc)

Lecture 112 Checking Connectivity Between Devices (napalm_ping)

Lecture 113 Configuration Management

Lecture 114 Merging Configurations

Lecture 115 Configuration Rollback

Section 13: Network Automation with Telnet

Lecture 116 Bytes Objects, Encoding and Decoding

Lecture 117 Telnet Protocol Basics. Configure and Connect to Cisco Devices

Lecture 118 Connecting to Network Devices with Telnet from Python

Lecture 119 Configuring Multiple Devices (Network Automation)

Lecture 120 Securing the Passwords Using getpass

Lecture 121 Telnet Enhancement (Refactoring) Using Object Oriented Programming

Lecture 122 Testing the Custom Telnet Class. Configure Loopback Interfaces and OSPF

Lecture 123 Configuring Multiple Devices Using the Custom Telnet Class

Lecture 124 Improving the Custom Telnet Class

Section 14: Hands-On Challenges - Network Automation with Telnet

Lecture 125 Hands-On Challenges - Telnet

Section 15: Network Automation Using Serial Connections

Lecture 126 Serial Communication Basics. Connecting to a Console Port

Lecture 127 Simulating a Serial Connection with Linux and GNS3

Lecture 128 Open a Serial Connection to a Device Console Port

Lecture 129 Configure Cisco Devices using Serial Connections

Lecture 130 Pyserial Refactoring. Creating Our Own myserial Module

Lecture 131 Module Enhancement. Initially Configuration of a Cisco Device

Lecture 132 Initial Configuration Automation From a File

Section 16: Useful Python Modules

Lecture 133 High-level File Operations: The Shutil Module

Lecture 134 Running System Commands: The Os Module

Lecture 135 Running System Commands: The Subprocess Module

Section 17: [Extra] - SSH Public Key Authentication (Cisco IOS & Linux)

Lecture 136 SSH Public Key Authentication Overview

Lecture 137 Generating SSH Key Pair on Windows

Lecture 138 What about MacOS?

Lecture 139 Generating SSH Key Pair on Linux

Lecture 140 Configuring SSH Public Key Authentication on Cisco IOS - Part 1 [Windows]

Lecture 141 Configuring SSH Public Key Authentication on Cisco IOS - Part 2 [Linux]

Lecture 142 Configuring SSH Public Key Authentication on Linux

Section 18: [Extra] - Ansible - Automate for Everyone

Lecture 143 About This Section

Lecture 144 What is Ansible

Lecture 145 Ansible Components

Lecture 146 Installing Ansible

Lecture 147 Inventory and ansible.cfg Files

Lecture 148 Intro to Ad-Hoc Commands

Lecture 149 Ad-Hoc Commands Part 1: command, shell, raw Modules

Lecture 150 Ad-Hoc Commands Part 2: setup, file, copy Modules

Lecture 151 Ad-Hoc Commands Part 3: apt and service Modules

Lecture 152 Ad-Hoc Commands Examples

Section 19: [Extra] - Ansible Playbooks

Lecture 153 YAML Files

Lecture 154 Ansible Resources

Lecture 155 Intro to Ansible Playbooks

Lecture 156 ios_command Modul

Lecture 157 Saving Output to a File

Lecture 158 network_cli vs local. Privileged Exec Commands in Playbooks

Lecture 159 Behavioral Inventory Parameters

Lecture 160 Behavioral Inventory Parameters in Playbooks and Inventory Files

Lecture 161 ios_config Module

Lecture 162 ios_config Module parents Argument

Lecture 163 Backup running-config Using ios_config Module

Lecture 164 Ansible Loops: Create Linux Users

Lecture 165 Arista eos_config Module

Lecture 166 Playbook with Multiple Plays for a Multivendor Topology (Cisco & Arista)

Lecture 167 Ansible Vault

Section 20: [Python Programming] - Python Basics

Lecture 168 Quick Note for Beginners

Lecture 169 Variables

Lecture 170 Constants

Lecture 171 Comments

Lecture 172 Dynamic vs. Static Typing

Lecture 173 Built-in Types

Lecture 174 Numbers and Math Operators

Lecture 175 Comparison and Identity Operators. Mutability vs. Immutability

Lecture 176 Boolean Variables

Lecture 177 Boolean Operators

Lecture 178 Coding - Python Basics

Section 21: [Python Programming] - Strings in Python

Lecture 179 Intro to Strings

Lecture 180 Get User Input

Lecture 181 Type Casting

Lecture 182 String Indexing and Operations

Lecture 183 String Slicing

Lecture 184 String Formatting (F-Strings)

Lecture 185 Recap - Printing Strings

Lecture 186 String Methods

Lecture 187 Coding - Strings in Python

Section 22: [Python Programming] - Program Flow Control

Lecture 188 If Elif and Else Statements

Lecture 189 For Loops

Lecture 190 Ranges In-depth

Lecture 191 For and Continue Statement

Lecture 192 For and Break Statement

Lecture 193 While Loops

Lecture 194 While and continue Statement

Lecture 195 While and break Statement

Lecture 196 Coding - Program Flow Control

Section 23: [Python Programming] - Lists and Tuples in Python

Lecture 197 Intro to Lists

Lecture 198 List Operations

Lecture 199 List Methods Part 1: Append, Extend, Insert, Copy

Lecture 200 List Methods Part 2: Clear, Pop, Index, Count

Lecture 201 List Methods Part 3: Sort, Max, Min and Sum

Lecture 202 Coding - Lists in Python

Lecture 203 Intro to Tuples

Lecture 204 Tuple Operations

Lecture 205 Tuple Methods

Lecture 206 Tuples vs. Lists

Lecture 207 Coding - Tuples in Python

Section 24: [Python Programming] - Sets, Frozensets and Dictionaries in Python

Lecture 208 Intro to Sets

Lecture 209 Set Methods Part 1: Add, Clear, Copy, Remove, Discard, Pop

Lecture 210 Set Methods Part 2: Difference, Symmetric Difference, Union, Intersection

Lecture 211 Fronzensets

Lecture 212 Coding - Sets and Frozensets in Python

Lecture 213 Intro to Dictionaries

Lecture 214 Working with Dictionaries

Lecture 215 Dictionary Operations and Methods

Lecture 216 Coding - Dictionaries in Python

Section 25: [Python Programming] - Functions in Python

Lecture 217 Intro to Functions

Lecture 218 The return Keyword

Lecture 219 Functions Arguments: Positional, Default, Keyword, *args and **kwargs

Lecture 220 Scopes and Namespaces

Lecture 221 Lambda Expressions

Lecture 222 Coding - Functions and Lambda Expressions in Python

Lecture 223 The Special Constant None

Section 26: [Python Programming] -Errors and Exception Handling

Lecture 224 Intro to Exceptions

Lecture 225 Exception Handling: Try…Except…Else…Finally

Lecture 226 Coding - Errors and Exception Handling

Section 27: [Python Programming] - Object Oriented Programming Basics

Lecture 227 Intro to Object Oriented Programming

Lecture 228 Defining Classes and Objects

Lecture 229 The __init__ Method

Lecture 230 Instance Attributes and Class Attributes

Lecture 231 Magic Methods

Section 28: Course Completion

Lecture 232 Congratulations

Lecture 233 BONUS

Network Engineers,Network Architects,SysAdmins,DevOps Engineers,Cisco Certified Professionals: CCNA, CCNP, CCIE,Anyone interested in Network Automation and Network Programmability with Python