Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Passe-partout requis pour les scripts de commit

RÉSUMÉ Définissez le modèle standard pour les scripts de validation.

Les scripts de commit Junos OS peuvent être écrits en XSLT (Extensible Stylesheet Language Transformations), en SAX (Stylesheet Language Alternative, SLAX) ou en Python. Les scripts de commit doivent inclure le standard nécessaire requis pour ce langage de script pour les fonctionnalités de script de base ainsi que pour toutes les fonctionnalités facultatives utilisées dans le script, telles que les fonctions d’extension Junos OS et les modèles nommés. Cette rubrique fournit un modèle standard standard qui peut être utilisé dans les scripts de validation XSLT, SAX et Python.

Les scripts de commit SLAX et XSLT sont basés sur Junos XML et les éléments de balise de protocole Junos XML. Comme tous les éléments XML, les chevrons entourent le nom d’un élément de balise de protocole Junos XML ou Junos XML dans ses balises d’ouverture et de fermeture. Il s’agit d’une convention XML, et les crochets sont une partie obligatoire du nom complet de l’élément de balise. Elles ne doivent pas être confondues avec les chevrons utilisés dans la documentation pour indiquer les parties facultatives des chaînes de commande CLI de Junos OS.

XSLT Boilerplate pour les scripts de commit

Le script de commit XSLT est le suivant :

La ligne 1 est l’instruction de traitement (PI) du langage de balisage extensible (XML). Ce PI spécifie que le code est écrit en XML à l’aide de la version 1.0. Le PI XML, s’il est présent, doit être le premier jeton sans commentaire dans le fichier de script.

La ligne 2 ouvre la feuille de style et spécifie que la version XSLT est 1.0.

Les lignes 3 à 6 listent tous les mappages d’espaces de noms couramment utilisés dans les scripts de validation. Tous ces préfixes ne sont pas utilisés dans cet exemple, mais répertorier les mappages d’espaces de noms qui ne sont pas référencés n’est pas une erreur. La liste de tous les mappages d’espaces de noms évite les erreurs si les mappages sont utilisés dans des versions ultérieures du script.

La ligne 7 est une instruction d’importation XSLT. Il charge les modèles et les variables à partir du fichier référencé en tant que .. /import/junos.xsl, qui est fourni avec Junos OS. Le fichier junos.xsl contient un ensemble de modèles nommés que vous pouvez appeler dans vos scripts. Ces modèles nommés sont abordés dans Présentation des modèles nommés dans les scripts d’automatisation Junos OS.

La ligne 8 définit un modèle qui correspond à l’élément <configuration> , qui est le nœud sélectionné par le <xsl:template match="/"> modèle, contenu dans le fichier d’importation junos.xsl . L’élément <xsl:template match="configuration"> vous permet d’exclure l’élément /configuration/ racine de toutes les expressions XPath du script et de commencer les expressions XPath par le niveau hiérarchique supérieur de Junos OS. Pour plus d’informations, consultez Vue d’ensemble de XPath.

Ajoutez votre code entre les lignes 8 et 9.

La ligne 9 ferme le modèle.

La ligne 10 ferme la feuille de style et le script de validation.

Passe-partout SLAX pour les scripts de commit

Le script de commit SLAX est le suivant :

Python Boilerplate pour les scripts de commit

Les scripts de commit Python n’ont pas de passe-partout requis, mais ils doivent importer tous les objets utilisés dans le script. Les scripts de commit Python peuvent importer les éléments suivants :

  • Junos_Context dictionary : contient des informations sur l’environnement d’exécution du script.

  • Junos_Configuration object : contient la configuration candidate post-héritage.

  • jcs library : permet au script d’utiliser les fonctions d’extension Junos OS et la fonctionnalité de modèle nommé Junos OS dans le script.

  • jnpr.junos module and classes : permet au script d’utiliser Junos PyEZ.

Par exemple:

Les scripts d’automatisation Python n’ont pas besoin d’inclure une ligne de directive d’interpréteur (#!/usr/bin/env python) au début du script. Cependant, le programme s’exécutera toujours correctement s’il y en a un.