Caldeira necessária para scripts de confirmação
RESUMO Defina a placa de caldeira para scripts de confirmação.
Os scripts de confirmação do Junos OS podem ser escritos em Extensible Stylesheet Language Transformations (XSLT), Stylesheet Language Alternative syntaX (SLAX) ou Python. Os scripts de confirmação devem incluir a caldeira necessária para essa linguagem de script para funcionalidades básicas de script, bem como qualquer funcionalidade opcional usada dentro do script, como as funções de extensão do Junos OS e templates nomeados. Este tópico fornece uma plataforma padrão que pode ser usada em scripts de confirmação XSLT, SLAX e Python.
Os scripts de confirmação do SLAX e XSLT são baseados em elementos de tag de protocolo Junos XML e Junos XML. Como todos os elementos XML, os suportes de ângulo incluem o nome de um elemento de tag de protocolo Junos XML ou Junos XML em suas tags de abertura e fechamento. Esta é uma convenção XML, e os parênteses são uma parte necessária do nome completo do elemento tag. Eles não devem ser confusos com os suportes de ângulo usados na documentação para indicar partes opcionais das cordas de comando CLI do Junos OS.
Caldeira XSLT para scripts de confirmação
A caldeira de script de confirmação XSLT é a seguinte:
1 <?xml version="1.0" standalone="yes"?> 2 <xsl:stylesheet version="1.0" 3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 4 xmlns:junos="http://xml.juniper.net/junos/*/junos" 5 xmlns:xnm="http://xml.juniper.net/xnm/1.1/xnm" 6 xmlns:jcs="http://xml.juniper.net/junos/commit-scripts/1.0"> 7 <xsl:import href="../import/junos.xsl"/> 8 <xsl:template match="configuration"> <!-- ... insert your code here ... --> 9 </xsl:template> 10 </xsl:stylesheet>
A linha 1 é a instrução de processamento de Linguagem de Marcabilidade Extensível (XML) (PI). Este PI especifica que o código está escrito em XML usando a versão 1.0. O XML PI, se presente, deve ser o primeiro símbolo de não pagamento no arquivo de script.
1 <?xml version="1.0"?>
A Linha 2 abre a folha de estilo e especifica a versão XSLT como 1.0.
2 <xsl:stylesheet version="1.0"
As linhas 3 a 6 listam todos os mapeamentos de namespace comumente usados em scripts de confirmação. Nem todos esses prefixos são usados neste exemplo, mas não é um erro listar mapeamentos de namespace que não são mencionados. Listar todos os mapeamentos de namespace evita erros se os mapeamentos forem usados em versões posteriores do script.
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 4 xmlns:junos="http://xml.juniper.net/junos/*/junos" 5 xmlns:xnm="http://xml.juniper.net/xnm/1.1/xnm" 6 xmlns:jcs="http://xml.juniper.net/junos/commit-scripts/1.0">
A Linha 7 é uma declaração de importação do XSLT. Ele carrega os modelos e variáveis do arquivo mencionado como .. /import/junos.xsl, que é fornecido como parte do Junos OS. O arquivo junos.xsl contém um conjunto de modelos nomeados que você pode chamar em seus scripts. Esses modelos nomeados são discutidos na compreensão de modelos nomeados nos scripts de automação do Junos OS.
7 <xsl:import href="../import/junos.xsl"/>
A Linha 8 define um modelo que corresponda ao <configuration>
elemento, que é o nó selecionado pelo <xsl:template match="/">
modelo, contido no arquivo de importação junos.xsl . O <xsl:template match="configuration">
elemento permite que você exclua o /configuration/
elemento raiz de todas as expressões XPath no script e inicie expressões de XPath com o nível superior de hierarquia do Junos OS. Para obter mais informações, veja a visão geral do XPath.
8 <xsl:template match="configuration">
Adicione seu código entre as Linhas 8 e 9.
A Linha 9 fecha o modelo.
9 </xsl:template>
A linha 10 fecha a folha de estilo e o script de confirmação.
10 </xsl:stylesheet>
Caldeira SLAX para scripts de confirmação
A caldeira de script de confirmação SLAX é a seguinte:
version 1.2; ns junos = "http://xml.juniper.net/junos/*/junos"; ns xnm = "http://xml.juniper.net/xnm/1.1/xnm"; ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0"; import "../import/junos.xsl"; match configuration { /* * insert your code here */ }
Python Boilerplate para scripts de confirmação
Os scripts de confirmação do Python não têm uma caldeira necessária, mas precisam importar quaisquer objetos que sejam usados no script. Os scripts de confirmação do Python podem importar o seguinte:
Junos_Context
que contém informações sobre o ambiente de execução de scripts.Junos_Configuration
objeto — contém a configuração do candidato pós-herança.jcs
biblioteca — permite que o script use funções de extensão do Junos OS e funcionalidade de modelo indicada pelo Junos OS no script.jnpr.junos
módulo e aulas — permite que o script use o Junos PyEZ.
Por exemplo:
from junos import Junos_Context from junos import Junos_Configuration from jnpr.junos import Device import jcs if __name__ == '__main__':
Os scripts de automação de Python não precisam incluir uma linha de diretiva de intérprete (#!/usr/bin/env python
) no início do script. No entanto, o programa ainda será executado corretamente se um estiver presente.