Descripción de las funciones de extensión en scripts de automatización de Junos OS
Junos OS proporciona herramientas de scripting de automatización, incluidas funciones de extensión y plantillas con nombre, que se pueden usar en scripts de confirmación, operación, evento y SNMP para realizar tareas de scripting más fácilmente en dispositivos que ejecutan Junos OS. Las bibliotecas proporcionan lógica, manipulación de datos, entrada y salida, y funciones de utilidad, y le permiten realizar operaciones que son difíciles o imposibles de realizar en XPath. En la Tabla 1 se resumen las funciones de extensión de Juniper.
Para usar las funciones de extensión, los scripts de automatización de Python deben importar el módulo, y los scripts SLAX y XSLT deben declarar el jcs
URI de espacio de nombres apropiado en la declaración de hoja de estilos. Una función en el espacio de nombres se define en la http://xml.juniper.net/junos/commit-scripts/1.0 URI del espacio de nombres y una función en el espacio de nombres se define en el jcs
slax
URI del espacio de nombres http://xml.libslax.org/slax .
Las funciones que utilizan el espacio de nombres se admiten a partir de slax
Junos OS versión 12.2. Los scripts que utilizan funciones de extensión independientes de Junos OS que existían en versiones anteriores en el espacio de nombres pueden utilizar el o el jcs
jcs
espacio de nombres a partir de slax
Junos OS versión 12.2. Sin embargo, para utilizar cualquiera de estas funciones en versiones anteriores de Junos OS, los scripts deben usar el URI del espacio de jcs
nombres.
La instrucción de script version
SLAX determina qué funciones se pueden utilizar en esa secuencia de comandos. Para utilizar una función que se introdujo en una versión específica de SLAX, el valor de la instrucción script debe ser igual o mayor que la versión en la que se introdujo la version
función. Por ejemplo, las funciones introducidas en la versión 1.1 del lenguaje SLAX no se pueden utilizar en un script SLAX que tenga una instrucción "versión 1.0".
Los scripts SLAX también pueden usar funciones adicionales de las bibliotecas de extensiones predeterminadas de libslax. Para obtener más información, consulte Bibliotecas de extensiones predeterminadas de libslax: bit, curl, db, os y xutil.
Los scripts de automatización de Python solo admiten un subconjunto de las funciones de extensión. Para muchas de las funciones no compatibles, puede utilizar bibliotecas estándar de Python para lograr la misma funcionalidad.
Función |
Espacios de nombres |
Versión SLAX |
Tipo |
Descripción |
Soporte en Python Scripts |
---|---|---|---|---|---|
Slax |
1.1 |
Manipulación de datos |
Decodifique datos codificados en BASE64 y devuelva una cadena. |
– |
|
Slax |
1.1 |
Manipulación de datos |
Codifique una cadena de datos en el formato de codificación BASE64. |
– |
|
JCS, SLAX |
1.0 |
Manipulación de datos |
Dividir un elemento simple en varios elementos, delimitados por nuevas líneas. |
– |
|
Jcs |
1.0 |
Utilidad |
Cierre un controlador de conexión abierto anteriormente. |
– |
|
JCS, SLAX |
1.0 |
Utilidad |
Impedir que la misma operación se ejecute repetidamente dentro de un script. |
Y |
|
Slax |
1.1 |
Control de entrada/salida |
Leer datos de un archivo o URL y devolver una cadena. |
– |
|
– |
– |
Utilidad |
Genere un cambio persistente o transitorio en la configuración en un script de confirmación. |
Y |
|
– |
– |
Control de entrada/salida |
Genere un mensaje de error en la consola. |
Y |
|
– |
– |
Control de entrada/salida |
Devuelve información para el objeto MIB solicitado desde un script SNMP. |
Y |
|
– |
– |
Control de entrada/salida |
Genere un mensaje de advertencia en la consola. |
Y |
|
JCS, SLAX |
1.0 |
Lógica |
Evalúe un conjunto de nodos o un argumento de cadena para determinar si es un valor vacío. |
– |
|
Slax |
1.1 |
Control de entrada/salida |
Evalúe una expresión de SLAX y devuelva el resultado. |
– |
|
Jcs |
1.0 |
Utilidad |
Ejecute una llamada a procedimiento remoto (RPC) en el contexto de un identificador de conexión especificado. |
– |
|
JCS, SLAX |
1.0 |
Lógica |
Devolver el primer elemento no vacío (no nulo) de una lista, Si todos los objetos de la lista están vacíos, se devuelve la expresión predeterminada. |
– |
|
JCS, SLAX |
1.1 |
Control de entrada/salida |
Solicite al usuario la entrada del comando y devuelva la entrada como una cadena. |
– |
|
Jcs |
1.0 |
Utilidad |
Devolver el ID de sesión y las capacidades del servidor NETCONF durante una sesión de NETCONF. |
– |
|
|
JCS, SLAX |
1.0 |
Control de entrada/salida |
Invoque un indicador de CLI y espere la entrada del usuario. Si el script se ejecuta de forma no interactiva, la función devuelve un valor vacío. Esta función no se puede utilizar con scripts de eventos. |
Y |
Jcs |
1.0 |
Utilidad |
Devuelve el protocolo de sesión asociado con el identificador de conexión. |
– |
|
|
JCS, SLAX |
1.0 |
Control de entrada/salida |
Invoque un indicador de CLI y espere la entrada del usuario. La entrada no se repite al usuario. |
Y |
– |
– |
Control de entrada/salida |
Recupere el valor de acción pasado al script SNMP. |
Y |
|
– |
– |
Control de entrada/salida |
Recupere el valor OID pasado al script SNMP. |
Y |
|
Jcs |
1.0 |
Utilidad |
Devuelve el nombre de dominio completo asociado a una dirección IPv4 o IPv6 determinada, siempre que el servidor DNS esté configurado en el dispositivo. |
Y |
|
Jcs |
1.0 |
Utilidad |
Invoque una RPC en un dispositivo local que ejecute Junos OS. |
– |
|
Jcs |
1.0 |
Utilidad |
Devuelve un identificador de conexión que se puede usar para ejecutar RPC. |
– |
|
JCS, SLAX |
1.0 |
Control de entrada/salida |
Genere texto de salida sin formato que se envía inmediatamente a la sesión de CLI. |
Y |
|
Jcs |
1.0 |
Manipulación de datos |
Analice una dirección IPv4 o IPv6 y devuelva la dirección IP del host, la familia de protocolos, la longitud del prefijo, la dirección de red y la máscara de red. |
Y |
|
JCS, SLAX |
1.0 |
Control de entrada/salida |
Generar texto de salida con formato. La mayoría de los formatos estándar |
Y |
|
JCS, SLAX |
1.0 |
Control de entrada/salida |
Emita un mensaje de progreso que contenga el argumento único inmediatamente a la sesión de la CLI, siempre que se haya especificado el indicador cuando se invocó el |
Y |
|
JCS, SLAX |
1.0 |
Manipulación de datos |
Evalúe una expresión regular con respecto a un argumento de cadena determinado y devuelva las coincidencias. |
– |
|
- |
- |
Utilidad |
Programe el software de protocolo (TCP/UDP) para que utilice instancias de enrutamiento no predeterminadas. |
Y |
|
JCS, SLAX |
1.0 |
Utilidad |
Haga que el script entre en reposo durante un tiempo especificado. |
– |
|
JCS, SLAX |
1.0 |
Manipulación de datos |
Dividir una cadena en una matriz de subcadenas delimitadas por un patrón de expresión regular. |
– |
|
JCS, SLAX |
1.0 |
Utilidad |
Devolver el valor del valor especificado |
Y |
|
JCS, SLAX |
1.0 |
Control de entrada/salida |
Registre los mensajes con la prioridad especificada en el archivo de registro del sistema. |
Y |
|
JCS, SLAX |
1.0 |
Control de entrada/salida |
Emita un mensaje de seguimiento, que se envía al archivo de seguimiento. |
Y |