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 de 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 afin d’accomplir plus facilement des tâches de script sur les périphériques exécutant Junos OS. Les sections suivantes expliquent 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 ) approprié dans la déclaration de la feuille de style. Les fonctions d’extension de Junos OS, qui ont des fonctionnalités spécifiques aux périphériques exécutant Junos OS, sont définies dans l’espace de noms avec l’URI http://xml.juniper.net/junos/commit-scripts/1.0associé. Les fonctions d’extension SLAX sont définies dans l’espace de noms avec l’URI http://xml.libslax.org/slaxassocié.

Les scripts SLAX et XSLT mappent généralement le jcs préfixe or slax à son 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 développé dans sa référence d’URI associée pendant le traitement.

Par exemple, l’instruction d’espace de noms 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 d’espace de noms 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 toutes les déclarations de variables requises, appelez la fonction à l’aide jcs:function-name() de ou slax:function-name() selon le cas, et transmettez tous les arguments requis ou facultatifs. Les arguments doivent être passés à la fonction dans l’ordre précis spécifié par la définition de la fonction. Ceci est différent d’un modèle, où les paramètres sont attribué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.

Syntaxe SLAX

Utilisation de fonctions d’extension dans des scripts Python

Les scripts d’automatisation Python qui importent le jcs module peuvent utiliser une version Python des fonctions d’extension Junos OS et SLAX prises en charge. Pour déterminer quelles fonctions d’extension sont prises en charge dans les scripts Python, reportez-vous à la section 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 d’abord l’instruction import jcs et toutes les déclarations de variables requises. Appelez ensuite la fonction à l’aide de jcs.function_name(), et transmettez tous les arguments obligatoires ou facultatifs. Notez que dans les scripts Python, les noms des fonctions d’extension doivent utiliser des traits de soulignement au lieu de traits d’union. Par exemple:

Syntaxe Python