[Contents] [Prev] [Next] [Index] [Report an Error]

Table of Contents

About This Guide
Objectives
Audience
Supported Routing Platforms
Using the Indexes
Using the Examples in This Manual
Documentation Conventions
List of Technical Publications
Documentation Feedback
Requesting Technical Support
Overview
Overview of Configuration and Diagnostic Automation
Commit Scripts
Automation Scripts
Comparing Commit Scripts and Automation Scripts
Event Policies
Scripts and Event Policy Configuration Statements
Any Hierarchy Level
[edit event-options] Hierarchy Level
[edit system scripts] Hierarchy Level
Introduction to the JUNOS XML and JUNOScript APIs
About XML
XML and JUNOScript Tag Elements
Document Type Definition
Advantages of Using the JUNOScript and JUNOS XML APIs
Overview of a JUNOScript Session
Understanding XSLT
XPath
Templates
Unnamed Templates
Named Templates
Parameters
Variables
Programming Instructions
<xsl:choose>
<xsl:for-each select="xpath-expression">
<xsl:if test="xpath-expression">
Recursion
Context (Dot)
Summary of XPath and XSLT Functions, Elements, Attributes, and Templates
XPath and XSLT Functions Shown in This Manual
concat()
contains()
count()
last()
name()
not()
position()
starts-with()
string-length()
substring-after()
substring-before()
XSLT Elements and Attributes Shown in This Manual
JUNOS Extension Functions
jcs:break-lines()
jcs:empty()
jcs:first-of()
jcs:hostname()
jcs:invoke()
jcs:output()
jcs:printf()
jcs:progress()
jcs:regex()
jcs:sleep()
jcs:sysctl()
jcs:trace()
JUNOS Named Templates
Understanding SLAX
Overview
How SLAX Works
Manually Converting SLAX to XSLT and XSLT to SLAX
Statements
for-each Statement
if, else if, and else Statements
match Statement
ns Statement
version Statement
Elements
Expressions
Variables and Parameters
Attributes
Applying Templates
Template Parameters
Named Templates
Comments
Other XSLT Elements
Summary of SLAX Statements
Commit Scripts
Commit Scripts Overview
Advantages of Using Commit Scripts
Storing the Commit Scripts
How Commit Scripts Work
Commit Script Input
Commit Script Output
Commit Scripts and the JUNOS Software Commit Model
Standard Commit Model
Commit Model with Commit Scripts
Using Multiple Commit Scripts
Using Large Commit Scripts
Using Commit Scripts
Introduction to Writing Commit Scripts
Boilerplate for Commit Scripts
Importing the junos.xsl File
Extension Functions in the junos.xsl File
jcs:invoke() Function
jcs:progress() Function
jcs:output() Function
jcs:trace() Function
jcs:first-of() Function
jcs:printf() Function
jcs:sleep() Function
Templates in the junos.xsl File
<jcs:edit-path> Template
<jcs:emit-change> Template
<jcs:emit-comment> Template
<jcs:statement> Template
<xsl:template match="/"> Template
Design Considerations
Examples: Commit Scripts
Generating a Custom Warning, Error, or System Log Message
Generating a Custom Warning, Error, or System Log Message
Examples: Generating a Custom Warning, Error, or System Log Message
Example: Generating a Custom Warning Message
Verifying the Commit Script Warning Output
Example: Generating a Custom Error Message
Verifying the Commit Script Error Output
Example: Generating a Custom System Log Message
Verifying the Commit Script Syslog Output
Message Tags
Summary of Message Tag Elements
<syslog>
<xnm:error>
<xnm:warning>
Generating a Persistent or Transient Configuration Change
Persistent and Transient Changes
Generating a Persistent or Transient Change
Examples: Generating a Persistent or Transient Change
Example: Generating a Persistent Change
Verifying the Commit Script Output
Example: Generating a Transient Change
Verifying the Commit Script Output
Removing a Persistent or Transient Change
Persistent and Transient Change Tags
Creating Custom Configuration Syntax with Macros
How Macros Work
Creating a Custom Syntax
<data> Element
Expanding the Custom Syntax
Other Ways to Use Macros
Creating a Macro to Read the Custom Syntax and Generate Related Configuration Statements
Example: Creating Custom Configuration Syntax with Macros
Verifying the Commit Script Output
Summary of XSLT Change Tag Elements
<change>
<transient-change>
Configuring and Troubleshooting Commit Scripts
Adding and Removing Commit Scripts from the Configuration
Adding Commit Scripts to the Configuration
Removing Commit Scripts from the Configuration
Deactivating a Commit Script
Activating a Commit Script
Using Remote Commit Scripts
Refreshing Commit Script Files
Using the refresh-from Statement on a Single Commit Script
Using the refresh-from Statement Globally
Using the refresh Statement on a Single Commit Script
Using the refresh Statement Globally
Refreshing the Local Commit Script
Specifying a Remote Commit Script Source URL
Manually Converting a Script from XSLT to SLAX
Manually Converting a Script from SLAX to XSLT
Displaying Commit Script Output
Tracing Commit Script Processing
Minimum Configuration for Enabling and Viewing Traceoptions Output
Example: Minimum Configuration for Enabling and Viewing Traceoptions Output
Configuring Traceoptions
Configuring the Commit Script Log Filename
Configuring the Number and Size of Commit Script Log Files
Configuring the Trace Operations
Troubleshooting Commit Scripts
Summary of Commit Script Configuration Statements
allow-transients
apply-macro
commit
direct-access
file
optional
refresh
refresh-from
scripts
source
traceoptions
Commit Script Examples
Requiring and Restricting Configuration Statements
Testing ex-no-nukes.xsl
Requiring Internal Clocking on T1 Interfaces
Testing ex-clocking-error.xsl
Imposing a Minimum MTU Setting
Testing ex-so-mtu.xsl
Warning About a Deprecated Value
Testing ex-deprecated.xsl
Limiting the Number of E1 Interfaces
Testing ex-16-e1-limit.xsl
Limiting the Number of ATM Virtual Circuits
Testing ex-atm-vc-limit.xsl
Controlling IS-IS and MPLS Interfaces
Testing ex-iso.xsl
Adding T1 Interfaces to a RIP Group
Testing ex-rip-t1.xsl
Adding a Default Encapsulation Type
Testing ex-so-encap.xsl
Controlling LDP Configuration
Testing ex-ldp.xsl
Adding a Final then accept Term to a Firewall
Testing ex-add-accept.xsl
Configuring an Interior Gateway Protocol on an Interface
Testing ex-if-class.xsl
Creating a Complex Configuration Based on a Simple Interface Configuration
Testing ex-if-params.xsl
Configuring Administrative Groups for LSPs
Testing ex-lsp-admin.xsl
Controlling a Dual Routing Engine Configuration
Testing ex-dual-re.xsl and ex-dual-re2.xsl
Preventing Import of the Full Routing Table
Testing ex-import.xsl
Automatically Configuring Logical Interfaces and IP Addresses
Testing ex-atm-logical.xsl
Prepending a Global Policy
Testing ex-bgp-global-import.xsl
Assigning a Classifier
Testing ex-classifier.xsl
Loading a Base Configuration
Testing config-system.xsl
Automation Scripts
Automation Scripts Overview
Automation Script Programming
Automation Script Types
Storing Automation Scripts
How Op Scripts Work
How Event Scripts Work
Using Automation Scripts
Installing Op Scripts to a Router
Executing Op Scripts
Installing Event Scripts
Replacing Event Scripts
Introduction to Writing Automation Scripts
Boilerplate for Automation Scripts
Displaying Operational Mode Fields in XML
Using RPCs and Operational Mode Commands
Capturing and Using Event Details
Importing the junos.xsl File
Extension Functions in the junos.xsl File
jcs:break-lines() Function
jcs:close() Function
jcs:empty() Function
jcs:execute() Function
jcs:first-of() Function
jcs:hostname() Function
jcs:invoke() Function
jcs:output() Function
jcs:open() Function
jcs:parse-ip() Function
jcs:printf() Function
jcs:progress() Function
jcs:regex() Function
jcs:sleep() Function
jcs:split() Function
jcs:sysctl() Function
jcs:syslog() Function
jcs:trace() Function
Templates in the junos.xsl File
<jcs:edit-path> Template
<jcs:emit-change> Template
<jcs:emit-comment> Template
<jcs:statement> Template
Configuring Automation Scripts
Enabling an Automation Script and Defining a Script Alias
Executing an Automation Script
Executing an Op Script
Declaring Arguments in Op Scripts
Example: Declaring Arguments
Configuring Command-Line Help Text
Examples: Configuring Command-Line Help Text
Specifying a Master Source for an Op Script
Specifying a Master Source for an Op Script
Refreshing an Op Script from the Master Source
Refreshing an Op Script from a Different Location
Manually Converting a Script from XSLT to SLAX
Manually Converting a Script from SLAX to XSLT
Tracing Automation Script Processing
Minimum Configuration for Enabling and Viewing Traceoptions Output
Example: Minimum Configuration for Enabling and Viewing Traceoptions Output
Configuring Traceoptions
Configuring the Op Script Log Filename
Configuring the Event Script Log Filename
Configuring the Number and Size of Op Script Log Files
Configuring the Number and Size of Event Script Log Files
Configuring the Op Script Trace Operations
Automation Script Examples
Restarting an FPC
Testing ex-fpc.xsl
Displaying DNS Hostname Information
Testing ex-hostname.xsl
Customizing Output of the show interfaces terse Command
Line-by-Line Explanation of the Script
Testing ex-interface.xsl
Finding LSPs to Multiple Destinations
Testing ex-lsp.xsl
Importing and Exporting Files
Exporting Files to a Remote Server
Importing Files from a Remote Server
Limiting Event Script Output Based on a Specific Event Type
Summary of Op Script Configuration Statements
arguments
command
description
file
op
refresh
refresh-from
scripts
source
traceoptions
Event Policy
Event Policy Overview
Introduction
Storing Event Policy Scripts
How Event Policies Work
Configuring Event Policy
Defining Destinations for File Archiving
Uploading Files
Executing Operational Mode Commands
Executing Event Scripts in an Event Policy
Correlating Events
Representing the Correlating Event in an Event Policy
Triggering a Policy Based on Event Count
Retrying the File Upload Action
Configuring an Event to Be Ignored
Using Regular Expressions to Refine the Set of Events That Cause a Policy to Be Executed
Associating an Optional User with an Event Policy Action
Assigning a Transfer Delay to an Event Policy Action
Generating Internal Events
Raising SNMP Traps
Referencing Nonstandard Events
Tracing Event Policy Processing
Configuring the Event Policy Log Filename
Configuring the Number and Size of Event Policy Log Files
Configuring Access to the Log File
Configuring a Regular Expression for Lines to Be Logged
Configuring the Trace Operations
Event Policy Examples
Correlating Events Based on Receipt of Other Events Within a Specified Time Interval
Assigning a Transfer Delay to an Event Policy Action
Representing the Correlating Event in an Event Policy
Associating an Optional User with an Event Policy Action
Retrying the File Upload Action
Triggering a Policy Based on Event Count
Ignoring Events Based on Receipt of Other Events
Correlating Events Based on Event Attributes
Controlling Event Policy Using a Regular Expression
Generating an Internal Event Every Hour
Generating an Internal Event at Midnight
Dampening an Event
Raising an SNMP Trap in Response to an Event
Referencing Nonstandard Events
Summary of Event Policy Configuration Statements
archive-sites
arguments
attributes-match
commands
destination
destination (Command or Script Output)
destination (Routing Platform Files)
destinations
equals
event-options
event-script
events
events (Associating Events with a Policy)
events (Correlating Events with Each Other)
execute-commands
filename
generate-event
ignore
matches
not
output-filename
output-format
policy
raise-trap
retry-count
starts-with
then
time-interval
time-of-day
traceoptions
transfer-delay
trigger
upload
upload (Committed Configuration File)
upload (Specified File)
user-name
within
Index
Index
Index of Statements and Commands

[Contents] [Prev] [Next] [Index] [Report an Error]