Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Parâmetros e variáveis globais nos scripts de automação do Junos OS

O Junos OS fornece automaticamente a entrada para scripts de automação quando eles são executados. O script pode fazer referência a essa entrada, que inclui informações específicas do dispositivo sobre o ambiente de execução de scripts, como o nome de host do dispositivo, o tipo de script e o usuário que executa o script. Essas informações são úteis para criar scripts que respondam a uma variedade de cenários complexos.

Scripts SLAX e XSLT que importam o arquivo junos.xsl podem fazer referência a essas informações usando a $junos-context variável global, que é um conjunto de nós. O arquivo de importação junos.xsl também declara vários parâmetros globais predefinidos que permitem que os scripts façam uma referência mais facil a um subconjunto dessas informações. Os scripts de Python podem fazer referência a essas informações por meio do junos.Junos_Context script, que deve ser importado para o script.

Para usar os parâmetros pré-definidos ou variável global em scripts SLAX e XSLT, você deve importar o arquivo junos.xsl , incluindo a <xsl:import> tag na declaração de folha de estilo de um script XSLT ou incluindo a import declaração em um script SLAX e especificando a localização do arquivo junos.xsl conforme mostrado no código de amostra a seguir:

Sintaxe XSLT

Sintaxe SLAX

Pitão

Para fazer referência às informações nos scripts de Python, importe o insumos Junos_Context .

A entrada de script é descrita em detalhes nas seguintes seções:

Parâmetros globais disponíveis em scripts SLAX e XSLT

Vários parâmetros globais predefinidos estão disponíveis para uso em scripts de automação SLAX e XSLT que importam o arquivo junos.xsl . Os parâmetros fornecem informações sobre o ambiente do Junos OS. A Tabela 1 descreve os argumentos integrados.

Tabela 1: Parâmetros predefinidos disponíveis em scripts SLAX e XSLT

Nome

Descrição

Exemplo

$hostname

Nome de host do dispositivo local

Tóquio

$localtime

Hora local em que o script é executado

Sex Dez 10 11:42:21 2010

$localtime iso

Hora local, no formato ISO, quando o script é executado

2010-12-10 11:42:21 PST

$product

Modelo do dispositivo local

m10i

$script

Nome de arquivo do script de execução

test.slax

$user

Nome local do usuário que executa o script

raiz

Os parâmetros globais predefinidos são declarados no arquivo junos.xsl . Você não precisa declarar esses parâmetros em um script para usá-los. Acesse o valor dos parâmetros globais em um script prefixando o nome do parâmetro com o sinal de dólar ($), conforme mostrado no exemplo a seguir:

Sintaxe SLAX:

Sintaxe XSLT:

Variável global disponível em scripts de automação

Scripts de confirmação, eventos e op podem acessar informações específicas do ambiente fornecidas ao script após a execução. Para acessar essas informações, os scripts do Python devem importar e fazer referência ao script do níquete, e os junos.Junos_Context scripts SLAX e XSLT que importam o arquivo junos.xsl podem fazer referência à $junos-context variável $junos-context global e Junos_Context conter informações idênticas, mas em um formato adequado para a respectiva linguagem de script.

A $junos-context variável é um conjunto de nós que contém o <junos-context> nó e a hierarquia a seguir, que é comum e incorporado na árvore de origem de todos os scripts:

Além disso, informações específicas de script estão disponíveis dependendo do tipo de script executado. Para scripts op, o <op-context> elemento também está incluído na árvore de origem fornecida a um script de operação:

Para scripts de confirmação, o <commit-context> elemento também está incluído na árvore de origem fornecida a um script de confirmação:

A Tabela 2 identifica cada nó do conjunto de $junos-context nós variável, fornece uma breve descrição do nó e dá exemplos de valores para quaisquer elementos que não estejam na entrada de um script como uma tag vazia.

Tabela 2: Contexto $junos variável global disponível para scripts SLAX e XSLT

Nó dos pais

Nodo

Descrição

