<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE FL_Course SYSTEM "https://www.flane.de/dtd/fl_course095.dtd"><?xml-stylesheet type="text/xsl" href="https://portal.flane.ch/css/xml-course.xsl"?><course productid="3204" language="en" source="https://portal.flane.ch/swisscom/en/xml-course/juniper-jaut" lastchanged="2026-02-24T08:47:25+01:00" parent="https://portal.flane.ch/swisscom/en/xml-courses"><title>Junos Platform Automation and NetDevOps</title><productcode>JAUT</productcode><vendorcode>JP</vendorcode><vendorname>Juniper Networks</vendorname><fullproductcode>JP-JAUT</fullproductcode><version>17.a</version><objective>&lt;ul&gt;
&lt;li&gt;Describe the benefits of network automation&lt;/li&gt;&lt;li&gt;Explain basic principles of DevOps and NRE&lt;/li&gt;&lt;li&gt;Describe different approaches and tools used for Junos Automation&lt;/li&gt;&lt;li&gt;Discuss how templates are used for Junos automation&lt;/li&gt;&lt;li&gt;Understand Jinja2 syntax&lt;/li&gt;&lt;li&gt;Describe various methods Junos PyEZ can use to connect to a Junos device&lt;/li&gt;&lt;li&gt;Execute Junos RPCs using Junos PyEZ&lt;/li&gt;&lt;li&gt;Explain the functionality of various Junos PyEZ utilities&lt;/li&gt;&lt;li&gt;Use Jinja2 templates with Junos PyEZ&lt;/li&gt;&lt;li&gt;Use Junos PyEZ Tables and Views&lt;/li&gt;&lt;li&gt;Securely connect to Junos devices using Ansible&lt;/li&gt;&lt;li&gt;Use advanced Ansible playbook functionality&lt;/li&gt;&lt;li&gt;Work with Ansible variables&lt;/li&gt;&lt;li&gt;Manage Junos device configurations using Jinja2 templates and Ansible&lt;/li&gt;&lt;li&gt;Explain the use of SLAX language with Junos&lt;/li&gt;&lt;li&gt;Understand basic SLAX syntax&lt;/li&gt;&lt;li&gt;Describe SLAX templates, variables, and flow control statements&lt;/li&gt;&lt;li&gt;Understand the Junos function library&lt;/li&gt;&lt;li&gt;Explain the difference between available SLAX versions&lt;/li&gt;&lt;li&gt;Explain how to create and run Junos op scripts&lt;/li&gt;&lt;li&gt;Use SLAX and Python languages to develop op scripts&lt;/li&gt;&lt;li&gt;Use arguments with op scripts&lt;/li&gt;&lt;li&gt;Issue RPCs from op scripts&lt;/li&gt;&lt;li&gt;Change the configuration with op scripts&lt;/li&gt;&lt;li&gt;Describe how commit scripts can be used to make changes to the configuration&lt;/li&gt;&lt;li&gt;Describe how to use commit scripts to generate custom warnings and errors during a commit&lt;/li&gt;&lt;li&gt;Explain how to use SLAX and Python languages to develop commit scripts&lt;/li&gt;&lt;li&gt;Configure and enable commit scripts&lt;/li&gt;&lt;li&gt;Identify Junos OS events&lt;/li&gt;&lt;li&gt;Create Junos OS event policies&lt;/li&gt;&lt;li&gt;Create Junos OS event scripts&lt;/li&gt;&lt;li&gt;Understand the use of Junos OS SNMP scripts&lt;/li&gt;&lt;li&gt;Create and configure Junos OS SNMP scripts&lt;/li&gt;&lt;li&gt;Explain basic Salt architecture&lt;/li&gt;&lt;li&gt;Understand how Junos devices are managed with Salt&lt;/li&gt;&lt;li&gt;Use Junos execution and state modules for Salt&lt;/li&gt;&lt;li&gt;Understand the SLS file format&lt;/li&gt;&lt;li&gt;Describe how JSNAPy can help automate Junos&lt;/li&gt;&lt;li&gt;Install and configure JSNAPy&lt;/li&gt;&lt;li&gt;Use JSNAPy to create snapshots&lt;/li&gt;&lt;li&gt;Use JSNAPy to perform tests&lt;/li&gt;&lt;li&gt;Describe the YANG language features&lt;/li&gt;&lt;li&gt;Understand the syntax of YANG&lt;/li&gt;&lt;li&gt;Explain how YANG is used in Junos OS&lt;/li&gt;&lt;li&gt;Describe the advantages of OpenConfig&lt;/li&gt;&lt;li&gt;Modify the Junos OS configuration using OpenConfig&lt;/li&gt;&lt;li&gt;Describe using OpenConfig with the Junos Telemetry Interface (JTI)&lt;/li&gt;&lt;li&gt;Explain what is JET&lt;/li&gt;&lt;li&gt;Understand the JET Service API&lt;/li&gt;&lt;li&gt;Understand the JET Notification API&lt;/li&gt;&lt;li&gt;List protocols and data formats used with JET&lt;/li&gt;&lt;li&gt;Develop simple JET applications&lt;/li&gt;&lt;li&gt;Understand the Junos Telemetry Interface&lt;/li&gt;&lt;li&gt;Provision Junos Telemetry sensors&lt;/li&gt;&lt;li&gt;Explain the difference between Native and gRPC sensors&lt;/li&gt;&lt;li&gt;Understand Telemetry message formats&lt;/li&gt;&lt;li&gt;Explain the advantages of Contrail HealthBot&lt;/li&gt;&lt;li&gt;Explain the purpose and value of ZTP&lt;/li&gt;&lt;li&gt;Describe the components and operations of ZTP&lt;/li&gt;&lt;li&gt;Deploy a QFX5100 Series switch using ZTP&lt;/li&gt;&lt;li&gt;Setup the JET VM&lt;/li&gt;&lt;li&gt;Create JET Packages&lt;/li&gt;&lt;/ul&gt;</objective><essentials>&lt;ul&gt;
&lt;li&gt;Intermediate-level networking knowledge.&lt;/li&gt;&lt;li&gt;Understanding of the Open SystemsInterconnection (OSI) model and the TCP/IP protocol suite.&lt;/li&gt;&lt;li&gt;Attendance of the Introduction to &lt;span class=&quot;cms-link-marked&quot;&gt;&lt;a class=&quot;fl-href-prod&quot; href=&quot;/swisscom/en/course/juniper-ijaut&quot;&gt;&lt;svg role=&quot;img&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; data-nosnippet class=&quot;cms-linkmark&quot;&gt;&lt;use xlink:href=&quot;/css/img/icnset-linkmarks.svg#linkmark&quot;&gt;&lt;/use&gt;&lt;/svg&gt;Introduction to Junos Platform Automation and NetDevOps &lt;span class=&quot;fl-prod-pcode&quot;&gt;(IJAUT)&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; course prior to attending this class.&lt;/li&gt;&lt;/ul&gt;</essentials><audience>&lt;p&gt;This course benefits individuals responsible for configuring and monitoring devices running the Junos OS.&lt;/p&gt;</audience><contents>&lt;ul&gt;
&lt;li&gt;Course Introduction&lt;/li&gt;&lt;li&gt;Junos Automation Fundamentals&lt;/li&gt;&lt;li&gt;Ansible Intermediate&lt;/li&gt;&lt;li&gt;SLAX&lt;/li&gt;&lt;li&gt;Jinja2&lt;/li&gt;&lt;li&gt;Advanced Junos PyEZ&lt;/li&gt;&lt;li&gt;Junos Op Scripts&lt;/li&gt;&lt;li&gt;Junos Commit Scripts&lt;/li&gt;&lt;li&gt;Junos Event Policies and Event Scripts&lt;/li&gt;&lt;li&gt;Junos SNMP Scripts&lt;/li&gt;&lt;li&gt;JSNAPy&lt;/li&gt;&lt;li&gt;YANG&lt;/li&gt;&lt;li&gt;Juniper Extension Toolkit&lt;/li&gt;&lt;li&gt;Junos Telemetry&lt;/li&gt;&lt;li&gt;Salt&lt;/li&gt;&lt;li&gt;OpenConfig&lt;/li&gt;&lt;li&gt;Appendix: Zero Touch Provisioning&lt;/li&gt;&lt;li&gt;Appendix: Using JET Virtual Machine&lt;/li&gt;&lt;/ul&gt;</contents><outline>&lt;h4&gt;Day 1&lt;/h4&gt;&lt;h5&gt;Course Introduction&lt;/h5&gt;&lt;h5&gt;Junos Automation Fundamentals&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Benefits of Automation&lt;/li&gt;&lt;li&gt;DevOps and NRE&lt;/li&gt;&lt;li&gt;Junos Automation Stack&lt;/li&gt;&lt;li&gt;Junos Automation Tools&lt;/li&gt;&lt;li&gt;Introduction to NITA&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Jinja2&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Jinja2 Overview&lt;/li&gt;&lt;li&gt;Working with Jinja2 in Python&lt;/li&gt;&lt;li&gt;Jinja2 Syntax&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Advanced Junos PyEZ&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Connecting to a Junos Device&lt;/li&gt;&lt;li&gt;Working with RPCs&lt;/li&gt;&lt;li&gt;Junos PyEZ Utilities&lt;/li&gt;&lt;li&gt;Junos PyEZ and Jinja2&lt;/li&gt;&lt;li&gt;Tables and Views&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;LAB 1: Using Junos PyEZ with Jinja2 Templates&lt;/h5&gt;&lt;h4&gt;Day 2&lt;/h4&gt;&lt;h5&gt;Ansible Intermediate&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Ansible for Junos Review&lt;/li&gt;&lt;li&gt;Securing Device Connection&lt;/li&gt;&lt;li&gt;Playbook Flow Control&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;LAB 2: Ansible Operations with Junos&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Ansible Variables and Jinja2 Templates&lt;/li&gt;&lt;li&gt;Case Study&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;LAB 3: Using Ansible for Junos Configuration Management&lt;/h5&gt;&lt;h5&gt;SLAX&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Junos On-Box Automation Overview&lt;/li&gt;&lt;li&gt;Basics of SLAX&lt;/li&gt;&lt;li&gt;SLAX Variables&lt;/li&gt;&lt;li&gt;Flow Control&lt;/li&gt;&lt;li&gt;Junos Function Library&lt;/li&gt;&lt;li&gt;SLAX Versions&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Junos Op Scripts&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Junos Op Scripts Using SLAX&lt;/li&gt;&lt;li&gt;Customizing Junos Command Output&lt;/li&gt;&lt;li&gt;Configuration Changes with SLAX Op Scripts&lt;/li&gt;&lt;li&gt;Junos Op Scripts Using Python&lt;/li&gt;&lt;li&gt;Configuration Changes with Python Op Scripts&lt;/li&gt;&lt;li&gt;Op Script Configuration and Debugging&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;LAB 4: Junos Op Scripts&lt;/h5&gt;&lt;h5&gt;Junos Commit Scripts&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Junos Commit Scripts Overview&lt;/li&gt;&lt;li&gt;Junos Commit Scripts Using SLAX&lt;/li&gt;&lt;li&gt;Junos Commit Scripts Using Python&lt;/li&gt;&lt;li&gt;Custom Configuration Syntax&lt;/li&gt;&lt;li&gt;Commit Script Configuration and Debugging&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;LAB 5: Junos Commit Scripts&lt;/h5&gt;&lt;h4&gt;Day 3&lt;/h4&gt;&lt;h5&gt;Junos Event Policies and Event Scripts&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Junos OS Events&lt;/li&gt;&lt;li&gt;Event Policies&lt;/li&gt;&lt;li&gt;Event Scripts&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;LAB 6: Junos Event Policies and Event Scripts&lt;/h5&gt;&lt;h5&gt;Junos SNMP Scripts&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Junos OS SNMP Scripts&lt;/li&gt;&lt;li&gt;Case Study&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;LAB 7: Junos SNMP Scripts&lt;/h5&gt;&lt;h5&gt;Salt&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Salt Overview&lt;/li&gt;&lt;li&gt;Junos and Salt&lt;/li&gt;&lt;li&gt;Junos Execution Module&lt;/li&gt;&lt;li&gt;Salt States and Junos State Module&lt;/li&gt;&lt;li&gt;Case Studies&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;LAB 8: Automating Junos with Salt&lt;/h5&gt;&lt;h4&gt;Day 4&lt;/h4&gt;&lt;h5&gt;JSNAPy&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;JSNAPy Overview and Installation&lt;/li&gt;&lt;li&gt;Configuration Files&lt;/li&gt;&lt;li&gt;JSNAPy Commands&lt;/li&gt;&lt;li&gt;Test Files&lt;/li&gt;&lt;li&gt;Integration with Other Tools&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;LAB 9: Using JSNAPy&lt;/h5&gt;&lt;h5&gt;YANG&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;YANG Overview&lt;/li&gt;&lt;li&gt;YANG Statements and Syntax&lt;/li&gt;&lt;li&gt;Junos YANG Modules&lt;/li&gt;&lt;li&gt;Custom YANG Modules for Junos&lt;/li&gt;&lt;li&gt;Custom Configuration and Translation Script Example&lt;/li&gt;&lt;li&gt;Custom RPC and Action Script Example&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;OpenConfig&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;OpenConfig Overview&lt;/li&gt;&lt;li&gt;OpenConfig Package&lt;/li&gt;&lt;li&gt;Using OpenConfig&lt;/li&gt;&lt;li&gt;OpenConfig Telemetry&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;LAB 10: Implementing OpenConfig&lt;/h5&gt;&lt;h4&gt;Day 5&lt;/h4&gt;&lt;h5&gt;Junos Extension Toolkit&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Overview of JET&lt;/li&gt;&lt;li&gt;gRPC and JET IDL Files&lt;/li&gt;&lt;li&gt;JET Service API&lt;/li&gt;&lt;li&gt;JET Notification API&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;LAB 11: Using JET&lt;/h5&gt;&lt;h5&gt;Junos Telemetry&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Junos Telemetry Overview&lt;/li&gt;&lt;li&gt;Native Sensors for JTI&lt;/li&gt;&lt;li&gt;OpenConfig and gRPC Sensors for JTI&lt;/li&gt;&lt;li&gt;Contrail HealthBot Overview&lt;/li&gt;&lt;li&gt;Contrail HealthBot Rules and Playbooks&lt;/li&gt;&lt;li&gt;Case Study&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Lab 12: Using Junos Telemetry&lt;/h5&gt;&lt;h5&gt;Appendix: Zero Touch Provisioning&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Understanding Zero Touch Provisioning&lt;/li&gt;&lt;li&gt;ZTP in Action: A Working Example&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Appendix: Using JET Virtual Machine&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Setting Up the JET VM&lt;/li&gt;&lt;li&gt;Creating Signed JET Applications&lt;/li&gt;&lt;/ul&gt;</outline><objective_plain>- Describe the benefits of network automation
- Explain basic principles of DevOps and NRE
- Describe different approaches and tools used for Junos Automation
- Discuss how templates are used for Junos automation
- Understand Jinja2 syntax
- Describe various methods Junos PyEZ can use to connect to a Junos device
- Execute Junos RPCs using Junos PyEZ
- Explain the functionality of various Junos PyEZ utilities
- Use Jinja2 templates with Junos PyEZ
- Use Junos PyEZ Tables and Views
- Securely connect to Junos devices using Ansible
- Use advanced Ansible playbook functionality
- Work with Ansible variables
- Manage Junos device configurations using Jinja2 templates and Ansible
- Explain the use of SLAX language with Junos
- Understand basic SLAX syntax
- Describe SLAX templates, variables, and flow control statements
- Understand the Junos function library
- Explain the difference between available SLAX versions
- Explain how to create and run Junos op scripts
- Use SLAX and Python languages to develop op scripts
- Use arguments with op scripts
- Issue RPCs from op scripts
- Change the configuration with op scripts
- 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
- Explain how to use SLAX and Python languages to develop commit scripts
- Configure and enable commit scripts
- Identify Junos OS events
- Create Junos OS event policies
- Create Junos OS event scripts
- Understand the use of Junos OS SNMP scripts
- Create and configure Junos OS SNMP scripts
- Explain basic Salt architecture
- Understand how Junos devices are managed with Salt
- Use Junos execution and state modules for Salt
- Understand the SLS file format
- Describe how JSNAPy can help automate Junos
- Install and configure JSNAPy
- Use JSNAPy to create snapshots
- Use JSNAPy to perform tests
- Describe the YANG language features
- Understand the syntax of YANG
- Explain how YANG is used in Junos OS
- Describe the advantages of OpenConfig
- Modify the Junos OS configuration using OpenConfig
- Describe using OpenConfig with the Junos Telemetry Interface (JTI)
- Explain what is JET
- Understand the JET Service API
- Understand the JET Notification API
- List protocols and data formats used with JET
- Develop simple JET applications
- Understand the Junos Telemetry Interface
- Provision Junos Telemetry sensors
- Explain the difference between Native and gRPC sensors
- Understand Telemetry message formats
- Explain the advantages of Contrail HealthBot
- Explain the purpose and value of ZTP
- Describe the components and operations of ZTP
- Deploy a QFX5100 Series switch using ZTP
- Setup the JET VM
- Create JET Packages</objective_plain><essentials_plain>- Intermediate-level networking knowledge.
- Understanding of the Open SystemsInterconnection (OSI) model and the TCP/IP protocol suite.
- Attendance of the Introduction to Introduction to Junos Platform Automation and NetDevOps (IJAUT) course prior to attending this class.</essentials_plain><audience_plain>This course benefits individuals responsible for configuring and monitoring devices running the Junos OS.</audience_plain><contents_plain>- Course Introduction
- Junos Automation Fundamentals
- Ansible Intermediate
- SLAX
- Jinja2
- Advanced Junos PyEZ
- Junos Op Scripts
- Junos Commit Scripts
- Junos Event Policies and Event Scripts
- Junos SNMP Scripts
- JSNAPy
- YANG
- Juniper Extension Toolkit
- Junos Telemetry
- Salt
- OpenConfig
- Appendix: Zero Touch Provisioning
- Appendix: Using JET Virtual Machine</contents_plain><outline_plain>Day 1

