Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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.

Nota:

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.

Tabela 1: Declarações no módulo de extensões ODL do Junos OS

Declaração

Descrição

Colocação dentro da declaração do RPC output

blank-line

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.

format declaração (nível superior )

capitalize

Capitalize a primeira palavra do valor de um nó em um campo de saída.

format declaração (qualquer nível)

cli-format

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 format declaração.

formatação de contêiner (nível superior)

colon

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 leading declaração para inserir o nome formal do nó, conforme definido pela formal-name declaração, e um cólon antes do valor do nó no campo de saída.

format declaração (qualquer nível)

comma

Insira uma vírgula após o valor de um nó em um campo de saída.

format declaração (qualquer nível)

default-text

Especifique o texto a ser exibido quando o nó correspondente a um campo de saída estiver faltando.

field Declaração

explicit

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.

field

Mapeie um nó leaf na árvore de saída para um campo na saída ASCII formatada.

line Declaração

fieldwrap

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.

field Declaração

float

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 float declaração pode se mover para o campo vazio.

field Declaração

formal-name

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 leading declaração nas instruções de formatação.

leaf

format

Defina a formatação de CLI para o contêiner pai na declaração RPC output .

A partir do Junos OS Release 17.3, a formatação de CLI é definida dentro da format declaração e não em um contêiner que inclua a cli-format declaração.

contêiner de saída ou como um subestadumento para a style declaração.

header

Defina uma linha de cabeçalho na saída CLI.

format declaração (nível superior)

header-group

Exija que apenas a primeira string de cabeçalho conforme definido pela header declaração seja emitida na saída de CLI para esse grupo de cabeçalho.

format declaração (nível superior)

indent

Indente todas as linhas que não sejam a linha de cabeçalho pelo número especificado de espaços na saída CLI.

format declaração (nível superior)

leading

Insira um rótulo, que é definido pela formal-name declaração na definição de um nó leaf, antes do valor do nó em um campo de saída.

format declaração (qualquer nível)

line

Defina o grupo de campos que compreende uma única linha de saída.

format declaração (nível superior)

no-line-break

Exibir vários valores na mesma linha no caso de várias entidades com os mesmos nomes de tags serem emitidas.

format declaração (nível superior)

picture

Especifique graficamente a colocação, justificativa e largura das colunas em uma tabela na saída ASCII formatada do RPC.

format declaração (nível superior)

space

Insira um espaço após o valor do nó em um campo de saída.

Se a space declaração for usada em conjunto com a comma declaração, a saída insere uma vírgula e, em seguida, um espaço após o valor do nó, nessa ordem.

format declaração (qualquer nível)

style

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

template

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 %s ou %d indique a colocação do valor de string ou inteiro do nó, respectivamente, dentro da cadeia de saída.

Se uma declaração da leaf definir uma template e uma formal-name declaração, e as instruções de formatação do campo correspondente incluirem a leading declaração, a saída exibirá o texto definido para a formal-name declaração e não o texto definido para a template declaração.

leaf

truncate

Trunque o valor de um nó para se ajustar à largura de campo definida pela picture declaração se o conteúdo do nó exceder a largura do campo.

field Declaração

wordwrap

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.

field Declaração

Para obter mais informações sobre a estrutura dos RPCs YANG, consulte Criar RPCs personalizados em YANG para dispositivos que executam o Junos OS.

Tabela de histórico de lançamento
Lançamento
Descrição
17.3R1
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.