Utiliser l’utilitaire de configuration Junos PyEZ pour configurer les é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 mises en forme sous forme de texte ASCII, d’éléments XML Junos, de commandes Junos OS set ou de notation d’objet JavaScript (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 vous être connecté à un équipement Junos, pour configurer le périphérique à l’aide de l’utilitaire Config , créez d’abord 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 -
Appel
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 exigent 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 bon nombre des opérations de chargement et des formats 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, privatedynamic, batch, et ephemeral.
Vous pouvez utiliser Junos PyEZ pour mettre à jour la base de données de configuration éphémère sur les équipements 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 le chargement des modifications de configuration à l’aide d’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 décrit 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 de modèle Jinja2. 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 sont le texte ASCII, les éléments XML Junos, 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 aucun 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 ou 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 |
SMS |
Notation d’objet JavaScript (JSON) |
.json |
json |
|
.poser |
poser |
Éléments XML Junos |
.xml |
XML (en anglais) |
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 des données de configuration |
Description |
|
|---|---|---|---|
|
Fichier local |
Chemin d’accès à un fichier sur le serveur de gestion de la configuration local contenant des données de configuration au format texte ASCII, éléments XML Junos, commandes Junos OS |
Vous devez inclure le |
|
Jinja2 Objet modèle |
Objet Jinja2 Template préchargé. Incluez le |
Vous devez inclure le |
|
Fichier modèle Jinja2 local |
Chemin d’accès à un fichier sur le serveur de gestion de la configuration local contenant un modèle Jinja2 au format ASCII, des éléments XML Junos, des commandes Junos OS Incluez le |
Vous devez inclure le |
|
Fichier distant |
Chemin d’accès à un fichier situé sur l’équipement Junos ou à une URL distante accessible à partir de l’équipement Junos à l’aide d’une URL FTP ou HTTP (Hypertext Transfer Protocol). |
Vous devez inclure le |
|
Objet XML Corde |
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 paramètre n’est |
Charger les données de configuration à partir d’un fichier local ou distant
Junos PyEZ vous permet de charger des données de configuration formatées sous forme de texte ASCII, d’éléments XML Junos, de 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 des 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 l’équipement Junos, définissez le url paramètre sur le chemin absolu ou relatif du fichier sur l’équipement 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 en tant que 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, le format paramètre est donc facultatif dans ce cas.
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 opère sur l’équipement 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 Junos XML :
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 formatées 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 restituer les 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 constituent 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 :
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 au fichier de modèle, puis définissez-le 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 méthode load() .
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 équipement Junos.
Pour plus d’informations sur Jinja2, consultez la documentation Jinja2 à https://jinja.palletsprojects.com/en/stable/.
Restaurer la configuration
Les équipements Junos stockent une copie de la dernière configuration validée et jusqu’à 49 configurations précédentes, en fonction de la plate-forme. Vous pouvez revenir à n’importe laquelle des configurations stockées. Ceci est utile lorsque des 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 équipement 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 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 sauvetage 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 de méthode action sur l’opération souhaitée.
Pour charger la configuration de sauvetage 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 des exemples supplémentaires, 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 plateforme 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.