Dernière modification le 27 septembre 2020
YANG (Yet Another Next Generation) est un langage de modélisation de données pour la configuration du réseau. Il est utilisé pour exprimer la structure des données (pas les données elles-mêmes) et les instances de données peuvent être exprimées en XML, JSON, Protobuf, etc. Elles sont considérées comme valides si elles adhèrent au modèle de données YANG (schéma).
Les fichiers YANG sont appelés des modules, de façon similaire aux modules python (scripts). Nous pourrions faire les analogies suivantes par rapport au langage Python.
YANG | Python | Description |
Module | Module | Un fichier YANG complet |
Data Type | Data Types | String, Integer, Boolean, … Pour YANG on peut définir son propre type en utilisant typedef |
Structures | ||
Leaf | Variable | Une seule variable pouvant contenir une seule valeur |
Leaf-list | List | Une collection de Leaf du même type de données |
List | Dictionary | Une collection de paires clé / valeur, la clé est la Leaf et la valeur peut être n’importe quel type de données |
Container | Class | Hiérarchie de haut niveau qui regroupe Leaf, Leaf-list et list, et peut regrouper d’autres conteneurs |