{"course":{"productid":3204,"modality":6,"active":true,"language":"en","title":"Junos Platform Automation and NetDevOps","productcode":"JAUT","vendorcode":"JP","vendorname":"Juniper Networks","fullproductcode":"JP-JAUT","courseware":{"has_ekit":true,"has_printkit":false,"language":"en"},"url":"https:\/\/portal.flane.ch\/course\/juniper-jaut","objective":"<ul>\n<li>Describe the benefits of network automation<\/li><li>Explain basic principles of DevOps and NRE<\/li><li>Describe different approaches and tools used for Junos Automation<\/li><li>Discuss how templates are used for Junos automation<\/li><li>Understand Jinja2 syntax<\/li><li>Describe various methods Junos PyEZ can use to connect to a Junos device<\/li><li>Execute Junos RPCs using Junos PyEZ<\/li><li>Explain the functionality of various Junos PyEZ utilities<\/li><li>Use Jinja2 templates with Junos PyEZ<\/li><li>Use Junos PyEZ Tables and Views<\/li><li>Securely connect to Junos devices using Ansible<\/li><li>Use advanced Ansible playbook functionality<\/li><li>Work with Ansible variables<\/li><li>Manage Junos device configurations using Jinja2 templates and Ansible<\/li><li>Explain the use of SLAX language with Junos<\/li><li>Understand basic SLAX syntax<\/li><li>Describe SLAX templates, variables, and flow control statements<\/li><li>Understand the Junos function library<\/li><li>Explain the difference between available SLAX versions<\/li><li>Explain how to create and run Junos op scripts<\/li><li>Use SLAX and Python languages to develop op scripts<\/li><li>Use arguments with op scripts<\/li><li>Issue RPCs from op scripts<\/li><li>Change the configuration with op scripts<\/li><li>Describe how commit scripts can be used to make changes to the configuration<\/li><li>Describe how to use commit scripts to generate custom warnings and errors during a commit<\/li><li>Explain how to use SLAX and Python languages to develop commit scripts<\/li><li>Configure and enable commit scripts<\/li><li>Identify Junos OS events<\/li><li>Create Junos OS event policies<\/li><li>Create Junos OS event scripts<\/li><li>Understand the use of Junos OS SNMP scripts<\/li><li>Create and configure Junos OS SNMP scripts<\/li><li>Explain basic Salt architecture<\/li><li>Understand how Junos devices are managed with Salt<\/li><li>Use Junos execution and state modules for Salt<\/li><li>Understand the SLS file format<\/li><li>Describe how JSNAPy can help automate Junos<\/li><li>Install and configure JSNAPy<\/li><li>Use JSNAPy to create snapshots<\/li><li>Use JSNAPy to perform tests<\/li><li>Describe the YANG language features<\/li><li>Understand the syntax of YANG<\/li><li>Explain how YANG is used in Junos OS<\/li><li>Describe the advantages of OpenConfig<\/li><li>Modify the Junos OS configuration using OpenConfig<\/li><li>Describe using OpenConfig with the Junos Telemetry Interface (JTI)<\/li><li>Explain what is JET<\/li><li>Understand the JET Service API<\/li><li>Understand the JET Notification API<\/li><li>List protocols and data formats used with JET<\/li><li>Develop simple JET applications<\/li><li>Understand the Junos Telemetry Interface<\/li><li>Provision Junos Telemetry sensors<\/li><li>Explain the difference between Native and gRPC sensors<\/li><li>Understand Telemetry message formats<\/li><li>Explain the advantages of Contrail HealthBot<\/li><li>Explain the purpose and value of ZTP<\/li><li>Describe the components and operations of ZTP<\/li><li>Deploy a QFX5100 Series switch using ZTP<\/li><li>Setup the JET VM<\/li><li>Create JET Packages<\/li><\/ul>","essentials":"<ul>\n<li>Intermediate-level networking knowledge.<\/li><li>Understanding of the Open SystemsInterconnection (OSI) model and the TCP\/IP protocol suite.<\/li><li>Attendance of the Introduction to <span class=\"cms-link-marked\"><a class=\"fl-href-prod\" href=\"\/swisscom\/en\/course\/juniper-ijaut\"><svg role=\"img\" aria-hidden=\"true\" focusable=\"false\" data-nosnippet class=\"cms-linkmark\"><use xlink:href=\"\/css\/img\/icnset-linkmarks.svg#linkmark\"><\/use><\/svg>Introduction to Junos Platform Automation and NetDevOps <span class=\"fl-prod-pcode\">(IJAUT)<\/span><\/a><\/span> course prior to attending this class.<\/li><\/ul>","audience":"<p>This course benefits individuals responsible for configuring and monitoring devices running the Junos OS.<\/p>","contents":"<ul>\n<li>Course Introduction<\/li><li>Junos Automation Fundamentals<\/li><li>Ansible Intermediate<\/li><li>SLAX<\/li><li>Jinja2<\/li><li>Advanced Junos PyEZ<\/li><li>Junos Op Scripts<\/li><li>Junos Commit Scripts<\/li><li>Junos Event Policies and Event Scripts<\/li><li>Junos SNMP Scripts<\/li><li>JSNAPy<\/li><li>YANG<\/li><li>Juniper Extension Toolkit<\/li><li>Junos Telemetry<\/li><li>Salt<\/li><li>OpenConfig<\/li><li>Appendix: Zero Touch Provisioning<\/li><li>Appendix: Using JET Virtual Machine<\/li><\/ul>","outline":"<h4>Day 1<\/h4><h5>Course Introduction<\/h5><h5>Junos Automation Fundamentals<\/h5><ul>\n<li>Benefits of Automation<\/li><li>DevOps and NRE<\/li><li>Junos Automation Stack<\/li><li>Junos Automation Tools<\/li><li>Introduction to NITA<\/li><\/ul><h5>Jinja2<\/h5><ul>\n<li>Jinja2 Overview<\/li><li>Working with Jinja2 in Python<\/li><li>Jinja2 Syntax<\/li><\/ul><h5>Advanced Junos PyEZ<\/h5><ul>\n<li>Connecting to a Junos Device<\/li><li>Working with RPCs<\/li><li>Junos PyEZ Utilities<\/li><li>Junos PyEZ and Jinja2<\/li><li>Tables and Views<\/li><\/ul><h5>LAB 1: Using Junos PyEZ with Jinja2 Templates<\/h5><h4>Day 2<\/h4><h5>Ansible Intermediate<\/h5><ul>\n<li>Ansible for Junos Review<\/li><li>Securing Device Connection<\/li><li>Playbook Flow Control<\/li><\/ul><h5>LAB 2: Ansible Operations with Junos<\/h5><ul>\n<li>Ansible Variables and Jinja2 Templates<\/li><li>Case Study<\/li><\/ul><h5>LAB 3: Using Ansible for Junos Configuration Management<\/h5><h5>SLAX<\/h5><ul>\n<li>Junos On-Box Automation Overview<\/li><li>Basics of SLAX<\/li><li>SLAX Variables<\/li><li>Flow Control<\/li><li>Junos Function Library<\/li><li>SLAX Versions<\/li><\/ul><h5>Junos Op Scripts<\/h5><ul>\n<li>Junos Op Scripts Using SLAX<\/li><li>Customizing Junos Command Output<\/li><li>Configuration Changes with SLAX Op Scripts<\/li><li>Junos Op Scripts Using Python<\/li><li>Configuration Changes with Python Op Scripts<\/li><li>Op Script Configuration and Debugging<\/li><\/ul><h5>LAB 4: Junos Op Scripts<\/h5><h5>Junos Commit Scripts<\/h5><ul>\n<li>Junos Commit Scripts Overview<\/li><li>Junos Commit Scripts Using SLAX<\/li><li>Junos Commit Scripts Using Python<\/li><li>Custom Configuration Syntax<\/li><li>Commit Script Configuration and Debugging<\/li><\/ul><h5>LAB 5: Junos Commit Scripts<\/h5><h4>Day 3<\/h4><h5>Junos Event Policies and Event Scripts<\/h5><ul>\n<li>Junos OS Events<\/li><li>Event Policies<\/li><li>Event Scripts<\/li><\/ul><h5>LAB 6: Junos Event Policies and Event Scripts<\/h5><h5>Junos SNMP Scripts<\/h5><ul>\n<li>Junos OS SNMP Scripts<\/li><li>Case Study<\/li><\/ul><h5>LAB 7: Junos SNMP Scripts<\/h5><h5>Salt<\/h5><ul>\n<li>Salt Overview<\/li><li>Junos and Salt<\/li><li>Junos Execution Module<\/li><li>Salt States and Junos State Module<\/li><li>Case Studies<\/li><\/ul><h5>LAB 8: Automating Junos with Salt<\/h5><h4>Day 4<\/h4><h5>JSNAPy<\/h5><ul>\n<li>JSNAPy Overview and Installation<\/li><li>Configuration Files<\/li><li>JSNAPy Commands<\/li><li>Test Files<\/li><li>Integration with Other Tools<\/li><\/ul><h5>LAB 9: Using JSNAPy<\/h5><h5>YANG<\/h5><ul>\n<li>YANG Overview<\/li><li>YANG Statements and Syntax<\/li><li>Junos YANG Modules<\/li><li>Custom YANG Modules for Junos<\/li><li>Custom Configuration and Translation Script Example<\/li><li>Custom RPC and Action Script Example<\/li><\/ul><h5>OpenConfig<\/h5><ul>\n<li>OpenConfig Overview<\/li><li>OpenConfig Package<\/li><li>Using OpenConfig<\/li><li>OpenConfig Telemetry<\/li><\/ul><h5>LAB 10: Implementing OpenConfig<\/h5><h4>Day 5<\/h4><h5>Junos Extension Toolkit<\/h5><ul>\n<li>Overview of JET<\/li><li>gRPC and JET IDL Files<\/li><li>JET Service API<\/li><li>JET Notification API<\/li><\/ul><h5>LAB 11: Using JET<\/h5><h5>Junos Telemetry<\/h5><ul>\n<li>Junos Telemetry Overview<\/li><li>Native Sensors for JTI<\/li><li>OpenConfig and gRPC Sensors for JTI<\/li><li>Contrail HealthBot Overview<\/li><li>Contrail HealthBot Rules and Playbooks<\/li><li>Case Study<\/li><\/ul><h5>Lab 12: Using Junos Telemetry<\/h5><h5>Appendix: Zero Touch Provisioning<\/h5><ul>\n<li>Understanding Zero Touch Provisioning<\/li><li>ZTP in Action: A Working Example<\/li><\/ul><h5>Appendix: Using JET Virtual Machine<\/h5><ul>\n<li>Setting Up the JET VM<\/li><li>Creating Signed JET Applications<\/li><\/ul>","summary":"<p>This five-day course provides students with knowledge of how to automate Junos using DevOps automation tools, protocols, and technologies. Students receive hands-on experience with tools and languages relevant to automating the Junos OS platform in a DevOps environment. The course includes introduction to Jinja2 templates, an in-depth discussion of Junos PyEZ library, and detailed explanation of how Ansible, Salt and JSNAPy automation tools are used with Junos. The course introduces students to Junos commit, operation (op), event, and SNMP on-box scripts. Two languages for developing these scripts are discussed: SLAX and Python. The course also explains Juniper Extension Toolkit and related APIs, YANG and OpenConfig. Finally, the course discusses the use of Junos Telemetry Interface and Contrail HealthBot tool, and Junos ZTP feature. Through demonstrations and hands-on labs, students will gain experience in automating the Junos operating system and device operations.<\/p>\n<p>This course uses Junos OS Release 18.3R1, Junos PyEZ 2.2, and Ansible 2.7.<\/p>","objective_plain":"- Describe the benefits of network automation\n- Explain basic principles of DevOps and NRE\n- Describe different approaches and tools used for Junos Automation\n- Discuss how templates are used for Junos automation\n- Understand Jinja2 syntax\n- Describe various methods Junos PyEZ can use to connect to a Junos device\n- Execute Junos RPCs using Junos PyEZ\n- Explain the functionality of various Junos PyEZ utilities\n- Use Jinja2 templates with Junos PyEZ\n- Use Junos PyEZ Tables and Views\n- Securely connect to Junos devices using Ansible\n- Use advanced Ansible playbook functionality\n- Work with Ansible variables\n- Manage Junos device configurations using Jinja2 templates and Ansible\n- Explain the use of SLAX language with Junos\n- Understand basic SLAX syntax\n- Describe SLAX templates, variables, and flow control statements\n- Understand the Junos function library\n- Explain the difference between available SLAX versions\n- Explain how to create and run Junos op scripts\n- Use SLAX and Python languages to develop op scripts\n- Use arguments with op scripts\n- Issue RPCs from op scripts\n- Change the configuration with op scripts\n- Describe how commit scripts can be used to make changes to the configuration\n- Describe how to use commit scripts to generate custom warnings and errors during a commit\n- Explain how to use SLAX and Python languages to develop commit scripts\n- Configure and enable commit scripts\n- Identify Junos OS events\n- Create Junos OS event policies\n- Create Junos OS event scripts\n- Understand the use of Junos OS SNMP scripts\n- Create and configure Junos OS SNMP scripts\n- Explain basic Salt architecture\n- Understand how Junos devices are managed with Salt\n- Use Junos execution and state modules for Salt\n- Understand the SLS file format\n- Describe how JSNAPy can help automate Junos\n- Install and configure JSNAPy\n- Use JSNAPy to create snapshots\n- Use JSNAPy to perform tests\n- Describe the YANG language features\n- Understand the syntax of YANG\n- Explain how YANG is used in Junos OS\n- Describe the advantages of OpenConfig\n- Modify the Junos OS configuration using OpenConfig\n- Describe using OpenConfig with the Junos Telemetry Interface (JTI)\n- Explain what is JET\n- Understand the JET Service API\n- Understand the JET Notification API\n- List protocols and data formats used with JET\n- Develop simple JET applications\n- Understand the Junos Telemetry Interface\n- Provision Junos Telemetry sensors\n- Explain the difference between Native and gRPC sensors\n- Understand Telemetry message formats\n- Explain the advantages of Contrail HealthBot\n- Explain the purpose and value of ZTP\n- Describe the components and operations of ZTP\n- Deploy a QFX5100 Series switch using ZTP\n- Setup the JET VM\n- Create JET Packages","essentials_plain":"- Intermediate-level networking knowledge.\n- Understanding of the Open SystemsInterconnection (OSI) model and the TCP\/IP protocol suite.\n- Attendance of the Introduction to Introduction to Junos Platform Automation and NetDevOps (IJAUT) course prior to attending this class.","audience_plain":"This course benefits individuals responsible for configuring and monitoring devices running the Junos OS.","contents_plain":"- Course Introduction\n- Junos Automation Fundamentals\n- Ansible Intermediate\n- SLAX\n- Jinja2\n- Advanced Junos PyEZ\n- Junos Op Scripts\n- Junos Commit Scripts\n- Junos Event Policies and Event Scripts\n- Junos SNMP Scripts\n- JSNAPy\n- YANG\n- Juniper Extension Toolkit\n- Junos Telemetry\n- Salt\n- OpenConfig\n- Appendix: Zero Touch Provisioning\n- Appendix: Using JET Virtual Machine","outline_plain":"Day 1\n\nCourse Introduction\n\nJunos Automation Fundamentals\n\n\n- Benefits of Automation\n- DevOps and NRE\n- Junos Automation Stack\n- Junos Automation Tools\n- Introduction to NITA\nJinja2\n\n\n- Jinja2 Overview\n- Working with Jinja2 in Python\n- Jinja2 Syntax\nAdvanced Junos PyEZ\n\n\n- Connecting to a Junos Device\n- Working with RPCs\n- Junos PyEZ Utilities\n- Junos PyEZ and Jinja2\n- Tables and Views\nLAB 1: Using Junos PyEZ with Jinja2 Templates\n\nDay 2\n\nAnsible Intermediate\n\n\n- Ansible for Junos Review\n- Securing Device Connection\n- Playbook Flow Control\nLAB 2: Ansible Operations with Junos\n\n\n- Ansible Variables and Jinja2 Templates\n- Case Study\nLAB 3: Using Ansible for Junos Configuration Management\n\nSLAX\n\n\n- Junos On-Box Automation Overview\n- Basics of SLAX\n- SLAX Variables\n- Flow Control\n- Junos Function Library\n- SLAX Versions\nJunos Op Scripts\n\n\n- Junos Op Scripts Using SLAX\n- Customizing Junos Command Output\n- Configuration Changes with SLAX Op Scripts\n- Junos Op Scripts Using Python\n- Configuration Changes with Python Op Scripts\n- Op Script Configuration and Debugging\nLAB 4: Junos Op Scripts\n\nJunos Commit Scripts\n\n\n- Junos Commit Scripts Overview\n- Junos Commit Scripts Using SLAX\n- Junos Commit Scripts Using Python\n- Custom Configuration Syntax\n- Commit Script Configuration and Debugging\nLAB 5: Junos Commit Scripts\n\nDay 3\n\nJunos Event Policies and Event Scripts\n\n\n- Junos OS Events\n- Event Policies\n- Event Scripts\nLAB 6: Junos Event Policies and Event Scripts\n\nJunos SNMP Scripts\n\n\n- Junos OS SNMP Scripts\n- Case Study\nLAB 7: Junos SNMP Scripts\n\nSalt\n\n\n- Salt Overview\n- Junos and Salt\n- Junos Execution Module\n- Salt States and Junos State Module\n- Case Studies\nLAB 8: Automating Junos with Salt\n\nDay 4\n\nJSNAPy\n\n\n- JSNAPy Overview and Installation\n- Configuration Files\n- JSNAPy Commands\n- Test Files\n- Integration with Other Tools\nLAB 9: Using JSNAPy\n\nYANG\n\n\n- YANG Overview\n- YANG Statements and Syntax\n- Junos YANG Modules\n- Custom YANG Modules for Junos\n- Custom Configuration and Translation Script Example\n- Custom RPC and Action Script Example\nOpenConfig\n\n\n- OpenConfig Overview\n- OpenConfig Package\n- Using OpenConfig\n- OpenConfig Telemetry\nLAB 10: Implementing OpenConfig\n\nDay 5\n\nJunos Extension Toolkit\n\n\n- Overview of JET\n- gRPC and JET IDL Files\n- JET Service API\n- JET Notification API\nLAB 11: Using JET\n\nJunos Telemetry\n\n\n- Junos Telemetry Overview\n- Native Sensors for JTI\n- OpenConfig and gRPC Sensors for JTI\n- Contrail HealthBot Overview\n- Contrail HealthBot Rules and Playbooks\n- Case Study\nLab 12: Using Junos Telemetry\n\nAppendix: Zero Touch Provisioning\n\n\n- Understanding Zero Touch Provisioning\n- ZTP in Action: A Working Example\nAppendix: Using JET Virtual Machine\n\n\n- Setting Up the JET VM\n- Creating Signed JET Applications","summary_plain":"This five-day course provides students with knowledge of how to automate Junos using DevOps automation tools, protocols, and technologies. Students receive hands-on experience with tools and languages relevant to automating the Junos OS platform in a DevOps environment. The course includes introduction to Jinja2 templates, an in-depth discussion of Junos PyEZ library, and detailed explanation of how Ansible, Salt and JSNAPy automation tools are used with Junos. The course introduces students to Junos commit, operation (op), event, and SNMP on-box scripts. Two languages for developing these scripts are discussed: SLAX and Python. The course also explains Juniper Extension Toolkit and related APIs, YANG and OpenConfig. Finally, the course discusses the use of Junos Telemetry Interface and Contrail HealthBot tool, and Junos ZTP feature. Through demonstrations and hands-on labs, students will gain experience in automating the Junos operating system and device operations.\n\nThis course uses Junos OS Release 18.3R1, Junos PyEZ 2.2, and Ansible 2.7.","skill_level":"Beginner","version":"17.a","duration":{"unit":"d","value":5,"formatted":"5 days"},"pricelist":{"List Price":{"NL":{"country":"NL","currency":"EUR","taxrate":21,"price":1325},"PA":{"country":"PA","currency":"USD","taxrate":7,"price":1400},"VE":{"country":"VE","currency":"USD","taxrate":null,"price":1400},"P3":{"country":"P3","currency":"USD","taxrate":null,"price":1400},"CR":{"country":"CR","currency":"USD","taxrate":13,"price":1500},"GR":{"country":"GR","currency":"USD","taxrate":null,"price":4750},"MK":{"country":"MK","currency":"USD","taxrate":null,"price":4750},"HU":{"country":"HU","currency":"USD","taxrate":20,"price":4750},"AT":{"country":"AT","currency":"USD","taxrate":20,"price":5000},"AE":{"country":"AE","currency":"USD","taxrate":5,"price":5000},"IL":{"country":"IL","currency":"USD","taxrate":17,"price":5000},"CH":{"country":"CH","currency":"USD","taxrate":8.1,"price":5000},"DE":{"country":"DE","currency":"USD","taxrate":19,"price":5000},"SE":{"country":"SE","currency":"USD","taxrate":25,"price":5000},"GB":{"country":"GB","currency":"USD","taxrate":20,"price":5000},"IT":{"country":"IT","currency":"USD","taxrate":20,"price":5000},"SK":{"country":"SK","currency":"USD","taxrate":null,"price":5000}}},"lastchanged":"2026-02-24T08:47:25+01:00","parenturl":"https:\/\/portal.flane.ch\/swisscom\/en\/json-courses","nexturl_course_schedule":"https:\/\/portal.flane.ch\/swisscom\/en\/json-course-schedule\/3204","source_lang":"en","source":"https:\/\/portal.flane.ch\/swisscom\/en\/json-course\/juniper-jaut"}}