Mapper les déclarations de configuration aux éléments de balise XML Junos
L’API XML Junos définit un élément de balise pour chaque instruction de conteneur et de branche dans la hiérarchie de configuration. Aux niveaux supérieurs de la hiérarchie de configuration, il y a presque toujours un mappage un-à-un entre les éléments de balise et les déclarations, et la plupart des noms de balises correspondent au nom de l’instruction de configuration. À des niveaux plus profonds de la hiérarchie, le mappage est parfois moins direct, car certaines conventions de notation CLI ne se mappent pas directement à la syntaxe de balisage conforme AU XML.
Pour certaines déclarations de configuration, la notation utilisée lorsque vous saisissez l’instruction à l’invite de configuration cli diffère de la notation utilisée dans un fichier de configuration. Le même élément de balise XML Junos est mappé aux deux styles de notation.
Les sections suivantes décrivent le mappage entre les instructions de configuration et les éléments de balise XML Junos :
Mappage des niveaux hiérarchiques et des instructions de conteneur
L’élément <configuration>
est l’élément conteneur XML Junos de niveau supérieur pour les déclarations de configuration. Il correspond au niveau hiérarchique en [edit]
mode de configuration CLI. La plupart des déclarations des prochains niveaux de la hiérarchie de configuration sont des instructions de conteneur. L’élément de balise de conteneur Junos XML qui correspond à une déclaration de conteneur porte presque toujours le même nom que l’instruction.
L’exemple suivant illustre les éléments de balise Junos XML pour deux déclarations au niveau supérieur de la hiérarchie de configuration. Notez qu’une fermeture d’une instruction de configuration CLI correspond à une balise Junos XML de fermeture.

Mappage des objets ayant un identifiant
À certains niveaux hiérarchiques, le même type d’objet de configuration peut se produire plusieurs fois. Chaque instance de l’objet dispose d’un identifiant unique pour la distinguer des autres instances. Dans la notation CLI, l’instruction parente d’un tel objet se compose d’un mot-clé et d’un identifiant de la forme suivante :
keyword identifier { … configuration statements for individual characteristics … }
keyword
est une chaîne fixe qui indique le type d’objet défini, et identifier
est le nom unique de cette instance du type. Dans l’API XML Junos, l’élément de balise correspondant au mot-clé est un élément de balise conteneur pour les éléments de balise enfant qui représentent les caractéristiques de l’objet. Le nom de l’élément de balise conteneur correspond généralement à la keyword
chaîne.
L’API XML Junos diffère de la CLI par son traitement de l’identifiant. Étant donné que l’API XML Junos n’autorise pas les éléments de balise de conteneur à contenir à la fois d’autres éléments de balise et des données de caractères non délimitées, telles qu’un nom d’identifiant, l’identifiant doit être joint à un élément de balise qui lui est propre. Le plus souvent, les éléments de balise d’identification pour les objets de configuration sont appelés <name>
. Certains objets ont plusieurs identifiants, qui ont généralement des noms autres que <name>
. Pour vérifier le nom de chaque élément de balise d’identification d’un objet de configuration, consultez l’entrée de l’objet dans la référence du développeur de configuration de l’API Junos XML.
Junos OS réserve le préfixe junos-
aux identifiants des groupes de configuration définis dans le junos-defaults
groupe de configuration. Les identifiants définis par l’utilisateur ne peuvent pas commencer par la chaîne junos-
.
Les éléments de balise d’identification constituent également une exception à la convention XML générale selon lequel les éléments de balise au même niveau de hiérarchie peuvent apparaître dans n’importe quel ordre ; l’élément de balise d’identification apparaît toujours d’abord dans l’élément de balise conteneur.
La configuration de la plupart des objets ayant des identifiants inclut des instructions de branche supplémentaires, qui représentent d’autres caractéristiques de l’objet. Par exemple, chaque groupe BGP configuré au niveau de la [edit protocols bgp group]
hiérarchie a un nom associé (l’identifiant) et peut avoir des instructions de branche pour d’autres caractéristiques telles que le type, le numéro AS (Peer Autonomous System) et l’adresse voisine. Pour plus d’informations sur le mappage XML Junos pour les instructions de branche, voir Mappage des déclarations de branche à valeur unique et à formulaire fixe, Mappage des déclarations de branche avec plusieurs valeurs et Mappage de plusieurs options sur une ou plusieurs lignes.
L’exemple suivant illustre les éléments de balise Junos XML pour les instructions de configuration qui définissent deux groupes BGP appelés <name>
et <name>
. Notez que l’élément Junos XML <name>
qui contient l’identifiant de chaque groupe (et l’identifiant du voisin au sein d’un groupe) n’a pas de contrepartie dans les instructions CLI.

