Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Définition des tables de configuration Junos PyEZ

RÉSUMÉ Créez des tables personnalisées pour configurer une ressource spécifique sur un équipement Junos ou extraire les données de configuration de l’équipement.

Vous définissez des tables de configuration Junos PyEZ pour extraire des données spécifiques de la base de données de configuration sélectionnée d’un équipement Junos ou pour créer des ressources structurées qui peuvent être utilisées pour configurer un équipement Junos par programmation. Ainsi, vous pouvez rapidement récupérer ou modifier des objets de configuration spécifiques sur l’appareil.

Les tables Junos PyEZ sont mises en forme à l’aide de YAML. Lorsque vous définissez une table de configuration Junos PyEZ, vous devez spécifier l’étendue de la configuration à l’aide de ou get set. Les tables qui incluent la get propriété ne peuvent récupérer que les données de configuration spécifiées à partir d’un appareil. Les tables qui incluent la propriété définissent les set ressources de configuration que vous pouvez utiliser pour configurer l’appareil et pour récupérer les données de configuration de l’appareil. Il s’agit donc d’un sur-ensemble qui inclut toutes les fonctionnalités des tables qui spécifient get.

Les définitions de table de configuration peuvent inclure un certain nombre de paramètres obligatoires et facultatifs. Le Tableau 1 récapitule les paramètres et spécifie si le paramètre peut être utilisé dans les tables qui récupèrent uniquement les données de configuration de l’appareil (get) ou dans les tables qui peuvent également configurer l’appareil (set).

Tableau 1 : paramètres de la table de configuration Junos PyEZ

Nom du paramètre de la table

Paramètre de table

Table Type

Description

Nom de la table

get Ou set

Identificateur de table défini par l’utilisateur.

Champ d’application de la configuration

get Ou set

XPath par rapport à l’élément de niveau <configuration> supérieur qui identifie le niveau hiérarchique de configuration auquel sélectionner ou configurer des objets, en fonction du type de table.

Spécifiez get pour récupérer les objets de configuration ou spécifiez set pour configurer et récupérer les objets.

Ces objets deviennent la référence de la vue associée.

Champ de clé de ressource de configuration

key-field

set

Chaîne ou liste de chaînes qui fait référence à tous les noms de champs définis dans la vue qui correspondent à des éléments d’identification et peuvent être utilisés pour identifier de manière unique l’objet de configuration. Par exemple, vous pouvez spécifier le nom du champ qui correspond à l’élément d’un <name> objet.

Vous devez toujours définir au moins un champ clé dans la table, et les utilisateurs doivent déclarer des valeurs pour toutes les clés lors de la configuration de la ressource dans leur application.

Clés requises

required_keys

get Ou set

(Facultatif) Tableau associatif, ou dictionnaire, de paires clé-valeur qui mappent un niveau hiérarchique dans l’étendue de configuration à l’élément qui identifie de manière unique l’objet à ce niveau hiérarchique, par exemple, l’élément <name> .

Les utilisateurs doivent inclure toutes les clés requises en tant qu’arguments de la get() méthode lors de la récupération des données de configuration dans leur application.

Affichage du tableau

view

get Ou set

Vue associée à la table.

Prenons l’exemple des tableaux de configuration Junos PyEZ suivants et des vues qui leur sont associées. UserTable, qui inclut la get propriété, extrait les données de configuration des comptes d’utilisateurs sur l’équipement cible. UserConfigTable, qui inclut la set propriété, définit une ressource de configuration structurée qui peut être utilisée pour configurer les comptes d’utilisateurs sur l’équipement cible et récupérer les données de configuration des comptes d’utilisateurs.

Les sections suivantes traitent des différentes composantes des tableaux :

Nom de la table

Le nom de la table est un identificateur défini par l’utilisateur pour la table. Le fichier ou la chaîne YAML peut contenir une ou plusieurs tables. Le début du document YAML doit être justifié à gauche. Par exemple :

Étendue de la configuration (obtenir ou définir)

La propriété étendue de configuration, qui est requise dans toutes les définitions de table de configuration, identifie le niveau hiérarchique de configuration auquel récupérer ou configurer les objets, en fonction du type de table. Les tables de configuration Junos PyEZ peuvent être utilisées pour récupérer et modifier les données de configuration sur un équipement Junos. Les tables de configuration qui spécifient la propriété ne peuvent récupérer que les get données de configuration. Les tables de configuration qui spécifient la propriété peuvent à la fois configurer et récupérer des set données.

La valeur de get or set est une expression XPath relative à l’élément de niveau <configuration> supérieur qui identifie le niveau hiérarchique auquel récupérer ou définir les données de configuration. Ces données deviennent la référence de la vue associée.

Considérez l’exemple de hiérarchie de configuration suivant :

