Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Utiliser des fonctions d’extension dans les scripts d’automatisation Junos OS

Junos OS fournit des fonctions d’extension qui peuvent être utilisées dans les scripts de validation, d’opération, d’événement et SNMP pour accomplir plus facilement des tâches de script sur les équipements exécutant Junos OS. Les sections suivantes décrivent comment importer et utiliser les fonctions d’extension pour différents langages de script :

Utilisation des fonctions d’extension dans les scripts SLAX et XSLT

Pour utiliser les fonctions d’extension dans les scripts SLAX et XSLT, le script doit déclarer l’URI ( Uniform Resource Identifier ) de l’espace de noms approprié dans la déclaration de feuille de style. Les fonctions d’extension junos OS, qui ont des fonctionnalités spécifiques aux équipements exécutant Junos OS, sont définies dans l’espace de noms avec l’URI associé http://xml.juniper.net/junos/commit-scripts/1.0 . Les fonctions d’extension SLAX sont définies dans l’espace de noms avec l’URI associé http://xml.libslax.org/slax .

Les scripts SLAX et XSLT mappent généralement le ou slax le jcs préfixe à leur URI respectif pour éviter les conflits de noms avec les fonctions XSLT standard et les modèles définis par l’utilisateur. Les scripts qualifient ensuite les fonctions d’extension avec le préfixe approprié, qui est étendu à la référence URI associée pendant le traitement.

Par exemple, l’instruction SLAX suivante mappe le jcs préfixe à l’URI d’espace de noms qui définit les fonctions d’extension Junos OS utilisées dans les scripts d’automatisation :

L’instruction SLAX suivante mappe le slax préfixe à l’URI d’espace de noms qui définit les fonctions d’extension SLAX :

Pour appeler une fonction d’extension dans un script SLAX ou XSLT, incluez les déclarations de variable requises, appelez la fonction à l’aide jcs:function-name() ou slax:function-name() le cas échéant, et transmettez les arguments requis ou facultatifs. Les arguments doivent être transmis à la fonction dans l’ordre précis spécifié par la définition de la fonction. Il s’agit d’un modèle différent, où les paramètres sont assignés par nom et peuvent apparaître dans n’importe quel ordre. La valeur de retour d’une fonction d’extension doit toujours être affectée à une variable ou désignée comme sortie.

L’exemple suivant mappe le jcs préfixe à l’espace de noms identifié par l’URI http://xml.juniper.net/junos/commit-scripts/1.0 . Le script appelle ensuite la jcs:invoke() fonction avec un argument.

Syntaxe XSLT

Syntaxe SLAX

L’exemple suivant mappe le slax préfixe à l’espace de noms identifié par l’URI http://xml.libslax.org/slax . Le script appelle ensuite la slax:get-input() fonction avec un argument de chaîne. L’instruction version spécifie la version 1.1 du langage SLAX, qui est prise en charge dans les versions 12.2 et ultérieures de Junos OS.

Syntaxe SLAX

Utilisation des fonctions d’extension dans les scripts Python

Les scripts d’automatisation Python qui importent le jcs module peuvent utiliser une version Python des fonctions d’extension SLAX et Junos OS prises en charge. Pour déterminer quelles fonctions d’extension sont prises en charge dans les scripts Python, consultez La présentation des fonctions d’extension dans les scripts d’automatisation Junos OS.

Pour appeler la fonction d’extension équivalente dans un script Python, incluez l’instruction import jcs et les déclarations de variable requises, appelez la fonction à l’aide jcs.function_name()de , et transmettez tous les arguments requis ou facultatifs. Notez que dans les scripts Python, les noms des fonctions d’extension doivent utiliser des traits de soulignement au lieu des traits d’union. Par exemple :

Syntaxe Python