Mappage pour les déclarations de branche à valeur unique et de forme fixe
Une instruction leaf est une déclaration de configuration CLI qui ne contient aucune autre déclaration. La plupart des instructions de branche définissent une valeur pour une caractéristique d’un objet de configuration et ont la forme suivante :
keyword value;
En général, le nom de l’élément de balise XML Junos correspondant à une instruction leaf est le même que celui de la keyword
chaîne. La chaîne entre les balises XML Junos d’ouverture et de fermeture est la même que la value
chaîne.
L’exemple suivant illustre les éléments de balise XML Junos pour deux déclarations de branche qui ont un mot-clé et une valeur : l’instruction message
au niveau de la [edit system login]
hiérarchie et l’instruction preference
au niveau de la [edit protocols ospf]
hiérarchie.

Certaines instructions de branche sont composées uniquement d’un mot-clé de forme fixe, sans valeur de forme variable associée. L’API XML Junos représente ces déclarations avec une balise vide. L’exemple suivant illustre les éléments de balise Junos XML pour l’instruction disable
au niveau de la [edit forwarding-options sampling]
hiérarchie.

Mappage des déclarations de branche avec plusieurs valeurs
Certaines instructions de branche Junos OS acceptent plusieurs valeurs, qui peuvent être définies par l’utilisateur ou tirées d’un ensemble de valeurs prédéfinies. La notation CLI utilise des crochets pour enfermer toutes les valeurs dans une seule instruction, comme dans les éléments suivants :
statement [ value1 value2 value3 ...];
L’API XML Junos enferme chaque valeur dans son propre élément de balise. L’exemple suivant montre les éléments de balise Junos XML pour une déclaration CLI avec plusieurs valeurs définies par l’utilisateur. L’instruction import
importe deux stratégies de routage définies ailleurs dans la configuration.

L’exemple suivant illustre les éléments de balise XML Junos pour une instruction CLI avec plusieurs valeurs prédéfinies. L’instruction permissions
accorde trois autorisations prédéfinies aux membres de la user-accounts
classe de connexion.

Mappage de plusieurs options sur une ou plusieurs lignes
Pour certains objets de configuration Junos OS, la syntaxe CLI standard place plusieurs options sur une même ligne, généralement pour plus de lisibilité et de concision. Dans la plupart de ces cas, la première option identifie l’objet et n’a pas de mot-clé, mais les options ultérieures sont associées des mots-clés et des valeurs. L’API XML Junos renferme chaque option dans son propre élément de balise. Comme la première option n’a pas de mot-clé dans l’instruction CLI, l’API XML Junos attribue un nom à son élément de balise.
L’exemple suivant montre les éléments de balise Junos XML pour une déclaration de configuration CLI avec plusieurs options sur une seule ligne. L’API XML Junos définit un élément de balise pour les deux options et attribue un nom à l’élément de balise pour la première option (10.0.0.1), qui n’a pas de mot-clé CLI.

La syntaxe de certains objets de configuration comprend plusieurs lignes multioption. Là encore, l’API XML Junos définit un élément de balise distinct pour chaque option. L’exemple suivant montre les éléments de balise XML Junos pour une traceoptions
déclaration au niveau de la [edit protocols isis]
hiérarchie. L’énoncé comporte trois déclarations enfant, chacune avec plusieurs options.

Mappage des commentaires sur les déclarations de configuration
Une configuration Junos OS peut inclure des commentaires décrivant des déclarations dans la configuration. En mode configuration CLI, la annotate
commande définit le commentaire à associer à une déclaration au niveau de la hiérarchie actuelle. Vous pouvez également utiliser un éditeur de texte pour insérer des commentaires directement dans un fichier de configuration. Pour plus d’informations, consultez le guide de l’utilisateur CLI.
L’API XML Junos contient des commentaires sur les instructions de configuration dans l’élément <junos:comment>
. (Ces commentaires sont différents de ceux qui sont joints dans les chaînes <!--
et -->
sont automatiquement rejetés par le serveur de protocole.)
Dans l’API XML Junos, l’élément <junos:comment>
précède immédiatement l’élément pour l’instruction de configuration associée. (Si l’élément de balise de l’instruction associée est omis, le commentaire n’est pas enregistré dans la base de données de configuration.) La chaîne de texte de commentaire peut inclure l’un des deux délimiteurs qui indiquent un commentaire dans la base de données de configuration : soit le #
caractère avant le commentaire, soit les chaînes /*
appariées avant le commentaire et */
après lui. Si l’application cliente n’inclut pas le délimiteur, le serveur de protocoles en ajoute le bon lorsqu’il ajoute le commentaire à la configuration. Le serveur de protocole préserve également tout espace blanc inclus dans le commentaire.
L’exemple suivant montre les éléments de balise XML Junos qui associent des commentaires à deux déclarations dans un exemple d’instruction de configuration. Le premier commentaire illustre comment l’inclusion de nouveaux caractères de ligne dans le contenu de l’élément <junos:comment>
(/* New backbone area */
) entraîne l’apparition du commentaire sur sa propre ligne dans le fichier de configuration. Il n’y a pas de nouveaux caractères de ligne dans le contenu du deuxième <junos:comment>
élément, de sorte que dans le fichier de configuration, le commentaire suit directement l’instruction associée sur la même ligne.