Course Introduction

Junos Automation Fundamentals


- Benefits of Automation
- DevOps and NRE
- Junos Automation Stack
- Junos Automation Tools
- Introduction to NITA
Jinja2


- Jinja2 Overview
- Working with Jinja2 in Python
- Jinja2 Syntax
Advanced Junos PyEZ


- Connecting to a Junos Device
- Working with RPCs
- Junos PyEZ Utilities
- Junos PyEZ and Jinja2
- Tables and Views
LAB 1: Using Junos PyEZ with Jinja2 Templates

Day 2

Ansible Intermediate


- Ansible for Junos Review
- Securing Device Connection
- Playbook Flow Control
LAB 2: Ansible Operations with Junos


- Ansible Variables and Jinja2 Templates
- Case Study
LAB 3: Using Ansible for Junos Configuration Management

SLAX


- Junos On-Box Automation Overview
- Basics of SLAX
- SLAX Variables
- Flow Control
- Junos Function Library
- SLAX Versions
Junos Op Scripts


- Junos Op Scripts Using SLAX
- Customizing Junos Command Output
- Configuration Changes with SLAX Op Scripts
- Junos Op Scripts Using Python
- Configuration Changes with Python Op Scripts
- Op Script Configuration and Debugging
LAB 4: Junos Op Scripts

