Mapeie os comandos e a saída de comando do Junos XML para os elementos de tag Junos XML
A API Junos XML é uma representação XML de declarações de configuração do Junos OS e comandos de modo operacional. Ele define um XML equivalente para todas as declarações na hierarquia de configuração do Junos OS e muitos dos comandos que você emite no modo operacional CLI. Cada comando de modo operacional com um junos XML de contrapartida mapeia para um elemento de tag de solicitação e, se necessário, um elemento de tag de resposta.
Os elementos de tag de solicitação são usados em chamadas de procedimento remoto (RPCs) dentro das sessões de protocolo NETCONF e Junos XML para solicitar informações de um dispositivo que executa o Junos OS. O servidor retorna a resposta usando elementos de tag Junos XML fechados dentro do elemento tag de resposta. Por exemplo, o show interfaces
comando mapeia a <get-interface-information>
tag de solicitação e o servidor devolve a tag de <interface-information>
resposta.
As seções a seguir descrevem como mapear comandos, opções de comando e saída de comando para elementos de tag Junos XML.
Mapeando a saída de comando para elementos Junos XML
Na interface de linha de comando (CLI) do Junos OS para exibir a saída de comando como elementos de tag Junos XML, em vez de como o texto ASCII formatado padrão, inclua a opção | display xml
após o comando. Os elementos de tag que descrevem a configuração do Junos OS ou os dados operacionais pertencem à API Junos XML, que define o conteúdo do Junos OS que pode ser recuperado e manipulado pelas operações de protocolo de gerenciamento NETCONF e Junos XML.
O exemplo a seguir mostra a saída do show chassis hardware
comando emitido em um roteador M20 que executa o Junos OS Release 9.3 (a tag de abertura <chassis-inventory>
aparece em duas linhas apenas para legibilidade). Isso é idêntico à resposta do servidor para a solicitação <get-chassis-inventory>
de RPC.
user@host> show chassis hardware | display xml <rpc-reply xmlns:junos="http://xml.juniper.net/junos/9.3R1/junos"> <chassis-inventory \ xmlns="http://xml.juniper.net/junos/9.3R1/junos-chassis"> <chassis junos:style="inventory"> <name>Chassis</name> <serial-number>00118</serial-number> <description>M20</description> <chassis-module> <name>Backplane</name> <version>REV 06</version> <part-number>710-001517</part-number> <serial-number>AB5911</serial-number> </chassis-module> <chassis-module> <name>Power Supply A</name> <!-- other child tags of <chassis-module> --> </chassis-module> <!-- other child tags of <chassis> --> </chassis> </chassis-inventory> </rpc-reply>
Mapeando comandos para elementos de tag de solicitação do Junos XML
Você pode encontrar informações sobre os comandos de modo operacional Junos OS disponíveis e suas tags de solicitação de RPC Junos XML equivalentes na ferramenta Junos XML API Explorer - Operational Tags e no Junos OS CLI. Você pode usar a ferramenta para verificar um comando, mapear o comando para sua tag de solicitação de RPC Junos XML equivalente e etiquetas infantis, e visualizar a tag de resposta esperada para várias versões do Junos OS.
Você também pode exibir os elementos de tag de solicitação Junos XML para qualquer comando de modo operacional que tenha uma contrapartida Junos XML no Junos OS CLI. Para exibir as tags de solicitação de RPC Junos XML para um comando de modo operacional, insira o comando e o coloque no display xml rpc
comando.
O exemplo a seguir exibe as tags RPC para o show route
comando:
user@host> show route | display xml rpc <rpc-reply xmlns:junos="http://xml.juniper.net/junos/10.1I0/junos"> <rpc> <get-route-information> </get-route-information> </rpc> <cli> <banner></banner> </cli> </rpc-reply>
A partir do Junos OS Release 20.3R1, os nomes de algumas tags de solicitação de RPC Junos XML foram atualizados para garantir consistência em toda a API Junos XML. Os dispositivos que executam o Junos OS ainda aceitarão os nomes de tags de solicitação antigos para compatibilidade reversa, mas recomendamos o uso dos novos nomes daqui para frente. Para verificar a tag de solicitação de RPC Junos XML para um comando de modo operacional em uma determinada versão do Junos OS, consulte a ferramenta Junos XML API Explorer - Operational Tags .
Mapeamento de opções de comando com valores variáveis
Muitos comandos de CLI têm opções que identificam o objeto sobre o qual o comando afeta ou relata, distinguindo o objeto de outros objetos do mesmo tipo. Em alguns casos, a CLI não precede o identificador com uma palavra-chave de forma fixa, mas a convenção XML exige que a API Junos XML defina um elemento de tag para cada opção. Para saber os nomes de cada identificador (e quaisquer outros elementos de tag infantil) para obter um elemento de tag de solicitação operacional, consulte a entrada do elemento tag no DTD apropriado ou na Referência de Desenvolvedor Operacional da API Junos XML ou emita a opção de comando e comando no CLI e a aplicação da opção | display xml rpc
.
O exemplo a seguir mostra os elementos de tag Junos XML para dois comandos operacionais CLI que têm opções de forma variável. No comando, t3-5 show interfaces
/1/0:0 é o nome da interface. show bgp neighbor
No comando, 10.168.1.222 é o endereço IP para o peer de interesse BGP.
Você pode exibir as tags Junos XML RPC para um comando e suas opções na CLI executando a opção de comando e comando e apêndice | display xml rpc
.
user@host> show interfaces t3-5/1/0:0 | display xml rpc <rpc-reply xmlns:junos="http://xml.juniper.net/junos/16.1R1/junos"> <rpc> <get-interface-information> <interface-name>t3-5/1/0:0</interface-name> </get-interface-information> </rpc> <cli> <banner></banner> </cli> </rpc-reply>
Mapeamento de opções de comando de forma fixa
Alguns comandos de CLI incluem opções que têm uma forma fixa, como as strings e detail
as brief
strings, que especificam a quantidade de detalhes a incluir na saída. A API Junos XML geralmente mapeia tal opção para uma tag vazia cujo nome combina com o nome da opção.
O exemplo a seguir mostra os elementos de tag Junos XML para o show isis adjacency
comando, que tem uma opção de forma fixa chamada detail
:
Para ver as tags na CLI:
user@host> show isis adjacency detail | display xml rpc <rpc-reply xmlns:junos="http://xml.juniper.net/junos/16.1R1/junos"> <rpc> <get-isis-adjacency-information> <detail/> </get-isis-adjacency-information> </rpc> <cli> <banner></banner> </cli> </rpc-reply>