# Hacer y deshacer un cambio

> Añade un registro DNS, lee sus diferencias, aplícalo, encuéntralo en el historial y vuelve atrás, desde el panel o la CLI.

En este recorrido añades un registro TXT a `example.com` y después lo deshaces. No toca nada que sirva tráfico, así que puedes probarlo en una zona en producción. Necesitas el rol **Técnico** o superior en la zona.

1. **Simula el cambio.**

**Panel**

   Abre el dominio, ve a **DNS → Registros** y elige **Agregar registro**. Elige `TXT`, nombre `_changecontrol-test`, cualquier contenido, y escribe un motivo como `Probar el control de cambios`. El diálogo muestra la **Vista previa**: la versión en la que está el dominio, la versión que crearía el cambio y las diferencias exactas.
**CLI**

   ```sh
   openwaf-cloud ctl records add example.com type=TXT name=_changecontrol-test \
     content="hola" --reason "Probar el control de cambios" --dry-run
   ```
   `--dry-run` pide a la API que simule el cambio y muestra el plan, por ejemplo `versión 7 → 8` y una línea `+ records[id=…]`. No se aplica nada.


2. **Aplícalo.**

**Panel**

   Elige **Aplicar el cambio**. El diálogo confirma `Aplicado · versión 8`.
**CLI**

   Repite la orden sin `--dry-run`. La CLI vuelve a simular, enseña las diferencias y pide confirmación (`¿Aplicar? [s/N]`); responde `s`. Añade `--wait` para esperar a que todos los nodos de borde apliquen la versión nueva.


   La escritura lleva la versión contra la que simulaste. Si alguien ha cambiado la zona mientras tanto, se rechaza y no se aplica nada: lo explica [Simular y después confirmar](https://developers.openwaf.dev/es/change-control/simulate-and-confirm/).

3. **Encuéntralo en el historial.**

**Panel**

   Ve a **Cambios → Historial**. La versión nueva aparece arriba con tu nombre, el cambio `Registro añadido` y tu motivo. **Cambios** la compara con la anterior.
**CLI**

   ```sh
   openwaf-cloud ctl zones history example.com --limit 5
   openwaf-cloud ctl zones diff example.com 7 8
   ```


4. **Vuelve atrás.**

**Panel**

   En **Cambios → Historial**, elige **Volver** en la versión anterior a la tuya (la 7), deja o cambia el motivo y confirma.
**CLI**

   ```sh
   openwaf-cloud ctl zones revert example.com 7 --reason "Deshacer la prueba del control de cambios"
   ```


   Volver atrás no borra la versión 8. Crea la versión 9, con la configuración guardada en la 7, la acción `zone.revert` y la indicación de la versión restaurada.


## Siguientes pasos

- [Versiones de la configuración](https://developers.openwaf.dev/es/change-control/versions/) explica qué guarda cada versión.
- [Propagación al borde](https://developers.openwaf.dev/es/change-control/propagation/) enseña a comprobar que todos los nodos de borde tienen la versión nueva.
- [Auditoría](https://developers.openwaf.dev/es/change-control/audit-log/) cubre los cambios que no son configuración de una zona, como miembros, tokens o purgas de caché.