Pour récupérer ou configurer les user éléments au niveau de la [edit system login] hiérarchie, la valeur de la get propriété ou set utilise l’expression suivante :

Note:

N’incluez pas de barre oblique ( / ) à la fin de l’expression XPath, car le script générera une erreur.

Par exemple, pour définir une table qui ne peut être utilisée que pour récupérer user des objets, utilisez get.

Pour définir une table qui peut être utilisée pour configurer user des objets en plus de les récupérer, utilisez set.

Par défaut, les tables de configuration Junos PyEZ récupèrent les données de la base de données de configuration candidate. Lorsque vous appelez la get() méthode dans le script Python pour récupérer les données de la table, vous pouvez spécifier que la méthode doit renvoyer les données de la base de données de configuration validée en transmettant l’argument options et en incluant l’élément 'database':'committed' dans le options dictionnaire. Par exemple :

Champ clé (champ clé)

Dans la configuration de Junos OS, chaque instance d’un objet de configuration, par exemple une interface ou un compte d’utilisateur, doit avoir un identificateur unique. Dans de nombreux cas, l’élément <name> , qui est explicitement affiché dans la sortie XML Junos, identifie de manière unique chaque instance de l’objet. Cependant, dans certains cas, un élément différent ou une combinaison d’éléments est utilisé. Par exemple, une interface logique est identifiée de manière unique par la combinaison du nom de l’interface physique et du numéro d’unité logique.

Les tables de configuration qui spécifient la set propriété permettant de définir une ressource de configuration doivent indiquer quel élément ou quelle combinaison d’éléments identifie la ressource de manière unique. La key-field propriété, qui est une chaîne ou une liste de chaînes, sert cette fonction et est requise pour toutes les set tables de configuration.

La vue d’une set table doit définir explicitement des champs pour tous les éléments d’identification de la ressource de configuration. La key-field propriété doit ensuite référencer tous les noms de champ des éléments d’identification dans la définition de table. Lors de l’utilisation de la table pour configurer la ressource, une application Junos PyEZ doit fournir des valeurs pour tous les champs clés.

Par exemple, le tableau suivant définit une ressource structurée qui peut être utilisée pour configurer des comptes d’utilisateurs au niveau de la [edit system login] hiérarchie. La vue définit explicitement le username champ et le mappe à l’élément name au niveau de la [edit system login user] hiérarchie. La key-field propriété fait référence à ce champ pour indiquer que l’élément name identifie de manière unique les instances de cet objet.

Lorsque l’application Junos PyEZ configure des instances de la UserConfigTable ressource sur l’équipement, elle doit définir une valeur pour la username clé pour chaque instance. Par exemple :

Si la table de configuration définit des champs pour les instructions de plusieurs niveaux hiérarchiques qui ont des identificateurs à chaque niveau, la key-field propriété doit inclure tous les identificateurs. Par exemple, si la table configure une unité logique sur une interface, la propriété doit inclure à la fois le nom de l’interface et le numéro de l’unité key-field logique en tant que clés.

Clés requises (required_keys)

Vous incluez la propriété facultative required_keys dans votre définition de table de configuration pour exiger que les utilisateurs de table fournissent des valeurs pour une ou plusieurs clés lorsqu’ils récupèrent les données dans leur application. Chaque clé doit mapper un niveau hiérarchique dans l’étendue de configuration définie par le get paramètre ou set à l’identificateur <name> de ce niveau. Vous ne pouvez définir qu’une seule clé par niveau hiérarchique.

Dans l’exemple suivant, UserTable nécessite que l’application Junos PyEZ spécifie la valeur d’un name élément au niveau de la [edit system login user] hiérarchie lorsqu’elle récupère les données :

Dans le script Junos PyEZ correspondant, vous devez inclure les clés requises dans la liste des arguments de la get() méthode. L'exemple suivant demande les données de configuration pour l'utilisateur nommé « readonly » :

Vous ne pouvez exiger des clés qu’aux niveaux hiérarchiques de l’étendue de configuration définie par le get paramètre or set . Considérez la définition suivante pour get:

Dans ce cas, vous pouvez demander à l’utilisateur de fournir des valeurs pour le nom de l’interface et le numéro d’unité, comme indiqué dans l’exemple de code suivant, mais vous ne pouvez pas définir une clé requise pour l’adresse de l’interface, qui se trouve à un niveau hiérarchique inférieur :

Vue tabulaire (vue)

La view propriété associe la définition de la table à une vue particulière. Une vue mappe vos noms de champs définis par l’utilisateur aux éléments des éléments de table sélectionnés à l’aide d’expressions XPath. Vous pouvez personnaliser la vue pour ne sélectionner que certains éléments à récupérer ou à configurer, en fonction du type de table et de l’opération.

Pour plus d’informations sur la définition de vues pour les tables de configuration, reportez-vous à la section Définition de vues pour les tables de configuration Junos PyEZ.