Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Definir tablas de configuración de Junos PyEZ

RESUMEN Cree tablas personalizadas que configuren un recurso específico en un dispositivo Junos o extraigan datos de configuración del dispositivo.

Las tablas de configuración de Junos PyEZ se definen para extraer datos específicos de la base de datos de configuración seleccionada de un dispositivo Junos o para crear recursos estructurados que se pueden utilizar para configurar un dispositivo Junos mediante programación. Por lo tanto, puede recuperar o modificar rápidamente objetos de configuración específicos en el dispositivo.

Las tablas PyEZ de Junos se formatean con YAML. Cuando defina una tabla de configuración de Junos PyEZ, debe especificar el ámbito de configuración mediante get o set. Las tablas que incluyen la get propiedad solo pueden recuperar los datos de configuración especificados de un dispositivo. Las tablas que incluyen la set propiedad definen recursos de configuración que puede utilizar para configurar el dispositivo, así como para recuperar datos de configuración del dispositivo. Por lo tanto, son un superconjunto e incluyen toda la funcionalidad de las tablas que especifican get.

Las definiciones de la tabla de configuración pueden incluir una serie de parámetros obligatorios y opcionales. En la tabla 1 se resumen los parámetros y se especifica si el parámetro se puede utilizar en tablas que recuperan únicamente datos de configuración del dispositivo (get) o en tablas que también pueden configurar el dispositivo (set).

Tabla 1: Parámetros de la tabla de configuración de Junos PyEZ

Nombre del parámetro de tabla

Parámetro de tabla

Tipo de tabla

Descripción

Nombre de la tabla

get O set

Identificador de tabla definido por el usuario.

Ámbito de configuración

get O set

Expresión XPath relativa al elemento de nivel <configuration> superior que identifica el nivel de jerarquía de configuración en el que seleccionar o configurar objetos, según el tipo de tabla.

Especifique get para recuperar objetos de configuración o especifique set para configurar y recuperar objetos.

Estos objetos se convierten en la referencia para la vista asociada.

Campo Clave de recursos de configuración

key-field

set

Cadena o lista de cadenas que hace referencia a cualquier nombre de campo definido en la vista que se asigna a elementos identificadores y que se puede utilizar para identificar de forma exclusiva el objeto de configuración. Por ejemplo, puede especificar el nombre de campo que corresponde al <name> elemento de un objeto.

Siempre debe definir al menos un campo de clave en la tabla y los usuarios deben declarar valores para todas las claves al configurar el recurso en su aplicación.

Claves necesarias

required_keys

get O set

(Opcional) Matriz asociativa, o diccionario, de pares clave-valor que asignan un nivel de jerarquía en el ámbito de configuración al elemento que identifica de forma exclusiva el objeto en ese nivel de jerarquía, por ejemplo, el <name> elemento.

Los usuarios deben incluir todas las claves necesarias como argumentos para el método al recuperar los datos de get() configuración en su aplicación.

Vista de tabla

view

get O set

Vista asociada a la tabla.

Tenga en cuenta las siguientes tablas de configuración de Junos PyEZ y sus vistas asociadas. UserTable, que incluye la get propiedad, extrae los datos de configuración de las cuentas de usuario del dispositivo de destino. UserConfigTable, que incluye la set propiedad, define un recurso de configuración estructurado que se puede utilizar para configurar cuentas de usuario en el dispositivo de destino, así como para recuperar datos de configuración de cuentas de usuario.

En las secciones siguientes se analizan los diferentes componentes de los cuadros:

Nombre de la tabla

El nombre de la tabla es un identificador definido por el usuario para la tabla. El archivo o cadena YAML puede contener una o varias tablas. El inicio del documento YAML debe dejarse justificado. Por ejemplo:

Ámbito de configuración (get o set)

La propiedad de ámbito de configuración, que es necesaria en todas las definiciones de tabla de configuración, identifica el nivel de jerarquía de configuración en el que se recuperarán o configurarán objetos, según el tipo de tabla. Las tablas de configuración de Junos PyEZ se pueden usar para recuperar y modificar datos de configuración en un dispositivo Junos. Las tablas de configuración que especifican la get propiedad sólo pueden recuperar datos de configuración. Las tablas de configuración que especifican la set propiedad pueden configurar y recuperar datos.

El valor de get o set es una expresión XPath relativa al elemento de nivel <configuration> superior que identifica el nivel jerárquico en el que se deben recuperar o establecer los datos de configuración. Estos datos se convierten en la referencia para la vista asociada.

Considere la siguiente jerarquía de configuración de ejemplo:

Para recuperar o configurar los user elementos en el nivel de [edit system login] jerarquía, el valor de la get propiedad o set usaría la siguiente expresión:

Nota:

No incluya una barra diagonal ( /) al final de la expresión XPath, ya que el script generará un error.

Por ejemplo, para definir una tabla que sólo se puede utilizar para recuperar user objetos, utilice get.

Para definir una tabla que se pueda utilizar para configurar user objetos además de recuperarlos, utilice set.

De forma predeterminada, las tablas de configuración de Junos PyEZ recuperan datos de la base de datos de configuración candidata. Cuando llame get() al método en la secuencia de comandos de Python para recuperar los datos de la tabla, puede especificar que el método devuelva datos de la base de datos de configuración confirmada pasando el options argumento e incluyendo el 'database':'committed' elemento en el options diccionario. Por ejemplo:

Campo clave (key-field)

En la configuración de Junos OS, cada instancia de un objeto de configuración, por ejemplo, una interfaz o una cuenta de usuario, debe tener un identificador único. En muchos casos, el <name> elemento, que se muestra explícitamente en la salida XML de Junos, identifica de forma exclusiva cada instancia del objeto. Sin embargo, en algunos casos, se utiliza un elemento diferente o una combinación de elementos. Por ejemplo, una interfaz lógica se identifica de forma única mediante la combinación del nombre de la interfaz física y el número de unidad lógica.

Las tablas de configuración que especifican la set propiedad para definir un recurso de configuración deben indicar qué elemento o combinación de elementos identifica de forma exclusiva el recurso. La key-field propiedad, que es una cadena o lista de cadenas, cumple esta función y es necesaria para todas las set tablas de configuración.

La vista de una set tabla debe definir explícitamente campos para todos los elementos identificadores del recurso de configuración. A continuación, la key-field propiedad debe hacer referencia a todos los nombres de campo de los elementos identificadores de la definición de tabla. Cuando se utiliza la tabla para configurar el recurso, una aplicación de Junos PyEZ debe proporcionar valores para todos los campos clave.

Por ejemplo, en la tabla siguiente se define un recurso estructurado que se puede utilizar para configurar cuentas de usuario en el nivel jerárquico [edit system login] . La vista define explícitamente el username campo y lo asigna al name elemento en el nivel de [edit system login user] jerarquía. La key-field propiedad hace referencia a este campo para indicar que el name elemento identifica de forma exclusiva instancias de ese objeto.

Cuando la aplicación Junos PyEZ configura instancias del UserConfigTable recurso en el dispositivo, debe definir un valor para la username clave para cada instancia. Por ejemplo:

Si la tabla de configuración define campos para instrucciones en varios niveles de jerarquía que tienen identificadores en cada nivel, la key-field propiedad debe incluir todos los identificadores. Por ejemplo, si Table configura una unidad lógica en una interfaz, la key-field propiedad debe incluir tanto el nombre de interfaz como el número de unidad lógica como claves.

Llaves necesarias (required_keys)

Incluya la propiedad opcional required_keys en la definición de tabla de configuración para requerir que los usuarios de tabla proporcionen valores para una o más claves cuando recuperen los datos en su aplicación. Cada clave debe asignar un nivel de jerarquía en el ámbito de configuración definido por el get parámetro or set al <name> identificador en ese nivel. Solo puede definir una clave por nivel de jerarquía.

En el ejemplo siguiente, UserTable requiere que la aplicación Junos PyEZ especifique el valor de un name elemento en el [edit system login user] nivel de jerarquía cuando recupera los datos:

En el script de Junos PyEZ correspondiente, debe incluir las claves necesarias en la lista de argumentos del get() método. En el ejemplo siguiente se solicitan los datos de configuración para el usuario denominado 'readonly':

Solo puede requerir claves en niveles de jerarquía en el ámbito de configuración definido por el get parámetro o set . Considere la siguiente definición para get:

En este caso, puede solicitar que el usuario proporcione valores para el nombre de interfaz y el número de unidad como se muestra en el código de ejemplo siguiente, pero no puede definir una clave necesaria para la dirección de interfaz, que se encuentra en un nivel de jerarquía inferior:

Vista de tabla (ver)

La view propiedad asocia la definición de tabla con una vista determinada. Una vista asigna los nombres de campo definidos por el usuario a elementos de los elementos de tabla seleccionados mediante expresiones XPath. Puede personalizar la vista para seleccionar solo determinados elementos para recuperar o configurar, según el tipo de tabla y la operación.

Para obtener más información acerca de cómo definir vistas para tablas de configuración, consulte Definir vistas para tablas de configuración de Junos PyEZ.