Mapa de declarações de configuração para elementos de tag Junos XML
A API Junos XML define um elemento de tag para cada declaração de contêiner e leaf na hierarquia de configuração. Nos níveis superiores da hierarquia de configuração, há quase sempre um mapeamento um-a-um entre elementos de tag e declarações, e a maioria dos nomes de tags correspondem ao nome da declaração de configuração. Em níveis mais profundos da hierarquia, o mapeamento às vezes é menos direto, porque algumas convenções de notação CLI não mapeiam diretamente para sintaxe de tags compatível com XML.
Para algumas declarações de configuração, a notação usada quando você digita a declaração no prompt do modo de configuração CLI difere da notação usada em um arquivo de configuração. O mesmo elemento de tag Junos XML mapeia ambos os estilos notacionais.
As seções a seguir descrevem o mapeamento entre as declarações de configuração e os elementos de tag Junos XML:
Mapeamento para níveis de hierarquia e declarações de contêineres
O <configuration>
elemento é o elemento de contêiner Junos XML de alto nível para declarações de configuração. Ela corresponde ao nível de [edit]
hierarquia no modo de configuração CLI. A maioria das declarações nos próximos níveis da hierarquia de configuração são declarações de contêiner. O elemento de tag de contêiner Junos XML que corresponde a uma declaração de contêiner quase sempre tem o mesmo nome da declaração.
O exemplo a seguir mostra os elementos de tag Junos XML para duas declarações no nível superior da hierarquia de configuração. Observe que uma cinta de fechamento em uma declaração de configuração CLI corresponde a uma tag Junos XML de fechamento.

Mapeamento de objetos que tenham um identificador
Em alguns níveis de hierarquia, o mesmo tipo de objeto de configuração pode ocorrer várias vezes. Cada instância do objeto tem um identificador único para distingui-lo das outras instâncias. Na notação da CLI, a declaração dos pais para tal objeto consiste em uma palavra-chave e um identificador do seguinte formulário:
keyword identifier { … configuration statements for individual characteristics … }
keyword
é uma corda fixa que indica o tipo de objeto que está sendo definido, e identifier
é o nome único para esta instância do tipo. Na API Junos XML, o elemento de tag correspondente à palavra-chave é um elemento de tag de contêiner para elementos de tag infantil que representam as características do objeto. O nome do elemento de tag de contêiner geralmente combina com a keyword
corda.
A API Junos XML difere da CLI em seu tratamento do identificador. Como a API Junos XML não permite que elementos de tag de contêiner contenham outros elementos de tag e dados de caracteres não registrados, como um nome identificador, o identificador deve ser fechado em um elemento de tag próprio. Na maioria das vezes, os elementos de tag identificador para objetos de configuração são chamados <name>
. Alguns objetos têm vários identificadores, que geralmente têm nomes diferentes <name>
. Para verificar o nome de cada elemento de tag identificador para um objeto de configuração, consulte a entrada do objeto na referência do desenvolvedor de configuração de API Junos XML.
O Junos OS reserva o prefixo junos-
para os identificadores de grupos de configuração definidos dentro do junos-defaults
grupo de configuração. Os identificadores definidos pelo usuário não podem começar com a corda junos-
.
Os elementos de tag do identificador também constituem uma exceção à convenção geral de XML de que elementos de tag no mesmo nível de hierarquia podem aparecer em qualquer ordem; o elemento de tag identificador sempre ocorre primeiro dentro do elemento de tag de contêiner.
A configuração para a maioria dos objetos que têm identificadores inclui declarações adicionais do leaf, que representam outras características do objeto. Por exemplo, cada grupo BGP configurado no nível de [edit protocols bgp group]
hierarquia tem um nome associado (o identificador) e pode ter declarações leaf para outras características, como tipo, número de sistema autônomo de peer (AS) e endereço vizinho. Para obter informações sobre o mapeamento do Junos XML para declarações da leaf, veja mapeamento para declarações de leaf de valor único e forma fixa, mapeamento para declarações leaf com múltiplos valores e mapeamento para várias opções em uma ou mais linhas.
O exemplo a seguir mostra os elementos de tag Junos XML para declarações de configuração que definem dois grupos BGP chamados <name>
e <name>
. Observe que o elemento Junos XML <name>
que envolve o identificador de cada grupo (e o identificador do vizinho dentro de um grupo) não tem uma contraparte nas declarações de CLI.

