Declarações de configuração do mapa 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, quase sempre há um mapeamento um-para-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 marcação em conformidade 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. Os mesmos mapas de elementos de tag Junos XML para ambos os estilos notacionais.
As seções a seguir descrevem o mapeamento entre declarações de configuração e elementos de tag Junos XML:
Mapeamento dos níveis de hierarquia e declarações de contêiner
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 chave de fechamento em uma declaração de configuração de 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 esse objeto consiste em uma palavra-chave e um identificador do seguinte formulário:
keyword identifier { … configuration statements for individual characteristics … }
keyword
é uma cadeia 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
seqüência.
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 identificadores 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 no grupo de junos-defaults
configuração. Os identificadores definidos pelo usuário não podem começar com a seqüência junos-
.
Os elementos de tag do identificador também constituem uma exceção à convenção geral do 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 (AS) e endereço vizinho. Para obter informações sobre o mapeamento do Junos XML para declarações do leaf, consulte mapeamento para declarações de folha de valor único e de forma fixa, mapeamento de declarações do Leaf com múltiplos valores e mapeamento de várias opções em uma ou mais linhas.
O exemplo a seguir mostra os elementos da 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 contrapartida 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 de 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 de tag Junos XML para duas declarações de 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 do Junos OS leaf aceitam vários valores, que podem ser definidos pelo usuário ou extraídos de um conjunto de valores predefinidos. A notação de CLI usa suportes 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, inclui cada valor em seu próprio elemento de tag. O exemplo a seguir mostra os elementos da tag Junos XML para uma declaração de 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 de 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 emparelhados. A API Junos XML inclui cada opção em seu próprio elemento de tag. Como a primeira opção não tem palavras-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 tag para a primeira opção (10.0.0.1), que não tem palavras-chave CLI.

A sintaxe para alguns objetos de configuração inclui mais de uma linha de multioption. Mais uma vez, 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 filhos, 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 de hierarquia 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 estão fechados nas strings e -->
são automaticamente descartados <!--
pelo servidor de protocolo.)
Na API Junos XML, 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 cadeia de texto de comentários pode incluir um dos dois delimiters que indicam um comentário no banco de dados de configuração: o #
personagem antes do comentário ou as cordas /*
emparelhadas antes do comentário e */
depois dele. Se o aplicativo do 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 da 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 de linha 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, portanto, no arquivo de configuração, o comentário segue diretamente a declaração associada na mesma linha.
