Entender as extensões do Junos OS YANG para formatar a saída de RPC
O Junos OS oferece suporte nativo ao XML para a operação e configuração de dispositivos que executam o Junos OS. A infraestrutura do Junos OS e a CLI se comunicam usando xML. Quando você emite um comando operacional na CLI, a CLI converte o comando em XML para processamento. Após o processamento, o Junos OS devolve a saída na forma de um documento XML, que a CLI converte de volta em formato de texto para exibição. Aplicativos remotos de clientes também usam codificação de dados baseada em XML para solicitações operacionais e de configuração em dispositivos que executam o Junos OS.
A linguagem de definição de saída do Junos OS (ODL) define a transformação dos dados marcados pelo XML na saída ASCII formatada que é exibida quando você executa um comando na CLI ou solicita saída RPC em formato de texto. O módulo de extensões ODL do Junos OS define extensões YANG para o ODL, que você pode incluir em RPCs YANG personalizados para traduzir a resposta RPC XML em saída ASCII formatada.
A declaração de RPC output
yang define parâmetros de saída para a operação RPC. Na declaração RPC output
, você pode incluir declarações de extensão ODL para personalizar a saída do RPC. A Tabela 1 descreve as declarações disponíveis, fornece uma breve descrição do impacto da formatação de cada declaração e especifica os locais onde a declaração pode ser definida na declaração RPC output
.
Você inclui algumas declarações de extensão ODL sob a declaração leaf que define os dados e inclui outras dentro do contêiner de saída ou em vários níveis dentro da format
declaração, o que define a formatação de CLI. A colocação de uma declaração dentro da format
declaração determina o escopo da declaração, que pode se aplicar a um único campo, a todos os campos de uma linha ou a todos os campos em todas as linhas de saída. As declarações que podem ser definidas em qualquer nível da format
declaração podem ser incluídas no nível superior como uma criança direta da format
declaração, diretamente sob a line
declaração ou dentro de uma field
declaração.
A partir da versão 17.3 do Junos OS, a formatação de CLI para um RPC personalizado é definida dentro da declaração de junos-odl:format
extensão. Nas versões anteriores, a formatação de CLI é definida usando um contêiner que inclui a junos-odl:cli-format
declaração.
Declaração |
Descrição |
Colocação dentro da declaração do RPC |
---|---|---|
|
Insira uma linha em branco entre cada repetição de dados quando a resposta do RPC devolver o mesmo conjunto de informações para várias entidades. |
|
|
Capitalize a primeira palavra do valor de um nó em um campo de saída. |
|
|
Indique que o contêiner de contenção define a formatação de CLI para o contêiner pai. O contêiner de formatação não está incluído como um nó na resposta do RPC XML. Esta declaração é ultrapassada a partir do Junos OS Release 17.3. Em vez disso, use a |
formatação de contêiner (nível superior) |
|
Insira um cólon seguindo o rótulo do nó em um campo de saída. Esta declaração só é usada em conjunto com a |
|
|
Insira uma vírgula após o valor de um nó em um campo de saída. |
|
|
Especifique o texto a ser exibido quando o nó correspondente a um campo de saída estiver faltando. |
|
|
Direcione o renderizador para exibir um valor não relacionado ao nome do nó ou ao seu conteúdo. Esta declaração é usada apenas em RPCs do Junos OS e não pode ser incluída em RPCs personalizados. |
– |
|
Mapeie um nó leaf na árvore de saída para um campo na saída ASCII formatada. |
|
|
Encerre o conteúdo completo de um campo para a linha a seguir quando a linha atual for mais ampla que a tela. Omitir esta declaração faz com que a saída encerre sem considerar as quebras de palavras apropriadas ou a margem predominante. |
|
|
Permita que o valor em um campo se mova para a esquerda em um campo vazio. Use esta declaração para indicar valores mutuamente exclusivos subseqüentes para um conjunto de campos adjacentes para que apenas o campo mais esquerdo inclua um desses valores possíveis. Se o campo mais à esquerda não for preenchido pelo primeiro valor, um valor mapeado para um campo subseqüente que inclua a |
|
|
Defina o rótulo que precede o valor de um nó em um campo de saída sempre que o campo para esse nó incluir a |
|
|
Defina a formatação de CLI para o contêiner pai na declaração RPC A partir do Junos OS Release 17.3, a formatação de CLI é definida dentro da |
contêiner de saída ou como um subestadumento para a |
|
Defina uma linha de cabeçalho na saída CLI. |
|
|
Exija que apenas a primeira string de cabeçalho conforme definido pela |
|
|
Indente todas as linhas que não sejam a linha de cabeçalho pelo número especificado de espaços na saída CLI. |
|
|
Insira um rótulo, que é definido pela |
|
|
Defina o grupo de campos que compreende uma única linha de saída. |
|
|
Exibir vários valores na mesma linha no caso de várias entidades com os mesmos nomes de tags serem emitidas. |
|
|
Especifique graficamente a colocação, justificativa e largura das colunas em uma tabela na saída ASCII formatada do RPC. |
|
|
Insira um espaço após o valor do nó em um campo de saída. Se a |
|
|
Defina um formato ou estilo para a saída RPC. Use esta declaração em conjunto com um parâmetro de entrada enumerado que define os nomes para cada estilo. Defina esta declaração com o nome de estilo apropriado para especificar a formatação de CLI para esse estilo. |
contêiner de saída |
|
Defina explicitamente o formato para um campo de saída, incluindo a cadeia de saída e a colocação do valor do nó dentro dessa cadeia. Use Se uma declaração da leaf definir uma |
|
|
Trunque o valor de um nó para se ajustar à largura de campo definida pela |
|
|
Encerre parte do campo até a linha a seguir quando a linha atual for mais larga que a tela. Esta declaração só deve ser usada para campos na coluna mais à direita de uma tabela. |
|
Para obter mais informações sobre a estrutura dos RPCs YANG, consulte Criar RPCs personalizados em YANG para dispositivos que executam o Junos OS.
junos-odl:format
extensão. Nas versões anteriores, a formatação de CLI é definida usando um contêiner que inclui a
junos-odl:cli-format
declaração.