Mapeamento para declarações do Leaf de valor único e de forma fixa
Uma declaração leaf é uma declaração de configuração CLI que não contém nenhuma outra declaração. A maioria das declarações do leaf define um valor para uma característica de um objeto de configuração e tem a seguinte forma:
keyword value;
Em geral, o nome do elemento de tag Junos XML correspondente a uma declaração leaf é o mesmo que a keyword
corda. A corda entre a abertura e o fechamento das tags Junos XML é a mesma que a value
corda.
O exemplo a seguir mostra os elementos da tag Junos XML para duas declarações leaf que têm uma palavra-chave e um valor: a message
declaração no nível de [edit system login]
hierarquia e a preference
declaração no nível de [edit protocols ospf]
hierarquia.

Algumas declarações da leaf consistem apenas em uma palavra-chave de forma fixa, sem um valor de forma variável associado. A API Junos XML representa tais declarações com uma tag vazia. O exemplo a seguir mostra os elementos de tag Junos XML para a disable
declaração no nível de [edit forwarding-options sampling]
hierarquia.

Mapeamento de declarações do Leaf com vários valores
Algumas declarações da leaf do Junos OS aceitam vários valores, que podem ser definidos pelo usuário ou extraídos de um conjunto de valores predefinidos. A notação CLI usa parênteses quadrados para incluir todos os valores em uma única declaração, como na seguinte:
statement [ value1 value2 value3 ...];
A API Junos XML, em vez disso, reduz cada valor em seu próprio elemento de tag. O exemplo a seguir mostra os elementos de tag Junos XML para uma declaração CLI com vários valores definidos pelo usuário. A import
declaração importa duas políticas de roteamento definidas em outros lugares da configuração.

O exemplo a seguir mostra os elementos de tag Junos XML para uma declaração CLI com vários valores predefinidos. A permissions
declaração concede três permissões predefinidas aos membros da user-accounts
classe de login.

Mapeamento de várias opções em uma ou mais linhas
Para alguns objetos de configuração do Junos OS, a sintaxe padrão de CLI coloca várias opções em uma única linha, geralmente para maior legibilidade e concisidade. Na maioria desses casos, a primeira opção identifica o objeto e não tem uma palavra-chave, mas opções posteriores são palavras-chave e valores em pares. A API Junos XML inclui cada opção em seu próprio elemento de tag. Como a primeira opção não tem nenhuma palavra-chave na declaração CLI, a API Junos XML atribui um nome ao seu elemento de tag.
O exemplo a seguir mostra os elementos de tag Junos XML para uma declaração de configuração CLI com várias opções em uma única linha. A API Junos XML define um elemento de tag para ambas as opções e atribui um nome ao elemento de tag para a primeira opção (10.0.0.1), que não tem palavras-chave CLI.

A sintaxe de alguns objetos de configuração inclui mais de uma linha de multioption. Novamente, a API Junos XML define um elemento de tag separado para cada opção. O exemplo a seguir mostra elementos de tag Junos XML para uma traceoptions
declaração no nível de [edit protocols isis]
hierarquia. A declaração tem três declarações de crianças, cada uma com várias opções.

Mapeamento para comentários sobre declarações de configuração
Uma configuração do Junos OS pode incluir comentários que descrevem declarações na configuração. No modo de configuração CLI, o annotate
comando define o comentário para associar a uma declaração no nível hierárquica atual. Você também pode usar um editor de texto para inserir comentários diretamente em um arquivo de configuração. Para obter mais informações, consulte o Guia do usuário da CLI.
A API Junos XML inclui comentários sobre declarações de configuração no <junos:comment>
elemento. (Esses comentários são diferentes dos comentários que são fechados nas strings e -->
são automaticamente descartados <!--
pelo servidor de protocolo.)
No Junos XML API, o <junos:comment>
elemento precede imediatamente o elemento para a declaração de configuração associada. (Se o elemento de tag da declaração associada for omitido, o comentário não será registrado no banco de dados de configuração.) A seqüência de texto do comentário pode incluir um dos dois delimiters que indicam um comentário no banco de dados de configuração: o #
caractere antes do comentário ou as cordas /*
pareadas antes do comentário e */
depois dele. Se o aplicativo cliente não incluir o delimiter, o servidor de protocolo adiciona o apropriado quando adiciona o comentário à configuração. O servidor de protocolo também preserva qualquer espaço branco incluído no comentário.
O exemplo a seguir mostra os elementos de tag Junos XML que associam comentários com duas declarações em uma declaração de configuração de amostra. O primeiro comentário ilustra como incluir caracteres novos no conteúdo do <junos:comment>
elemento (/* New backbone area */
) resulta no comentário que aparece em sua própria linha no arquivo de configuração. Não há caracteres de linha novos no conteúdo do segundo <junos:comment>
elemento, então no arquivo de configuração o comentário segue diretamente a declaração associada na mesma linha.
