Utiliser l’utilitaire de configuration Junos PyEZ pour configurer des équipements Junos
Junos PyEZ vous permet d’apporter des modifications de configuration structurées et non structurées sur les équipements Junos. Cette rubrique explique comment utiliser l’utilitaire jnpr.junos.utils.config.Config
pour apporter des modifications de configuration non structurées, qui consistent en des données de configuration statiques ou modélisées au format texte ASCII, éléments Junos XML, commandes Junos OS set
ou JavaScript Object Notation (JSON). L’utilitaire Config
vous permet également de revenir à une configuration précédemment validée ou de revenir à une configuration de secours.
Vue d’ensemble du processus de configuration
Après s’être connecté à un périphérique Junos, pour configurer le périphérique à l’aide de l’utilitaire, créez d’abord Config
un Config
objet et associez-le à l’instance Device
. Par exemple :
from jnpr.junos import Device from jnpr.junos.utils.config import Config dev = Device(host='dc1a.example.com').open() cu = Config(dev)
Par défaut, Junos PyEZ met à jour la configuration globale candidate (également appelée base de données de configuration partagée). Le processus de base pour apporter des modifications de configuration consiste à verrouiller la base de données de configuration, à charger les modifications de configuration, à valider la configuration pour qu’elle soit active, puis à déverrouiller la base de données de configuration. Lorsque vous utilisez l’utilitaire Junos PyEZ Config
pour apporter des modifications de configuration non structurées dans la base de données de configuration partagée, vous pouvez effectuer les actions suivantes en appelant les méthodes d’instance appropriées décrites ici :
-
Verrouillez la configuration à l’aide de
lock()
-
Modifiez la configuration en effectuant l’une des actions suivantes :
-
Appelez
load()
lors du chargement d’une nouvelle configuration complète ou de la modification de parties spécifiques de la configuration -
Appelez
rollback()
pour revenir à une configuration précédemment validée, comme décrit dans Restaurer la configuration -
Appelez
rescue()
pour charger la configuration de secours, comme décrit dans Charger la configuration de secours
-
-
Validez la configuration à l’aide
commit()
de , comme décrit dans Valider la configuration et Utiliser Junos PyEZ pour valider la configuration -
Déverrouillez la configuration à l’aide de
unlock()
Vous pouvez également utiliser un gestionnaire de contexte (with
... as
syntaxe) pour créer une Config
instance d’objet, et certains modes de configuration nécessitent que vous en utilisiez un. Pour ces modes, Junos PyEZ verrouille et déverrouille automatiquement la configuration. Pour plus d’informations, reportez-vous à la section Spécifier le mode de configuration.
Lorsque vous utilisez la load()
méthode pour modifier la configuration, en plus de spécifier le mode de configuration, vous pouvez également spécifier le type d’opération de chargement, le format des modifications de configuration et la source des données de configuration. L’utilitaire Config
prend en charge un grand nombre des mêmes opérations et formats de chargement que ceux disponibles dans l’interface de ligne de commande Junos. Pour plus d’informations, voir :
Vous pouvez spécifier la source des données de configuration sous la forme d’un fichier sur le serveur local, d’un fichier sur l’équipement cible ou d’un fichier à une URL accessible à partir de l’équipement cible, ou sous la forme d’une chaîne, d’un objet XML ou d’un modèle Jinja2. Pour plus d’informations sur la spécification de la source de données de configuration, consultez les sections suivantes :
Spécifier le mode de configuration
Par défaut, lorsque vous créez un Config
objet et que vous ne spécifiez pas explicitement un mode de configuration, Junos PyEZ met à jour la configuration globale candidate. Vous pouvez également spécifier un mode de configuration différent à utiliser lors de la modification de la base de données de configuration. Pour spécifier un mode autre que le mode par défaut, vous devez créer l’objet à l’aide d’un Config
gestionnaire de contexte et définir l’argument mode
sur le mode souhaité. Les modes pris en charge sont , exclusive
dynamic
, private
, batch
, et ephemeral
.
Vous pouvez utiliser Junos PyEZ pour mettre à jour la base de données de configuration éphémère sur les périphériques qui prennent en charge cette base de données. La base de données éphémère est une base de données de configuration alternative qui fournit une interface de programmation rapide pour effectuer des mises à jour de configuration sur les équipements Junos. Il s’agit d’une fonctionnalité avancée qui, si elle n’est pas utilisée correctement, peut avoir un impact négatif sérieux sur le fonctionnement de l’appareil. Pour plus d’informations, reportez-vous à la section Présentation de la base de données de configuration éphémère.
Lorsque vous spécifiez un mode autre que le mode par défaut, le gestionnaire de contexte gère l’ouverture et le verrouillage, ainsi que la fermeture et le déverrouillage de la base de données. Cela permet de s’assurer que vous ne laissez pas involontairement la base de données dans un état verrouillé. Dans ces cas, il vous suffit d’appeler les load()
méthodes et commit()
pour configurer l’appareil.
Par exemple, le code suivant apporte des modifications à la configuration à l’aide du configure private
mode, qui ouvre une copie privée de la configuration candidate :
from jnpr.junos import Device from jnpr.junos.utils.config import Config dev = Device(host='dc1a.example.com').open() with Config(dev, mode='private') as cu: cu.load('set system services netconf traceoptions file test.log', format='set') cu.pdiff() cu.commit() dev.close()
Pour plus d’informations sur les différents modes de configuration, reportez-vous au Guide de l’utilisateur CLI et à Utiliser Junos PyEZ pour configurer des équipements Junos.
Spécifier l’opération de chargement
Junos PyEZ prend en charge les modifications de configuration de chargement en utilisant un grand nombre des mêmes opérations de chargement que celles prises en charge dans l’interface de ligne de commande Junos. Vous spécifiez l’opération de charge souhaitée en incluant ou en omettant les paramètres appropriés dans la Config
load()
méthode.
Le Tableau 1 présente les opérations de chargement prises en charge et l’argument de méthode correspondant load()
. Par défaut, Junos PyEZ effectue une load replace
opération. Pour utiliser une autre opération de chargement, définissez le paramètre correspondant sur True
dans la load()
méthode.
Opération de chargement |
Argument |
Description |
Première version prise en charge de Junos PyEZ |
---|---|---|---|
|
|
Fusionnez la configuration chargée avec la configuration existante. |
1.0 |
|
|
Remplacez l’ensemble de la configuration par la configuration chargée. |
1.0 |
|
|
Chargez les données de configuration à partir d’un fichier de correctif. |
2.4.0 |
|
– |
Fusionnez la configuration chargée avec la configuration existante, mais remplacez les instructions de la configuration existante par celles qui spécifient la |
1.0 |
|
|
Chargez une configuration complète et comparez-la à la configuration existante. Chaque élément de configuration différent dans la configuration chargée remplace son élément correspondant dans la configuration existante. Lors de l’opération de validation, seuls les processus système affectés par les éléments de configuration modifiés analysent la nouvelle configuration. |
2.1.0 |
L’exemple suivant effectue une load override
opération qui remplace l’intégralité de la configuration candidate par la configuration chargée, puis valide la configuration candidate pour la rendre active.
from jnpr.junos import Device from jnpr.junos.utils.config import Config config_mx = 'configs/junos-config-mx.conf' dev = Device(host='router1.example.com').open() with Config(dev, mode='exclusive') as cu: cu.load(path=config_mx, overwrite=True) cu.commit() dev.close()
Spécifier le format des données de configuration à charger
L’utilitaire Junos PyEZ Config
vous permet de configurer les équipements Junos à l’aide de l’un des formats standard pris en charge. Vous pouvez fournir des données de configuration sous forme de chaînes, de fichiers, d’objets XML ou d’objets Jinja2 Template. Les fichiers peuvent contenir des extraits de données de configuration ou des modèles Jinja2. Lorsque vous fournissez des données de configuration dans une chaîne, un fichier ou un modèle Jinja2, les formats pris en charge pour les données incluent le texte ASCII, les éléments Junos XML, les commandes Junos OS set
et JSON. Vous pouvez spécifier le format des données de configuration soit en incluant explicitement le format
paramètre dans la méthode utilitaire Config
load()
, soit en ajoutant l’extension appropriée au fichier de données de configuration. Si vous ne spécifiez pas de format, la valeur par défaut est XML.
À partir de la version 1.2 de Junos PyEZ, Junos PyEZ détecte automatiquement le format lorsque vous fournissez les données de configuration sous forme de chaîne.
Le Tableau 2 récapitule les formats pris en charge pour les données de configuration et la valeur correspondante pour l’extension de fichier et format
le paramètre. Lorsque vous utilisez la mise en forme XML Junos pour les données de configuration, vous devez placer les données dans la balise de niveau <configuration>
supérieur.
Vous n’avez pas besoin d’inclure des données de configuration au format texte ASCII, des commandes Junos OS set
, JSON dans <configuration-text>
, <configuration-set>
ou <configuration-json>
des balises comme requis lors de la configuration du périphérique directement dans une session NETCONF.
Format des données de configuration |
Extension de fichier |
format Paramètre |
---|---|---|
Texte ASCII |
.conf, .text, .txt |
Texte |
Notation d’objet JavaScript (JSON) |
.Json |
Json |
|
.Ensemble |
Ensemble |
Eléments XML Junos |
.Xml |
Xml |
Lorsque le overwrite
paramètre ou update
est défini sur True
, vous ne pouvez pas utiliser le format de commande Junos OS set
.
Les équipements exécutant Junos OS version 16.1R1 ou ultérieure prennent en charge le chargement des données de configuration au format JSON.
Spécifier l’emplacement des données de configuration
Junos PyEZ vous permet de charger des données de configuration sous forme de chaînes, de fichiers, d’objets XML ou d’objets Jinja2 Template. Les fichiers peuvent contenir des extraits de données de configuration ou des modèles Jinja2.
Le Tableau 3 récapitule les load()
paramètres de méthode que vous utilisez pour transmettre les données de configuration ou référencer leur emplacement. Vous devez toujours spécifier le format des données en incluant le format
paramètre dans l’appel de méthode, sauf si vous utilisez des chaînes, des objets XML ou des fichiers dont le format est indiqué par l’extension de fichier. Lors de l’utilisation de modèles Jinja2, incluez le template_vars
paramètre à transmettre dans le dictionnaire des variables de modèle requises.
Paramètre |
Source de données de configuration |
Description |
|
---|---|---|---|
|
Fichier local |
Chemin d’accès à un fichier sur le serveur de gestion des configurations local contenant des données de configuration au format texte ASCII, des éléments XML Junos, des commandes Junos OS |
Vous devez inclure le |
|
Jinja2 Objet Template |
Objet Jinja2 Template préchargé. Incluez le |
Vous devez inclure le |
|
Fichier de modèle Jinja2 local |
Chemin d’accès à un fichier sur le serveur de gestion de la configuration local contenant un modèle Jinja2 formaté en texte ASCII, éléments XML Junos, commandes Junos OS Incluez le |
Vous devez inclure le |
|
Fichier distant |
Chemin d’accès à un fichier situé sur le périphérique Junos ou à une URL distante accessible à partir du périphérique Junos à l’aide d’une URL FTP ou HTTP (Hypertext Transfer Protocol). |
Vous devez inclure le |
|
Objet XML String |
Objet XML ou chaîne contenant des données de configuration au format texte ASCII, éléments XML Junos, commandes Junos OS |
Dans ce cas, Junos PyEZ détecte automatiquement le format des données de configuration, et le |
Charger les données de configuration à partir d’un fichier local ou distant
Junos PyEZ vous permet de charger des données de configuration au format texte ASCII, éléments XML Junos, commandes Junos OS set
ou JSON à partir d’un fichier local ou distant.
Pour charger des données de configuration à partir d’un fichier local sur le serveur de gestion de la configuration, définissez le paramètre de path
la load()
méthode sur le chemin absolu ou relatif du fichier. Par exemple :
from jnpr.junos import Device from jnpr.junos.utils.config import Config dev = Device(host='dc1a.example.com').open() conf_file = 'configs/junos-config-interfaces.conf' with Config(dev, mode='exclusive') as cu: cu.load(path=conf_file, merge=True) cu.commit() dev.close()
Vous pouvez également charger les données de configuration à partir d’un fichier situé sur le périphérique Junos ou à partir d’une URL accessible à partir du périphérique Junos. Pour charger des données de configuration à partir d’un fichier sur le périphérique Junos, définissez le url
paramètre sur le chemin absolu ou relatif du fichier sur le périphérique cible et incluez tous les autres paramètres requis pour l’opération de chargement. Par exemple :
cu.load(url='/var/home/user/golden.conf')
url
paramètre sur l’emplacement FTP ou l’URL HTTP (Hypertext Transfer Protocol) d’un fichier distant et incluez tous les autres paramètres requis pour l’opération de chargement. Par exemple :
cu.load(url='ftp://username@ftp.hostname.net/path/filename')
cu.load(url='http://username:password@example.com/path/filename')
Pour plus d’informations sur la spécification de l’URL, reportez-vous à l’attribut url
de l’opération <load-configuration> du protocole XML Junos.
Si le fichier n’indique pas le format des données de configuration à l’aide de l’une des extensions de fichier acceptées, comme indiqué dans Spécifier le format des données de configuration à charger, vous devez spécifier le format en incluant le format
paramètre dans la load()
liste des paramètres de méthode. Par exemple :
conf_file = 'configs/junos-config-interfaces' cu.load(path=conf_file, format='text', merge=True)
Pour plus d’informations sur le chargement des données de configuration à partir de modèles Jinja2 ou de fichiers de modèles, consultez Charger des données de configuration à l’aide de modèles Jinja2.
Charger des données de configuration à partir d’une chaîne
Pour charger des données de configuration au format texte ASCII, des éléments XML Junos, des commandes Junos OS set
ou JSON à partir d’une chaîne, incluez la chaîne comme premier argument dans la liste des arguments de méthode load()
. Junos PyEZ détecte automatiquement le format des données de configuration sous forme de chaînes. Dans ce cas, le format
paramètre est facultatif.
Les extraits de code suivants présentent des exemples de chaînes multilignes contenant des données de configuration dans les différents formats et les appels correspondants à la load()
méthode. Le paramètre facultatif format
est explicitement inclus dans chaque exemple pour plus de clarté. Dans les exemples, cu
il s’agit d’une instance de l’utilitaire Config
, qui fonctionne sur le périphérique Junos cible.
from jnpr.junos import Device from jnpr.junos.utils.config import Config dev = Device(host='dc1a.example.com').open() cu = Config(dev)
Pour les données de configuration au format texte ASCII :
config_text = """ system { scripts { op { file test.slax; } } } """
Chargez les données de configuration en fournissant la chaîne comme premier argument de la liste, et spécifiez
format="text"
éventuellement .cu.load(config_text, format='text', merge=True)
Pour les données de configuration au format XML Junos :
config_xml = """ <configuration> <system> <scripts> <op> <file> <name>test.slax</name> </file> </op> </scripts> </system> </configuration> """
Chargez les données de configuration en fournissant la chaîne comme premier argument de la liste, et spécifiez
format="xml"
éventuellement .cu.load(config_xml, format='xml', merge=True)
Pour les données de configuration formatées sous forme de commandes Junos OS
set
:config_set = """ set system scripts op file test.slax """
Chargez les données de configuration en fournissant la chaîne comme premier argument de la liste, et spécifiez
format="set"
éventuellement .cu.load(config_set, format='set', merge=True)
Pour les données de configuration formatées à l’aide de JSON :
config_json = """{ "configuration" : { "system" : { "scripts" : { "op" : { "file" : [ { "name" : "test.slax" } ] } } } } }"""
Chargez les données de configuration en fournissant la chaîne comme premier argument de la liste, et spécifiez
format="json"
éventuellement .cu.load(config_json, format='json', merge=True)
Charger les données de configuration formatées en tant qu’objet XML
Pour charger des données de configuration au format en tant qu’objet XML, incluez l’objet en tant que premier argument dans la liste des arguments de méthode load()
et fournissez tous les autres paramètres requis. Étant donné que le format par défaut des données de configuration est XML, vous n’avez pas besoin d’inclure explicitement le format
paramètre dans l’appel de méthode.
Le code suivant présente un objet XML et l’appel correspondant à la load()
méthode :
from jnpr.junos import Device from jnpr.junos.utils.config import Config from lxml.builder import E config_xml_obj = ( E.configuration( # create an Element called "configuration" E.system( E.scripts( E.op ( E.file ( E.name("test.slax"), ) ) ) ) ) ) with Device(host='dc1a.example.com') as dev: with Config(dev, mode='exclusive') as cu: cu.load(config_xml_obj, merge=True) cu.commit()
Charger les données de configuration à l’aide de modèles Jinja2
Junos PyEZ prend en charge l’utilisation de modèles Jinja2 pour le rendu des données de configuration Junos. Jinja est un moteur de modèles pour Python qui vous permet de générer des documents à partir de modèles prédéfinis. Les modèles, qui sont des fichiers texte dans la langue souhaitée, offrent une grande flexibilité grâce à l’utilisation d’expressions et de variables. Vous pouvez créer des données de configuration Junos à l’aide de modèles Jinja2 dans l’un des formats de configuration pris en charge, notamment le texte ASCII, les éléments XML Junos, les commandes Junos OS set
et JSON. Junos PyEZ utilise le modèle Jinja2 et un dictionnaire de variables fourni pour restituer les données de configuration.
Les modèles Jinja2 fournissent une méthode puissante pour générer des données de configuration, en particulier pour les strophes de configuration similaires. Par exemple, plutôt que d’ajouter manuellement les mêmes instructions de configuration pour chaque interface d’un appareil, vous pouvez créer un modèle qui effectue une itération sur une liste d’interfaces et crée les instructions de configuration requises pour chacune d’entre elles. Dans Jinja, les blocs sont délimités par '{%
' et '' et les%}
variables sont entourées de '{{
' et '}}
'.
L’exemple de modèle Jinja2 suivant génère des données de configuration qui activent MPLS sur l’unité logique 0 pour chaque interface d’une liste donnée et configure également l’interface sous les protocoles MPLS et RSVP.
interfaces { {% for item in interfaces %} {{ item }} { description "{{ description }}"; unit 0 { family {{ family }}; } } {% endfor %} } protocols { mpls { {% for item in interfaces %} interface {{ item }}; {% endfor %} } rsvp { {% for item in interfaces %} interface {{ item }}; {% endfor %} } }
Dans le code Junos PyEZ, le dictionnaire correspondant des variables de modèle Jinja2 est le suivant :
config_vars = { 'interfaces': ['ge-1/0/1', 'ge-1/0/2', 'ge-1/0/3'], 'description': 'MPLS interface', 'family': 'mpls' }
Pour charger le modèle Jinja2 dans le code Junos PyEZ, définissez le template_path
paramètre sur le chemin d’accès du fichier de modèle, puis template_vars
sur le dictionnaire des variables de modèle. Si vous n’utilisez pas l’une des extensions de fichier acceptées pour indiquer le format des données de configuration, vous devez inclure le format
paramètre dans la load()
liste des paramètres de méthode.
from jnpr.junos import Device from jnpr.junos.utils.config import Config conf_file = 'configs/junos-config-interfaces-mpls.conf' config_vars = { 'interfaces': ['ge-1/0/1', 'ge-1/0/2', 'ge-1/0/3'], 'description': 'MPLS interface', 'family': 'mpls' } with Device(host='router1.example.com') as dev: with Config(dev, mode='exclusive') as cu: cu.load(template_path=conf_file, template_vars=config_vars, merge=True) cu.commit()
Si vous fournissez un objet Jinja2 Template préchargé, vous devez utiliser le template
paramètre au lieu du paramètre dans la liste des arguments de template_path
la load()
méthode.
Junos PyEZ utilise le modèle Jinja2 et le dictionnaire de variables pour afficher les données de configuration suivantes, qui sont ensuite chargées dans la configuration candidate et validées sur l’équipement :
interfaces { ge-1/0/1 { description "MPLS interface"; unit 0 { family mpls; } } ge-1/0/2 { description "MPLS interface"; unit 0 { family mpls; } } ge-1/0/3 { description "MPLS interface"; unit 0 { family mpls; } } } protocols { mpls { interface ge-1/0/1; interface ge-1/0/2; interface ge-1/0/3; } rsvp { interface ge-1/0/1; interface ge-1/0/2; interface ge-1/0/3; } }
La vidéo suivante présente une courte session Python qui montre comment utiliser un modèle Jinja2 pour configurer un périphérique Junos.
Pour plus d’informations sur Jinja2, consultez la documentation Jinja2 à l’https://jinja.pocoo.org/docs/.
Restaurer la configuration
Les équipements Junos stockent une copie de la dernière configuration validée et jusqu’à 49 configurations précédentes, selon la plate-forme. Vous pouvez restaurer n’importe quelle configuration stockée. Ceci est utile lorsque les modifications de configuration entraînent des résultats indésirables et que vous souhaitez revenir à une configuration de travail connue. La restauration de la configuration est similaire au processus de modification de la configuration sur l’appareil, mais au lieu de charger les données de configuration, vous effectuez une restauration, qui remplace l’intégralité de la configuration candidate par une configuration précédemment validée.
La méthode de classe rollback()
Junos PyEZ jnpr.junos.utils.config.Config
vous permet de restaurer la configuration sur un périphérique Junos. Pour restaurer la configuration, appelez la rollback()
méthode et définissez l’argument rb_id
sur l’ID de la configuration de restauration. Les valeurs d’ID valides sont égales à 0 (zéro, pour la configuration validée la plus récente) à une unité de moins que le nombre de configurations précédentes stockées (le maximum est de 49). Si vous omettez ce paramètre dans l’appel de méthode, la valeur par défaut est 0.
L’exemple suivant demande la restauration de l’ID de restauration de la configuration, restaure la configuration, imprime les différences de configuration, puis valide la configuration pour en faire la configuration active sur l’appareil.
from jnpr.junos import Device from jnpr.junos.utils.config import Config rollback_id = int(input('Rollback ID of the configuration to restore: ')) with Device(host='dc1a.example.com') as dev: with Config(dev, mode='exclusive') as cu: cu.rollback(rb_id=rollback_id) cu.pdiff() cu.commit()
user@server:~$ python3 junos-pyez-rollback.py Rollback ID of the configuration to restore: 1 [edit interfaces] - ge-0/0/1 { - unit 0 { - family inet { - address 198.51.100.1/24; - } - } - }
Pour obtenir un exemple plus complet incluant la gestion des erreurs, reportez-vous à la section Exemple : utilisation de Junos PyEZ pour restaurer la configuration.
Charger la configuration de sauvetage
Une configuration de secours vous permet de définir une configuration de travail connue ou une configuration dont l’état est connu que vous pouvez restaurer à tout moment. Vous pouvez utiliser la configuration de secours lorsque vous devez revenir à une configuration connue ou en dernier recours si la configuration de votre routeur ou de votre commutateur et les fichiers de configuration de sauvegarde sont irréparables. Lorsque vous créez une configuration de secours, l’appareil enregistre la configuration la plus récemment validée en tant que configuration de secours.
L’utilitaire Junos PyEZ jnpr.junos.utils.config.Config
vous permet de gérer la configuration de secours sur les équipements Junos. Après avoir créé une instance de la Config
classe, vous utilisez la rescue()
méthode pour gérer la configuration de secours. Vous spécifiez l’action à effectuer sur la configuration de sauvetage en définissant le rescue()
paramètre method action
sur l’opération souhaitée.
Pour charger la configuration de secours existante dans la configuration candidate, spécifiez action="reload"
. S’il n’existe aucune configuration de secours, l’opération de chargement renvoie False
. Après avoir chargé la configuration de secours, vous devez valider la configuration pour en faire la configuration active sur l’appareil.
L’exemple suivant charge et valide la configuration de secours, s’il en existe une :
from jnpr.junos import Device from jnpr.junos.utils.config import Config with Device(host='dc1a.example.com') as dev: with Config(dev, mode='exclusive') as cu: rescue = cu.rescue(action='reload') if rescue is False: print ('No existing rescue configuration.') else: cu.pdiff() cu.commit()
Pour plus d’informations sur la création, la récupération ou la suppression de la configuration de secours et pour obtenir d’autres exemples, reportez-vous à la section Utiliser Junos PyEZ pour gérer la configuration de secours sur les équipements Junos.
Valider la configuration
Après avoir modifié la configuration, vous devez valider la configuration pour en faire la configuration active sur l’appareil. Lorsque vous utilisez l’utilitaire Config
pour apporter des modifications de configuration non structurées sur un périphérique, vous validez la configuration candidate en appelant la commit()
méthode.
from jnpr.junos import Device from jnpr.junos.utils.config import Config conf_file = 'configs/junos-config-interfaces.conf' with Device(host='dc1a.example.com') as dev: with Config(dev, mode='exclusive') as cu: cu.load(path=conf_file, merge=True) cu.commit()
Pour plus d’informations sur l’opération de validation et les options de validation prises en charge dans les scripts Junos PyEZ, reportez-vous à la section Utiliser Junos PyEZ pour valider la configuration.
Tableau de l’historique des modifications
La prise en charge des fonctionnalités est déterminée par la plate-forme et la version que vous utilisez. Utilisez l’Explorateur de fonctionnalités pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.