
Section 1 Introduction & Basics of Python
Introduction
Let's Learn Python
Python Conceptual Hierarchy
Python Data types Strings
Python Data type Number
Pythyon Strings inbuilt functions
Python Conditions
Python Lists
Python Dictionaries
Python Loops For Loop
Python Loops While Loop
Python Fuctions
Python Working with Files
Section 2 Python Basic Network Automation
Learn how to telnet Network Device
Loopback _ Eigrp Configuration
Create Vlan to Switch
Telnet to Multiple devices _ Vlan config 01
Telnet to Multiple devices _ Vlan config 02
Create 10 Vlans with Loop Condition
Take the Backup of Networking Devices
SSH via Netmiko
Do the SSH via Netmiko
Add more Commands via Netmiko
SSH to Multiple Devices
Run Bulk Commands via SSH
Explore how Python powers network automation with an easy, open-source interpreter, including installation, inline and script execution, and using IDEs to run scripts across Linux and other operating systems.
Explore the Python conceptual hierarchy, focusing on dynamic typing, objects, and types, with examples from Python 3, and preview strings, lists, dictionaries, and booleans.
Explore how to set up and use a Python virtual environment to manage multiple versions and dependencies. Clone projects, install requirements, and run Python programs within the isolated environment.
Learn Python data types with a focus on strings, including IP addresses and hostnames, and apply string methods such as upper, lower, replace, and split.
Explore python data types for numbers, including integers and decimals, perform arithmetic operations like division and absolute value, and practice boolean logic with and, or, not.
Explore Python strings inbuilt functions like upper, split, and replace through practical examples. Learn to handle quotes, build lists, and print results for text processing tasks.
Explore Python conditions by using equal, not equal, greater than, and less than comparisons, print within if, elif, and else branches, with proper indentation for networking device scripts.
Explore Python lists as ordered collections used to model networking devices, with indexing from zero or negative, and practice list operations like append, insert, pop, extend, count, and sort.
Learn how Python dictionaries store key-value pairs in an unordered, mutable structure. Create dictionaries with curly braces, print contents, and use update, pop, get, keys, values, and items.
Explore for loops and iteration in dnac automation, using inventory with IP addresses to print device types and apply conditions that trim whitespace and handle repeated tasks.
Learn to define and call your own functions, reuse code with blocks and subroutines, pass arguments, and use inbuilt functions and return values to manage lists and device data.
Download and install the required software, set up VirtualBox as the hypervisor, import the GNS3 VM, configure host-only adapters, assign IPs, and begin learning network automation with scripts.
Continue with lab setup over GNS3 Part 02, configure VirtualBox, local and remote servers, templates, and Docker to build a Cisco network automation lab with switches and routers.
Build a basic lab using a laptop or cloud resources, configure a switch, assign IP addresses, and test connectivity with an automation tool.
Install and verify Python in the lab environment, update repositories, and install Python and pip along with essential plugins to enable lab automation tasks.
Use an automation tool to create two loopbacks, assign IP addresses, and enable the ERP protocol, then save and run the program to verify the configuration remotely.
Show how to create VLANs on a switch with an automation tool, configure VLANs 10 and 20 with IP addresses, and verify reachability via ping.
Learn to perform telnet to multiple devices for vlan config using an automation program, handling for loops and nested if statements, proper indentation, and login credentials.
Learn how to create 10 VLANs efficiently using a for loop and range in Cisco DNAC automation, wiring topology, and validating configurations.
Automate backing up network device configurations with a script, reading the inventory, capturing the running config, and saving the backup outputs for troubleshooting and restoration.
Explore secure device access with ssh via Netmiko, replacing insecure methods and enabling automated command execution across Cisco and other vendor platforms.
Expand a DSH lab by adding more clients and automating interface configuration with Netmiko, including assigning IP addresses, subnets, and loopback interfaces, and printing outputs.
Learn to ssh into multiple switches using a reusable Python script, manage a switch inventory, and apply vlan configurations across devices with loops, connections, and conditions.
Load a bulk configuration file into the automation engine and push it to switches via ssh. Create a device config, parse lines, and apply interface and gateway settings.
Begin the ai automation course with day 1 of 25, focusing on ai tools and ai automation to kickstart practical learning.
Learn advanced AI automation concepts for network engineers, covering Python basics, REST API, data formats (JSON, XML, YAML), templates (Jinja, Velocity), and vendor-neutral tools like NetBox and Autobot.
Explore model driven programming with data models and llms while learning Python basics: variables, data types, and f-strings through hands-on Cursor labs and cloud options.
Explore python basics with lists and dictionaries, conditionals and loops, def functions, parameters and arguments, f-strings, and setup of virtual environments and packages.
Explore day 2 of the 25-day course on ai automation using ai tools, module 1 of 5.
Explore Python basics and beyond, covering strings, if-else, loops, and functions, plus how to create and activate virtual environments to support day two workflows across PowerShell, CMD, Bash, and WSL.
Learn to set up and activate Windows WSL virtual environments, install packages with pip and a requirements.txt file, and use netmiko, paramiko, YAML, and requests for device access and API calls.
Master virtual environments, test packaging, and guardrails for safe configuration changes. Build argument-based Python CLIs with argument parsers and learn parsing of logs and data structures.
Explore day 3 of 25, 1 of 5, in the ABC of AI automation using AI tools course, focusing on using AI tools to automate tasks and build automation skills.
Explore restful API concepts and http methods (GET, POST, PUT, PATCH, DELETE) with JSON payloads, status codes, and authentication, illustrated via Postman and SD-WAN vManage automation.
Explore how to fetch device lists from vManage using GET, POST, PUT, PATCH, and DELETE, with token-based authentication via headers and environment variables.
Learn to generate and use api tokens to fetch device list via api calls, filtering for device id, host name, and status, and export as json for python automation.
Build an sd-wan api client that logs in to obtain a token, fetches the device list, and outputs selected fields in csv or json, with an argument parser.
Demonstrate loading a yaml inventory with python, installing pyyaml, and crafting json payloads for api calls, then build hub-and-spoke policies from vmanage to vsmart.
Learn to generate and deploy a Cisco SD-WAN spoke policy with a Python script, including login, token handling, site and VPN lists, JSON payloads, and policy activation.
Master the fundamentals of yaml and xml as you progress through day 5 of 25 in the abc of ai automation using ai tools course.
Load day five's inventory.yaml, run a Python script using netmiko to pull clock and iOS version from Catalyst 8k and 9k devices.
learn to automate network access with yaml, xml, and json inventories using python scripts, login to catalyst 8k and nexus 9k, run show clock and show version, and handle authentication.
Explore Jinja templates in isp environments, including Cisco DNAC, and note velocity templates for device configuration; import EVE-NG lab devices to Nautobot.
Build and troubleshoot a hands-on automation lab that backs up devices, refines login patterns, and tunes timeouts for netmiko, napalm ios, delnet, and ssh.
Learn how Jinja templates simplify Cisco sd-wan configuration by separating data from configuration text using variables and a context file for multiple devices.
Learn to build Jinja2 templates for ACLs and SNMP, push configurations via Nautobot in an EVE-NG lab, and troubleshoot BGP.
Explore how Jinja templates drive device configuration in Cisco SD-WAN, building feature templates and device templates to generate and push validated configurations across VPNs, QoS, and policies.
Learn to create and render jinja2 templates to generate device configurations. Push these configurations to devices with a Python script using argparse, getpass, and netmiko, and use dry-run option.
Advance through day 8 of 25 in the ABC of AI automation using AI tools course, part 1 of 5.
Cover day 7 and 8: build an xr.login python workflow with a jinja2 template to log into an xr device and run commands via an argument parser.
Render iOS XR configurations with Jinja templates guided by a values.yaml file. Create a .exe that loads YAML values, renders the config, and pushes it to devices.
Explore practical ai automation concepts using ai tools in a structured five-part series, with day9_25 - 1of5 as the opening module of the abc of ai automation course.
Learn advanced Jinja templates with variables to generate device configurations, package multiple Python scripts into a single executable, and use yaml files for branch-specific settings in sd-wan.
Convert Python projects to standalone executables with PyInstaller, packaging code with YAML inputs and templates. Learn to run via CLI and supply YAML to configure the installer.
Create and run a dot exe file from the software, locate distribution files xrexe and config.exe, and use login.exe to ssh into ios xr, juniper, and Cisco devices with netmiko.
Demonstrates generating device configurations with a single exe and yaml input using xr-config, showing login, host name, and yaml-driven values to produce configs for branch engineers.
Explore Jinja basics and macros to create reusable templates for network configurations. Build and deploy script templates using NetConf, NAPALM, and BGP automation within a CCI lab.
Create and apply CLI macros as reusable templates for interface configurations. Automate macro generation with Python scripts and Jinja templates with variables.
Configure at scale using Jinja macros, templates, and a YAML variable file, with a Python script to dry run, inventory, validate, render, review, and apply configurations.
Explore NetMiko, a multi-vendor Python library built on Paramiko for SSH connections to network devices. Learn to configure devices, run commands, and parse output for enterprise automation.
Discover how ping and VRF-based management interfaces determine reachability versus access to a device. Explore secure remote login with SSH, Telnet, and Netmiko's simplified, multi-ventor API for configuration management.
Learn to apply regular expressions in networking, log into devices with Netmiko, run show commands like show clock and show users, manage sessions, handle timeouts, and debug IP/TCP packets.
Log in to devices via SSH using NetMiko and other network automation libraries, execute commands, parse outputs, and create multi-vendor ACL configurations from lab scripts.
Use a netmiko-based Python script to log into a device, read config.txt, build and push the configuration, and verify the output while noting potential timeouts and acl issues.
Configure device with an access control list (ACL), verify with show IP access list, enable CDP and LLDP, and create a log parser to extract output from a log file.
Build a Python logparser using regex and syslog parsing to extract timestamp, facility, severity, name, and message, and enable multi-vendor ACL config support for Cisco, Juniper, and Avaya.
Explore the basics of the API for Cisco DNAC, log into DNA, explore DNA APIs, and integrate them with Python through life examples, templates, and enterprise automation.
Connect the DNA Center with an open platform using RESTful APIs to enable ITSM, security monitoring, and third-party integrations, and learn API calls and intent-based features via the development toolkit.
Explore the DNA API documentation, enable and verify REST APIs, and use the developer toolkit to learn authentication, network site management, connectivity, operation, and policy within EPA.
Learn to automate Cisco DNA Center data with Python programs that check client IPs, locate devices and interfaces, and generate network and inventory CSV reports via APIs and authentication tokens.
Explore how to retrieve and print the full network device list from Cisco DNA Center, handling authentication and pagination, and generate CSP reports with device details.
Fetch license information from Cisco DNA Center APIs, filter licenses in use, and print device details such as hostname, device type, and serial number for reporting.
Discover how to locate a wired or wireless client by IP or Mac address using the Get IP Client Info and Mac address tools in dnac automation for precise troubleshooting.
Explore the switchboard inventory program, collecting license, hostname, device type, and serial number. Extend it to include port and interface details for comprehensive switch information.
Identify out-of-sync and non-compliant devices by comparing running and startup configurations with DNA Center APIs and config archives, and learn to apply template-based corrections.
Use the template runner to create and verify templates within a project, push configurations to devices via API calls, and validate deployment status and hostnames.
Explore the Cisco DNA Center life cycle app, retrieve device data, security advisories, and hardware and software end-of-life insights, and trigger ServiceNow events via built-in API.
Compare traditional networks with software defined networking, featuring a centralized control plane and fabric. Leverage DNA Center APIs, template-based automation, and device discovery for management, configuration, and troubleshooting.
Explore how Cisco DNA center uses a RESTful API to integrate internet-based infrastructure with an open platform, enabling third-party apps, intent-based networking, and system health insights.
Navigate the dna api ecosystem by enabling the rest api, consulting the epa documentation, and using the developer toolkit to execute api calls for authentication, site management, and policy tasks.
Generate an authentication token for the dnac api by posting to the token endpoint, producing a jwt token used by subsequent api calls in Cisco sandboxes and private labs.
Cisco DNA Center enables multivendor management by downloading third-party SDKs to provision, monitor, and command non-Cisco devices such as HP and Juniper, with discovery, inventory, topology, and assurance features.
Learn to use site APIs in Cisco DNA Center: count and list sites, view details, and create or delete sites via post requests and scripts, with dashboard verification.
Install the DNA Center SDK, import APIs, and run the backup program to list devices and save configuration backups in a sandbox folder; generate a CSP file report.
Explore templated API usage in DNAC automation by using a script to create a project and a basics template, then push to multiple devices.
Explore troubleshooting with DNA Center assurance APIs to assess client, network, and security health and map hop-by-hop ingress and egress interfaces using scripts and the GUI.
No more box-by-box configuration and deployment. Using intent-based policy, Cisco DNA automation capabilities transform previously manual onboarding, configuration, provisioning, and software management processes to simplify and scale network operations and greatly minimize configuration errors.
Features and benefits
Cisco DNA automation replaces manual chores with a more agile and effective process based on four sets of capabilities: visibility, intent, deployment, and management.
Visibility
Automatically discover devices to get end-to-end network visibility and a network inventory.
Intent
Define how you intend your network to work, and translate that intent into automation.
Deployment
No more guessing about configurations. Simply plug in a network device to onboard it automatically.
Management
Help ensure end-to-end network consistency and performance with the right software image management for every device.
Components of Cisco DNA automation
Cisco DNA software
Help enable continuous innovation through software updates. Choose from three licensing tiers for your access points, switches, and routers.
Cisco DNA Center
Manage automation and assurance for your entire network from a central dashboard.
Cisco DNA infrastructure
Deploy Cisco software-programmable access points, switches, routers, and other devices to help enable automation capabilities.
Cisco services
Get more from your intent-based network with Cisco Customer Experience services.
Cisco DevNet
Learn how to extend automation across the enterprise via open APIs.
Cisco DNA Center security
Integrate with Cisco security solutions such as Umbrella, Stealthwatch, firewalls, and wIPS.