This course is offered in the following formats:

  • Live, Instructor-Led Training (schedule)




This course is designed to take you from zero Python experience to deploying your very own tenant in ACI in the span of two days. We'll cover enough of the basics of Python to give you a working understanding of the language – including strings and string formatting, comparison and arithmetic operators, lists and dictionaries, and even for and while loops. Once you’re up to speed on the basics of Python we’ll introduce you to the requests module – the module that makes this class possible! You’ll gather data from a public API all with your very own script. Next you will take a deeper dive into APIs (in particular the API of ACI), what is an API, how does it work, and how you can learn about and discover more about ACI’s API yourself. You’ll then start manipulating JSON or XML data to craft your very own objects (tenants, VRFs, Bridge Domains, etc.), which you will use to deploy to the fabric. Once you’re comfortable with ACI’s API and the structure of it’s objects, we will walk you through a lab to deploy a Bridge Domain – entirely with Python. Finally, once you’ve been equipped with all the tools you’ll need, you’ll have time to begin crafting your “Capstone Script” to deploy an entire tenant, complete with VRFs, Bridge Domains, EPGs, and even contracts if you’re up to!



Minimum class size is required for course to be held. Final determination will be made 2 weeks prior to scheduled class. In the event of class cancelation all registered learners will receive email notification of the cancelation and refund of all charges. Refund is limited to only the course registration fees. Lumos is not liable for any other costs that may have been incurred, including, but, not limited to transportation, lodging, VISAs.

TBD, please contact This email address is being protected from spambots. You need JavaScript enabled to view it. for details   


09:00 – 09:15 Intro
Instructor and student introductions, overview of the class, and any required logistics (restrooms, RFID badges, etc.)
09:30 – 10:00 Introduction to Python
Introduce Python as a language, discuss Python 2 vs Python3 as it pertains to programmable networks, understand where to get Python (if you don’t already have it!), and introduce the Python Interpreter.
10:00 – 10:30 Python Basics
Learn about Variables, Arithmetic and Assignment Operators
10:30 – 10:45 Lab
"Hello (west)World!", and introduction to variables
10:45 – 11:00 Break
11:00 – 11:15 Lab Numbers, Strings, and Lists - Oh My! + Dictionaries
11:15 – 11:30 Lab Dictionaries
11:30 – 12:00 LUNCH
12:00 – 12:30 Conditionals and Loops
Talk about what a conditional is, and the various types of loops you will encounter in Python
12:30 – 12:45 Lab
Conditionals, Looping and Repetition — put into practice what you’ve learnt about conditional and comparative operators as well as “if”, “for”, and “while” loops!
12:45 – 01:15 Input and Output
Learn how you can gather input from users, as well as how and where you can output that data
01:15 – 01:30 Lab
Write your first “full” (not in the interpreter) Python script to handle user input and output information to a file
01:30 – 01:45 Break
01:45 – 02:15 Exception Handling
All code has bugs or runs into issues, learn how we can “handle” those issues as they arise in our Python scripts
02:15 – 02:30 Lab
Exception Handling
02:30 – 03:00 JSON
Understand the basics of the JSON file format, and why it is so useful. This will be critical when we start interacting with our APIs
03:00 – 03:15 Lab
03:15 – 03:30 Break
03:30 – 04:00 Requests
Learn about the silver bullet that makes Python so incredibly powerful at interacting with HTTP APIs.
04:00 – 05:00 Lab
Make an API call to a public API with Python!
09:00 – 09:45 ACI Basics
Learn about the basic objects and structures you’ll need to know about in order to get started programming against ACI. You’ll also get introduced to a handy tool called Postman!
09:45 – 10:15 Lab
Querying ACI
10:15 – 10:30 Break
10:30 – 11:00 ACI Tools Discuss some other tools available for interacting with ACI in a programatic fashion, including the “Save” and “Post” magic buttons!
11:00 – 12:00 Lab APIC GUI Save and Post
12:00 – 12:30 LUNCH
12:30 – 01:00 Lab Deploying with Postman
01:00 – 01:30 Lab
Advanced Postman Functionality
01:30 – 02:30 Lab
Query and Deploy with Python
02:30 – 03:00 What to automate?
Discuss what to do with your new found powers? What are people in the field automating, what can you automate to make your life easier?
03:00 – 04:30 Lab
Capstone” Project
04:30 – 05:00 Review
Review the example “Capstone” script to make sure it is thoroughly understood!
  Demo (if desired/time permits)
Demo two custom built tools for ACI (built by Lumos and open source on Github!)


Go to top