Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Chargement de tables et de vues en ligne ou externes dans des applications Junos PyEZ

RÉSUMÉ Importez des tables prédéfinies ou des tables personnalisées en ligne ou externes dans votre application Junos PyEZ.

Les tableaux et vues Junos PyEZ offrent un moyen simple et efficace de configurer des équipements Junos ou d’extraire des informations spécifiques des données de configuration ou de sortie des commandes opérationnelles. Junos PyEZ fournit un ensemble de tables et de vues opérationnelles prédéfinies que vous pouvez utiliser dans les applications, ou vous pouvez créer vos propres tables et vues opérationnelles ou de configuration personnalisées.

Vous pouvez créer rapidement des tables et des vues en ligne sous la forme d’une chaîne multiligne directement dans l’application Python, ou vous pouvez créer une ou plusieurs définitions de table et de vue dans des fichiers externes et importer les tables dans votre application Python. Les tableaux et vues en ligne sont plus simples à utiliser, mais l’utilisation de fichiers externes vous permet de créer une bibliothèque centrale et réutilisable.

Pour utiliser les tables et vues prédéfinies de Junos PyEZ dans votre application Python, vous devez importer la table dans votre application. Pour utiliser des tables et des vues personnalisées, vous devez créer les définitions de table et de vue, puis charger ou importer les définitions dans l’application, selon qu’elles sont internes ou externes au module. Les sections suivantes décrivent ce processus pour les tables et les vues qui sont à la fois internes et externes au module.

Importer les tables et vues prédéfinies de Junos PyEZ

Le module jnpr.junos.command et le module Junos PyEZ jnpr.junos.op fournissent des définitions prédéfinies de table et de vue pour certains RPC et commandes opérationnels courants. Pour utiliser les tables et vues prédéfinies de Junos PyEZ dans votre application Python, vous devez inclure les instructions d’importation appropriées dans votre application. Outre l’importation de la classe Junos PyEZDevice, vous devez également importer toutes les tables requises.

L’exemple suivant importe une table opérationnelle prédéfinie, EthPortTable, à partir du jnpr.junos.op.ethport module :

Une fois que vous avez importé les définitions de table et de vue, vous pouvez les utiliser comme décrit dans Utiliser des tables et des vues. L’exemple suivant récupère les données du RPC défini dans la table, puis imprime le nom de l’interface et l’état opérationnel.

Pour plus d’informations sur les tables et vues prédéfinies de Junos PyEZ, reportez-vous à la section Tables opérationnelles Junos PyEZ prédéfinies (sortie structurée).

Charger des tables et des vues en ligne

Pour créer, charger et utiliser des tables et des vues en ligne personnalisées dans votre application Junos PyEZ :

  1. Importez les classes et bibliothèques suivantes dans votre module :
  2. Définissez une ou plusieurs tables et vues dans YAML sous la forme d’une chaîne multiligne.
  3. Chargez les définitions Table et View en incluant l’instruction suivante, où string-name est l’identificateur de la chaîne multiligne qui contient la définition Table/View :
  4. Connectez-vous à l’appareil et utilisez la table pour récupérer des informations, configurer l’appareil ou les deux, selon le type de table, par exemple :

Une fois les définitions Table et View chargées, il n’y a aucune différence dans la façon dont vous utilisez les tables en ligne ou externes dans votre module. Pour plus d’informations, reportez-vous à la rubrique Utilisation de tables et de vues.

Importation de tables et de vues externes

Les définitions de table et de vue externes sont placées dans des fichiers externes à votre application Junos PyEZ. Pour créer des tables et des vues personnalisées externes et les importer dans votre application Junos PyEZ :

  1. Définissez une ou plusieurs tables et vues au format YAML et enregistrez-les dans un fichier portant une .yml extension.
  2. Créez un fichier qui porte le même nom de base que votre fichier Table, mais qui utilise une extension .py et incluez les quatre lignes de code suivantes dans le fichier.
  3. Si les fichiers .yml et .py se trouvent dans un sous-répertoire, incluez un fichier __init__.py dans ce sous-répertoire, afin que Python vérifie ce répertoire lorsqu’il traite les instructions d’importation de table dans votre application.
  4. Dans l’application Junos PyEZ, importez la Device classe et toutes les tables requises.
  5. Connectez-vous à l’appareil et utilisez la table pour récupérer des informations, configurer l’appareil ou les deux, selon le type de table, par exemple :

Une fois les définitions Table et View chargées, il n’y a aucune différence dans la façon dont vous utilisez les tables en ligne ou externes dans votre module. Pour plus d’informations, reportez-vous à la rubrique Utilisation de tables et de vues.

Utiliser des tableaux et des vues

Une fois que vous avez chargé ou importé les définitions de table et de vue, vous pouvez utiliser les tables prédéfinies, en ligne personnalisées ou externes personnalisées de la même manière.

Pour utiliser une table :

  1. Créez l’instance Device et ouvrez une connexion à l’équipement cible :
  2. Créez l’instance Table et associez-la à l’instance Device .
  3. Utilisez la table pour récupérer des informations, configurer l’appareil ou les deux, selon le type de table.
  4. Effectuez une itération et manipulez l’objet résultant pour extraire les informations requises.

L’exemple suivant importe une table externe personnalisée, UserTable. L’application se connecte à l’appareil get() et appelle la méthode Tables pour récupérer user des objets au niveau de la [edit system login] hiérarchie. L’application imprime ensuite chaque nom d’utilisateur et sa classe de connexion correspondante.

Pour plus d’informations sur l’utilisation des tables Junos PyEZ, consultez les rubriques suivantes :