Conteúdo de exemplo

contexto <junos>

<chassis>

Especifica se o script é executado em um componente de uma matriz de roteamento, o Domínio do Sistema Raiz (RSD) ou um Domínio de Sistema Protegido (PSD)

scc, lcc (TX Matrix)psd, rsd (JCS)outros

<hostname>

Nome de host do dispositivo local

Tóquio

< tempolocal>

Hora local em que o script é executado

Sex Dez 10 11:42:21 2010

< tempolocal>

Hora local, no formato ISO, quando o script é executado

2010-12-10 11:42:21 PST

<pid>

ID do processo de cscript

5257

<produto>

Modelo do dispositivo local

m10i

mestre/> <

Elemento vazio incluído se o script for executado no mecanismo de roteamento primário

 

< nome do mecanismo de roteamento>

Mecanismo de roteamento no qual o script é executado

re0

tipo <script>

Tipo de script sendo executado

Op

<>

TTY da sessão do usuário

/dev/ttyp1

contexto <junos> contexto < usuário>

<classe>

Faça login na classe do usuário que executa o script

Superusuário

<logina>

Faça login com o nome do usuário que executa o script. Para acesso AAA , este é o nome de usuário RADIUS/TACACS.

jsmith

<uida>

Número de ID do usuário executando o script conforme definido na configuração do dispositivo

2999

< usuário>

Nome local do usuário que executa o script. O Junos OS usa o nome local para autenticação. Pode ser diferente do login-name usado para autenticação AAA.

raiz

contexto <junos> contexto <op>

(somente scripts de op)

<via-url>

Elemento vazio incluído se o script de operações remotas for executado usando o op url comando

 

contexto > < contexto <junos>

(apenas scripts de confirmação)

<commit-boot/>

Elemento vazio incluído quando o commit ocorre no momento do inicialização

 

verificação/> <compromisso de <

Elemento vazio incluído quando um commit check é executado

 

<comentado>

Comentário do usuário sobre o commit

Comprometa-se a corrigir problema de encaminhamento

<compromisso/>

Elemento vazio incluído quando um commit confirmed é executado

 

sincronização/> <commit

Elemento vazio incluído quando um commit synchronize é executado

 

caminho/> database <

Elemento que especifica a localização da configuração do candidato pré-herança da sessão. Para sessões de configuração normais, o valor do elemento é a localização do banco de dados normal do candidato. Para sessões de configuração privadas, o valor do elemento é a localização do banco de dados do candidato privado. Quando o <get-configuration> database-path atributo é definido a esse valor, o script de confirmação recupera a configuração correspondente do candidato pré-herança.

 

A $junos-context variável é um conjunto de nós. Portanto, você pode acessar os elementos infantis em um script, incluindo a expressão XPath adequada. O script de confirmação SLAX a seguir escreve uma mensagem ao arquivo de log do sistema se o commit for realizado durante o inicial inicial. A mensagem recebe um valor de daemon instalação e um valor de gravidade de info. Para obter mais informações, veja syslog().

Os scripts de Python devem importar o Junos_Context nívem do junos módulo para acessar as informações do ambiente fornecidas aos scripts. Os nomes das chaves do Junos_Context náutico são idênticos aos nomes dos $junos-context nós descritos na Tabela 2. Nós com elementos infantis que estão aninhados sob o junos-context nó, como user-context, op-contexte commit-context mapa para itens em Junos_Context, onde a chave é o nome do nó e o valor é um níquete dos elementos infantis do nó. Por exemplo:

A saída de exemplo a seguir exibe o Junos_Context aprendizado de um script de operação que foi executado localmente. Observe que a entrada de script op contém a op-context chave, que neste cenário está vazia.

A saída de exemplo a seguir exibe o Junos_Context nítido para um script de confirmação que foi executado durante uma commit check operação. Observe que a entrada de script de confirmação contém a commit-context chave.

Para acessar valores individuais no níquete, especifique o nome chave. Por exemplo: