Master Network Automation with Python for Network Engineers

Master Network Automation with Python for Network Engineers

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 252 lectures (23h 24m) | 7.90 GB

Real-life hands-on Python and Ansible automation: SSH, Paramiko, Netmiko, Napalm, Telnet, Ansible, Cisco, Linux etc

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!

Welcome 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 2024 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 in the course and you’ll also learn in-depth general Python Programming.

Just starting 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.

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 multi-vendor environment.
  • Learn network programmability with Python, GNS3 and Ansible.
  • Learn and apply advanced Python concepts like Multiprocessing and Threading 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 the 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 multi-vendor 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 or DevOps Engineer.
  • You will learn general Python Programming in depth.
Table of Contents

Course Introduction
1 Why Network Automation with Python Why Now
2 IMPORTANT Please read
3 Quick inside Course Overview
4 IMPORTANT FOR BEGINNERS How to Learn Python Programming
5 Join Our Online Community
6 Getting Course Resources

Setup the Environment Python PyCharm GNS3 Cisco IOU and IOS
7 A Quick Note
8 Download and Install the Required Software
9 Python Installation
10 Installing Python 3 on Windows
11 Installing Python 3 on Linux and Mac
12 Installing PyCharm IDE on Windows
13 Installing PyCharm IDE on Linux and Mac
14 Running Python Scripts using PyCharm
15 Running Python Scripts using the Command Line
16 Where do I get Cisco IOS Juniper vSRX or Arista vEOS Images
17 Installing GNS3 on Windows 10
18 Just a few Words about Windows Installation
19 Running Cisco IOU Images in GNS3 on Windows 10
20 Connecting to Cisco IOU Images Running in GNS3 from Window 10
21 Installing GNS3 and Running Cisco IOU on Linux
22 What if it still doesnt work This is the solution
23 Intro to GitHub Copilot
24 GitHub Copilot A Powerful Tool for Experienced Coders
25 Setting Up GitHub Copilot in PyCharm

Working with Text Files in Python
26 Intro
27 Opening and Reading Files
28 Absolute and Relative Paths
29 Reading Files Tell Seek and Cursors
30 The with Statement
31 Reading Files into a List
32 Writing to Text Files
33 Project File Processing
34 Reading CSV Files
35 Writing CSV Files
36 Using CSV Custom Delimiters
37 Using CSV Dialects
38 Coding Section Working with CSV Files
39 Assignment File Processing
40 Assignment Answer 1 File Processing
41 Assignment Answer 2 CSV Module File Processing

HandsOn Challenges Working With Files
42 HandsOn Challenges Working With Text Files
43 HandsOn Challenges Working With CSV Files

Data Serialization and Deserialization in Python Pickle and JSON
44 Intro to Data Serialization
45 Pickle Data Serialization and Deserialization
46 Coding Pickle
47 JSON Data Serialization
48 JSON Data Deserialization
49 Coding JSON
50 Assignment JSON and RequestsREST API
51 Assignment Answer JSON and RequestsREST API
52 Coding Challenge Simplify Serialization
53 Coding Challenge Solution Simplify Serialization
54 Coding Challenge JSON and RequestsREST API
55 Coding Challenge Solution JSON and RequestsREST API

Network Automation with Paramiko SSH
56 The Lab Environment
57 Intro to Paramiko
58 Extra Enable SSH on Cisco Devices
59 Connecting to Networking Devices using Paramiko
60 Using kwargs and Arguments Unpacking
61 Running Commands on Cisco Devices
62 Securing the Passwords Using getpass
63 Automating the Configuration OSPF of Multiple Cisco Routers
64 Running Commands on Linux Method 1
65 Running Commands on Linux as a Nonprivileged User Method 2
66 Running Commands on Linux as root Method 2
67 Paramiko Refactoring Creating myparamiko Module
68 Running Commands Using myparamiko on Cisco IOS
69 Importing myparamiko Module
70 Backup the Configuration of a Single Cisco Device
71 Automating the Backup Configuration of Multiple Cisco Devices
72 Implementing Multithreading Python and Paramiko
73 Assignment Interactive User Creation on Linux with Paramiko
74 Assignment Answer Interactive User Creation on Linux with Paramiko
75 Secure Copying Files with SCP and Paramiko from Python

HandsOn Challenges Network Automation with Paramiko
76 HandsOn Challenges Paramiko

Network Automation with Netmiko SSH
77 The Lab Environment
78 Intro to Netmiko Netmiko vs Paramiko
79 Connecting and Running a Command on a Networking Devices
80 Netmiko Prompt Enable Global Config Mode
81 Running Multiple Commands on a Networking Device
82 Configuring a Networking Device from a File
83 Configuring Multiple Networking Devices from Multiple Files
84 Automating the Backup of Multiple Cisco Devices Using Netmiko
85 Netmiko Without Multithreading
86 Implementing Multithreading Python and Netmiko
87 Netmiko and Linux
88 Troubleshooting Netmiko
89 Preparing the Router for SCP
90 Copy files to Networking Devices using SCP and Netmiko
91 Assignment Check Interface Status and Enable it if its Disabled
92 Assignment Answer Check Interface Status and Enable it if its Disabled

HandsOn Challenges Network Automation with Netmiko
93 HandsOn Challenges Netmiko

Building Concurrent Applications Using Async IO
94 Python Concurrency Ecosystem
95 Implementing Async IO
96 Coding Implementing Async IO
97 Building an Asynchronous Web Scraper
98 Coding Building an Async Web Scraper
99 Running Shell Commands Subprocesses Asynchronously
100 Coding Running Shell Commands
101 AsyncSSH Asynchronous SSH
102 AsyncSSH Running Multiple Clients
103 Coding AsyncSSH Multiple Clients

Appendix Running Arista vEOS and Juniper vSRX in GNS3
104 How to Run Arista vEOS in GNS3
105 How to Run Juniper vSRX in GNS3
106 Juniper vSRX Basic Configuration
107 Arista vEOS Basic Configuration
108 Configure Arista EOS Switches
109 Netmiko in a Multivendor Environment Cisco Arista Configuration

Network Automation with Napalm
110 Intro to Napalm
111 Installing Napalm Connecting to a Device
112 Displaying Information
113 Retrieving Information facts interfaces arp table etc
114 Checking Connectivity Between Devices napalmping
115 Configuration Management
116 Merging Configurations
117 Configuration Rollback

Network Automation with Telnet
118 Bytes Objects Encoding and Decoding
119 Telnet Protocol Basics Configure and Connect to Cisco Devices
120 Connecting to Network Devices with Telnet from Python
121 Configuring Multiple Devices Network Automation
122 Securing the Passwords Using getpass
123 Telnet Enhancement Refactoring Using Object Oriented Programming
124 Testing the Custom Telnet Class Configure Loopback Interfaces and OSPF
125 Configuring Multiple Devices Using the Custom Telnet Class
126 Improving the Custom Telnet Class

HandsOn Challenges Network Automation with Telnet
127 HandsOn Challenges Telnet

Network Automation Using Serial Connections
128 Serial Communication Basics Connecting to a Console Port
129 Simulating a Serial Connection with Linux and GNS3
130 Open a Serial Connection to a Device Console Port
131 Configure Cisco Devices using Serial Connections
132 Pyserial Refactoring Creating Our Own myserial Module
133 Module Enhancement Initially Configuration of a Cisco Device
134 Initial Configuration Automation From a File

Appendix Useful Python Modules
135 Systemspecific Parameters and Functions The Sys Module
136 Scripts Arguments sysargv
137 Highlevel File Operations The Shutil Module
138 Running System Commands The Os Module
139 Running System Commands The Subprocess Module

Appendix SSH Public Key Authentication Cisco IOS Linux
140 SSH Public Key Authentication Overview
141 Generating SSH Key Pair on Windows
142 What about MacOS
143 Generating SSH Key Pair on Linux
144 Configuring SSH Public Key Authentication on Cisco IOS Part 1 Windows
145 Configuring SSH Public Key Authentication on Cisco IOS Part 2 Linux
146 Configuring SSH Public Key Authentication on Linux

