# Configlets

Plantillas de comandos reutilizables para hacer cambios masivos o diagnósticos en muchos equipos a la vez.

Fuente: https://docs.opennccm.com/cambios/configlets/

Video: 5.1 Configlets (https://youtu.be/pf1zgyZkEGQ)

| Tipo | Qué hace | Aprobación |
| --- | --- | --- |
| **config** | Entra en modo configuración, aplica los comandos y guarda la configuración (o hace *commit* en Junos, IOS-XR, PAN-OS, VyOS…). | Sí: crea una solicitud de cambio. |
| **exec** | Ejecuta comandos de consulta (`show`, `display`…) y muestra la salida de cada equipo. | No: es inmediato. |

*[Imagen: Lista de configlets (se incluyen ejemplos para cambiar contraseñas, VLAN, NTP, syslog y diagnósticos).]*

## Variables

Los comandos son plantillas Jinja2. Puede usar datos del equipo y variables propias que se piden al ejecutar:

```bash
vlan {{ vlan_id }}
 name {{ vlan_nombre }}
{% if device.group == "Core" %}
spanning-tree vlan {{ vlan_id }} priority 4096
{% endif %}
! aplicado en {{ device.name }} ({{ device.host }})
```

Variables del equipo: `device.name`, `device.host`, `device.model`, `device.os_version`, `device.serial`, `device.location`, `device.device_type`, `device.group`.

*[Imagen: Edición de un configlet. «Aplica a» limita los equipos compatibles (expresión sobre el device_type).]*

## Ejecutar

1.  Pulse **Ejecutar** en la tarjeta del configlet: se abre un panel lateral.
2.  Complete las variables detectadas: hay un campo por cada una, y la **vista previa de comandos** se actualiza al escribir.
3.  Elija los equipos compatibles: uno a uno, todos, ninguno o un grupo completo.
4.  Para **config**: pulse **Crear solicitud de cambio** y espere la aprobación. Para **exec**: verá la salida al instante.

*[Imagen: Ejecución: variables y selección de equipos.]*

*[Imagen: Resultado de un configlet de diagnóstico.]*
