Crie, modifique ou exclua elementos de configuração usando o protocolo Junos XML
Em uma sessão de protocolo Junos XML com um dispositivo que executa o Junos OS, além de substituir toda a configuração, um aplicativo cliente pode criar, modificar ou excluir um ou mais elementos de configuração (níveis de hierarquia e objetos de configuração) na configuração do candidato ou banco de dados de configuração aberto.
Para usar elementos de tag Junos XML para representar um elemento, o aplicativo inclui os elementos de tag que representam todos os níveis na hierarquia de configuração desde a raiz (representado pelo <configuration> elemento tag) até o elemento de tag de contêiner do elemento. Os atributos e os elementos de tag infantil incluídos dependem da operação que está sendo realizada no elemento. A sintaxe se aplica tanto ao conteúdo de um arquivo quanto a um fluxo de dados. No exemplo a seguir, o elemento de tag do identificador é chamado <name>:
<configuration>
<!-- opening tag for each parent of the element -->
<container-tag [operation-attribute="value"]>
<name>identifier</name> <!-- if the element has an identifier -->
<!-- child tag elements --> <!-- if appropriate -->
</container-tag>
<!-- closing tag for each parent of the element -->
</configuration>
Para usar o texto ASCII formatado para representar um elemento, o aplicativo inclui o caminho completo de declaração, começando por uma declaração que pode aparecer diretamente sob o nível de [edit] hierarquia. Os atributos e as declarações de crianças a incluir dependem da operação que está sendo realizada no elemento. O aplicativo reduz o conjunto de declarações em um <configuration-text> elemento de tag quando envia os dados de configuração como um fluxo de dados. O aplicativo omite o <configuration-text> elemento tag quando os dados de configuração são armazenados e carregados de um arquivo.
<configuration-text>
/* statements for parent levels of the element */
operation-to-perform: # if appropriate
element identifier { # if the element has an identifier
/* child statements */ # if appropriate for the operation
}
/* closing braces for parent levels of the element */
</configuration-text>
Ao carregar o texto ASCII formatado, o aplicativo deve incluir o format="text" atributo na <load-configuration> tag.
Para usar comandos de modo de configuração para criar, modificar ou excluir um elemento, o aplicativo inclui os comandos conforme eles seriam digitadas no modo de configuração no CLI. As instruções de configuração são executadas na ordem fornecida. Você pode especificar o caminho completo de declaração no comando, ou pode usar comandos de navegação CLI, como edit e up, para se mover em torno da hierarquia de configuração.
O aplicativo reduz o conjunto de comandos em um <configuration-set> elemento de tag quando envia os dados de configuração como um fluxo de dados. O aplicativo omite o <configuration-set> elemento tag quando os dados de configuração são armazenados e carregados de um arquivo.
<configuration-set>
/* configuration mode commands */
</configuration-set>
Ao carregar comandos de modo set de configuração, o aplicativo deve incluir a action="set" etiqueta e format="text" os <load-configuration> atributos.
A partir do Junos OS Release 16.1, você pode carregar dados de configuração formatados usando a Notação de objetos JavaScript (JSON) no dispositivo. Para usar o formato JSON para representar um elemento, o aplicativo inclui objetos JSON representando todos os níveis na hierarquia de configuração desde a raiz até o objeto JSON que representa esse elemento. Os atributos e objetos infantis a serem incluídos dependem da operação que está sendo realizada no elemento. Se o valor do atributo for um tipo de dados Boolean, o valor não será limitado entre aspas.
O aplicativo coloca os dados do JSON em um <configuration-json> elemento de tag quando ele envia os dados de configuração como um fluxo de dados. O aplicativo omite o <configuration-json> elemento tag quando os dados de configuração são armazenados e carregados de um arquivo.
<configuration-json>
{
"configuration" : {
/* JSON objects for parent levels of the element */
"container-tag" : {
"@" : {
"operation-attribute" : ( "value" | boolean )
},
"object" : [
{
"@" : {
"operation-attribute" : ( "value" | boolean )
},
"(name | element-identifier)" : "identifier",
"statement-name" : "statement-value",
"@statement-name" : {
"operation-attribute" : ( "value" | boolean )
},
/* additional JSON data and child objects */
}
]
}
/* closing braces for parent levels of the element */
}
}
</configuration-json>
Ao carregar dados no formato JSON, o aplicativo deve incluir o format="json" atributo na <load-configuration> tag.
Para obter mais informações sobre a origem e formatação para elementos de configuração, consulte Dados de configuração de upload e formatação em uma sessão de protocolo Junos XML.
Para obter informações sobre as operações que um aplicativo cliente pode realizar nos elementos de configuração, veja as seguintes seções:
Criação de novos elementos em dados de configuração usando o protocolo Junos XML
Fusão de elementos em dados de configuração usando o protocolo Junos XML
Substituição de elementos em dados de configuração usando o protocolo Junos XML
Substituição de apenas elementos atualizados em dados de configuração usando o protocolo Junos XML
Exclusão de elementos em dados de configuração usando o protocolo Junos XML
Renomeando objetos em dados de configuração usando o protocolo Junos XML
Reordenação de elementos em dados de configuração usando o protocolo Junos XML
Proteger ou desprotegir um objeto de configuração usando o protocolo Junos XML
Alterando o estado de ativação de um elemento de configuração usando o protocolo Junos XML
Substituição de padrões em dados de configuração usando o protocolo NETCONF ou Junos XML