Junos Commit Scripts


- Junos Commit Scripts Overview
- Junos Commit Scripts Using SLAX
- Junos Commit Scripts Using Python
- Custom Configuration Syntax
- Commit Script Configuration and Debugging
LAB 5: Junos Commit Scripts

Day 3

Junos Event Policies and Event Scripts


- Junos OS Events
- Event Policies
- Event Scripts
LAB 6: Junos Event Policies and Event Scripts

Junos SNMP Scripts


- Junos OS SNMP Scripts
- Case Study
LAB 7: Junos SNMP Scripts

Salt


- Salt Overview
- Junos and Salt
- Junos Execution Module
- Salt States and Junos State Module
- Case Studies
LAB 8: Automating Junos with Salt

Day 4

JSNAPy


- JSNAPy Overview and Installation
- Configuration Files
- JSNAPy Commands
- Test Files
- Integration with Other Tools
LAB 9: Using JSNAPy

YANG


- YANG Overview
- YANG Statements and Syntax
- Junos YANG Modules
- Custom YANG Modules for Junos
- Custom Configuration and Translation Script Example
- Custom RPC and Action Script Example
OpenConfig


- OpenConfig Overview
- OpenConfig Package
- Using OpenConfig
- OpenConfig Telemetry
LAB 10: Implementing OpenConfig