Appendix Ansible Automate for Everyone
147 About This Section
148 What is Ansible
149 Ansible Components
150 Installing Ansible
151 Inventory and ansiblecfg Files
152 Intro to AdHoc Commands
153 AdHoc Commands Part 1 command shell raw Modules
154 AdHoc Commands Part 2 setup file copy Modules
155 AdHoc Commands Part 3 apt and service Modules
156 AdHoc Commands Examples

Appendix Ansible Playbooks
157 YAML Files
158 Ansible Resources
159 Intro to Ansible Playbooks
160 ioscommand Modul
161 Saving Output to a File
162 networkcli vs local Privileged Exec Commands in Playbooks
163 Behavioral Inventory Parameters
164 Behavioral Inventory Parameters in Playbooks and Inventory Files
165 iosconfig Module
166 iosconfig Module parents Argument
167 Backup runningconfig Using iosconfig Module
168 Ansible Loops Create Linux Users
169 Arista eosconfig Module
170 Playbook with Multiple Plays for a Multivendor Topology Cisco Arista
171 Ansible Vault

Python Programming Python Basics
172 Quick Note for Beginners
173 Python Installation
174 Running Python Code in a Cloud IDE
175 SettingUp Virtual Environments with venv
176 Using Virtual Environments in PyCharm and VSCode
177 Variables
178 Comments
179 Constants
180 Dynamic vs Static Typing
181 Builtin Types
182 Numbers and Math Operators
183 Assignment Operators
184 Comparison Operators
185 Identity Operators Mutability vs Immutability

Python Programming Strings in Python
186 Intro to Strings
187 Get User Input
188 Converting Types
189 String Indexing
190 Concatenating and Repeating Strings
191 String Slicing
192 Formatting Strings fstrings
193 Intro to String Methods
194 Useful String Methods

Python Programming Program Flow Control
195 Conditional Statements
196 Indentation
197 Nested ifelifelse Statements
198 Boolean Variables
199 Logical Boolean Operators AND and OR
200 Logical Boolean Operators NOT

Python Programming Python Loops
201 For Loops
202 Debugging Your Code Step Through Your Program
203 Ranges
204 Loops and Ranges
205 For continue and pass Statements
206 For else and break Statements
207 While Loops
208 While and continue Statements
209 While and break Statements
210 Walrus Operator

Python Programming Lists and Tuples in Python
211 Intro to Lists
212 List Concatenation Append and Extend
213 List Slicing and Iteration
214 Python List Gotchas
215 List Methods Part 1 Append Extend Insert Copy Clear Pop Remove
216 List Methods Part 2 Clear Pop Index Count
217 String to List and List to String Split and Join
218 Project Extract IPv4 IPv6 and MAC Addresses
219 Intro to Tuples
220 Tuple Operations
221 Tuple Methods
222 Tuples vs Lists

Python Programming Sets Frozensets and Dictionaries in Python
223 Intro to Sets
224 Set Methods Part 1 Add Remove Discard Pop Clear Copy
225 Set Methods Part 2 Union Intersection Difference Symmetric Difference
226 Fronzensets
227 Intro to Dictionaries
228 Working with Dictionaries
229 Dictionary Operations and Methods Part 1
230 Dictionary Operations and Methods Part 2
231 Dictionary and Set Comprehensions

Python Programming Functions in Python
232 Intro to Functions
233 Positional and Keyword Arguments
234 Default Argument
235 The return Statement
236 Variablelength Arguments args
237 Variablelength Arguments kwargs
238 Scopes and Namespaces
239 One More Word about Scopes and Namespaces
240 Lambda Expressions

Python Programming Errors and Exception Handling
241 Intro to Exceptions
242 Exceptions Handling TryExceptElseFinally
243 Builtin Exceptions and Best Practices
244 Project Test Network Connection

Python Programming Object Oriented Programming Basics
245 Intro to Object Oriented Programming
246 OOP Demonstration The Turtle
247 Defining Classes and Objects
248 The init Method
249 Instance Attributes and Class Attributes
250 Magic Methods

BONUS SECTION
251 Congratulations
252 BONUS THANK YOU GIFT

Homepage