Descripción general de módulos YANG
Los modelos de datos yang constan de módulos y submódulos, y pueden definir datos de configuración y estado, notificaciones y RPC para que los usen los clientes basados en YANG. Un módulo YANG define un modelo de datos a través de sus datos, y la organización jerárquica y las restricciones de esos datos. Cada módulo se identifica de forma única mediante un URI de espacio de nombres.
Un módulo define un único modelo de datos. Sin embargo, un módulo puede hacer referencia a definiciones en otros módulos y submódulos mediante el uso de la import
instrucción para importar módulos externos o la include
instrucción para incluir uno o más submódulos. Además, un módulo puede aumentar otro modelo de datos mediante el uso de la augment
instrucción para definir la colocación de los nuevos nodos en la jerarquía del modelo de datos y la when
instrucción para definir las condiciones en las que los nuevos nodos son válidos. Un módulo usa la feature
instrucción para especificar partes de un módulo que son condicionales y la deviation
instrucción para especificar dónde la implementación del dispositivo podría desviarse de la definición original.
Al importar un módulo externo, se define un prefijo que se utiliza al hacer referencia a las definiciones en el módulo importado. Se recomienda usar el mismo prefijo que se define en el módulo importado para evitar conflictos.
YANG modela los datos mediante una estructura jerárquica basada en árboles con nodos. YANG define cuatro tipos de nodos. Cada nodo tiene un nombre y, según el tipo de nodo, el nodo puede definir un valor o contener un conjunto de nodos secundarios. Los tipos de nodos son:
nodo leaf: contiene un valor único de un tipo específico
nodo leaf-list: contiene una secuencia de nodos leaf
nodo contenedor: contiene una agrupación de nodos relacionados que contiene solo nodos secundarios, que pueden ser cualquiera de los cuatro tipos de nodos
nodo de lista: contiene una secuencia de entradas de lista, cada una de las cuales se identifica de forma exclusiva mediante una o más hojas de claves.
En YANG, cada nodo leaf y leaf-list incluye la type
instrucción para identificar el tipo de datos de los datos válidos para ese nodo. YANG define un conjunto de tipos integrados y también proporciona la typedef
instrucción para definir un tipo derivado a partir de un tipo base, que puede ser un tipo integrado u otro tipo derivado.
De forma predeterminada, un nodo define los datos de configuración. Un nodo define los datos de estado si están etiquetados como config false
. Los datos de configuración se devuelven mediante la operación NETCONF <get-config>
y los datos de estado se devuelven mediante la operación NETCONF <get>
.
Para obtener información detallada acerca de la sintaxis y la semántica del lenguaje YANG, consulte: