JAUT – Junos Automation


Contact Us

We would love to hear from you. Please complete this form to pre-book or request further information about our delivery options.


I'd like to receive emails with the latest updates and promotions from Insoft.

Data Protection & Privacy

I hereby allow Insoft Ltd. to contact me on this topic. Further, I authorise Insoft Ltd. processing, using collecting and storing my personal data for the purpose of these activities. All your data will be protected and secured as outlined in our privacy policy.

Upcoming Dates

Nov 15 - Nov 19, 2021
09:00 - 17:00

Dec 13 - Dec 17, 2021
09:00 - 17:00

Jan 10 - Jan 14, 2022
09:00 - 17:00

  Feb 14 - Feb 18, 2022
09:00 - 17:00

JAUT – Junos Automation
5 days  (Instructor Led Online)  |  Network Automation

Course Details

The JAUT – Junos Automation is a five-day course provides students with Juno’s scripting knowledge through hands-on script development. The course includes an overview of Extensible Markup Language (XML), Stylesheet Language Alternative Syntax (SLAX), the Junos template and function library, commit scripts, operation (op) scripts, and event scripts. Through demonstrations and hands-on labs, students will gain experience in automating the Junos operating system and device operations. This course is based on the Junos OS Release 11.1R2.3.


Course Level: JAUT is an intermediate-level course.


See other Juniper courses


After successfully completing this course, you should be able to:

  • Describe the benefits of using Junos OS automation
  • Describe the differences between commit, op, and event scripts
  • Describe the format of an XML document
  • Describe how the Junos OS uses XML for commands and configuration
  • Explain how commit, op, and event scripts interact with XML
  • Describe the SLAX script structure
  • Describe SLAX variables and flow control
  • Create and test SLAX scripts
  • Describe the benefits of the Junos extension functions
  • Explain the different Junos extension functions
  • Describe how commit scripts can be used to make changes to the configuration
  • Describe how to use commit scripts to generate custom warnings and errors during a commit
  • Configure and enable commit scripts
  • Describe the use of op scripts
  • Explain how to define arguments and call operational-mode commands
  • Describe how to make configuration changes with op scripts
  • Configure op scripts
  • Describe the usage of event policies and scripts
  • Configure event scripts


Day 1
Chapter 1: Course Introduction
Chapter 2: Junos Automation Overview

  • Why Automate
  • Junos MGD Based Automation
  • Junos JSD Based Automation
  • Automation Languages, Libraries and Frameworks
  • Automation Management Systems
  • Other Junos Automation Tools

Chapter 3: NETCONF and the XML API

  • XML API programming languages
  • XML API tools
  • Lab 1:Exploring the XML API

Chapter 4: YANG

  • YANG Overview
  • YANG Modules
  • YANG Syntax
  • Junos YANG Case Studies
  • Creating and Using Non-Native YANG Modules
  • Lab 2: Using YANG

Chapter 5: Jason and YAML

  • Origins of JSON and YAML
  • Features and benefits
  • JSON and YAML uses in Junos automation
  • Creating well-formed JSON and YAML documents
  • Conversion to and from XML
  • Lab 3: Using JSON and YAML

Day 2
Chapter 6: Python in Junos

  • Python features and benefits
  • Junos support of Python
  • Python requirements and installation
  • Pip and the Python Interactive interface
  • Python modules for Junos
  • Using jxmlease
  • Review of Python syntax
  • Lab 4: Implementing Python in Junos

Chapter 7: Junos Automation Scripting Using Python

  • Overview of Junos operation, commit, event, and SNMP scripts
  • Junos processing of operation, commit, event, and SNMP scripts
  • Use Case – Operation scripts
  • Use Case – Commit scripts
  • Use Case – Event scripts
  • Use Case – SNMP scripts
  • Lab 5: Python Automation Scripts

Chapter 8: Jinja2 Templating Language

  • Overview of Features and benefits of Jinja2
  • Junos support of Jinja2
  • Jinja2 syntax
  • Jinja2 examples in Python
  • Use Case – creating a Jinja2 template
  • Lab 6: Using Jinja2

Day 3
Chapter 9: PyEZ

  • Overview – PyEZ
  • Installing PyEZ
  • Authenticating PyEZ users
  • Use Case – Retrieving facts from devices
  • Use Case – Configuration management
  • Use Case – File system and software upgrades
  • Lab 7: Junos Automation with PyEZ

Chapter 10: OpenConfig and Custom YANG Modules

  • Introduction to OpenConfig and custom YANG modules
  • OpenConfig Implementation
  • Custom YANG Module Implementation
  • Translation Scripts
  • Lab 8: Custom YANG Models

Day 4
Chapter 11: The Junos OS REST API

  • REST Overview
  • The Junos Implementation of REST
  • Tools for working with REST
  • cURL
  • REST API Explorer
  • Use Case – Using the Junos REST API
  • Lab 9: Implementing the Junos REST API

Chapter 12: Junos Extension Toolkit

  • Jet overview and components
  • Ephemeral database
  • Platform independent – JET APIs
  • gPRPC
  • JET application development workflows
  • JET IDE overview
  • Installing the JET IDE and creating projects
  • The JET store
  • Lab 10: JET IDE gRPC, and JET APIs

Day 5
Chapter 13: Using Ansible to Automate Junos

  • Ansible Overview
  • Installing Ansible
  • Creating and executing Ansible playbooks to manage devices running Junos OS
  • Use Case – Using Ansible to configure devices running Junos OS
  • Use Case – Using Ansible to install software on devices running Junos OS
  • Use Case – Using Ansible to reboot or shut down devices running Junos OS
  • Use Case – Using Ansible to revert a device running Junos OS to a factory default configuration
  • Lab 11: Automating Junos with Ansible

Chapter 14: Junos Automation with JSNAP and JSNAPy

  • JSNAPy Overview
  • Installation
  • Integration into Ansible
  • JSNAPy d.Snapcheck, Snapshot, and Diff functions
  • Lab 12: Configuring JSNAPy

Chapter 15: Zero Touch Provisioning

  • ZTP Overview
  • In-band using DHCP, Python
  • Out-of-band, Ansible, Netconify

Appendix A: XSLT

  • Introduction to XSLT
  • Templates
  • Flow Control
  • XSLT Script Structure
  • Additional References

Target Audience

This course benefits IT professionals and Network Engineers who are responsible for configuring and monitoring devices running the Junos OS.


  • Students should have intermediate-level networking knowledge and an understanding of the Open Systems Interconnection (OSI) model and the TCP/IP protocol suite.
  • Students should also have familiarity with a programming language such as C, C++, Perl, or Java.
  • Students should also attend the Introduction to the Junos Operating System (IJOS) and Junos Routing Essentials (JRE) courses prior to attending this class.