Day 5

Junos Extension Toolkit


- Overview of JET
- gRPC and JET IDL Files
- JET Service API
- JET Notification API
LAB 11: Using JET

Junos Telemetry


- Junos Telemetry Overview
- Native Sensors for JTI
- OpenConfig and gRPC Sensors for JTI
- Contrail HealthBot Overview
- Contrail HealthBot Rules and Playbooks
- Case Study
Lab 12: Using Junos Telemetry

Appendix: Zero Touch Provisioning


- Understanding Zero Touch Provisioning
- ZTP in Action: A Working Example
Appendix: Using JET Virtual Machine


- Setting Up the JET VM
- Creating Signed JET Applications</outline_plain><duration unit="d" days="5">5 days</duration><pricelist><price country="NL" currency="EUR">1325.00</price><price country="PA" currency="USD">1400.00</price><price country="VE" currency="USD">1400.00</price><price country="P3" currency="USD">1400.00</price><price country="CR" currency="USD">1500.00</price><price country="GR" currency="USD">4750.00</price><price country="MK" currency="USD">4750.00</price><price country="HU" currency="USD">4750.00</price><price country="AT" currency="USD">5000.00</price><price country="AE" currency="USD">5000.00</price><price country="IL" currency="USD">5000.00</price><price country="CH" currency="USD">5000.00</price><price country="DE" currency="USD">5000.00</price><price country="SE" currency="USD">5000.00</price><price country="GB" currency="USD">5000.00</price><price country="IT" currency="USD">5000.00</price><price country="SK" currency="USD">5000.00</price></pricelist><miles><milesvalue country="DE" vendorcurrency="JTC" vendorcurrencyname="Juniper Training Credits">4750.00</milesvalue></miles></course>