
# keenauth_organization_domain

El recurso `keenauth_organization_domain` añade un dominio a una organización. Un dominio verificado permite que los usuarios con una dirección de correo en ese dominio se unan a la organización y dirige su inicio de sesión a la conexión SSO de la organización.

```terraform
resource "keenauth_organization_domain" "acme" {
  organization_id = keenauth_organization.acme.id
  domain          = "acme.example.com"
}

output "txt_record" {
  value = {
    name  = keenauth_organization_domain.acme.txt_record_name
    value = keenauth_organization_domain.acme.txt_record_value
  }
}
```

## Verificación

- Un dominio `dns_txt` (predeterminado) empieza en `pending`. Publique `txt_record_name` con el valor `txt_record_value` como registro TXT en su proveedor de DNS. La plataforma lo comprueba según un calendario; para comprobarlo de inmediato, ejecute `keenauth organization-domains verify <id>`.
- Un dominio no verificado en 72 horas pasa a `expired`. Ejecute `keenauth organization-domains verify <id>` para volver a empezar; esto emite un nuevo `txt_record_value`.
- Si desaparece el registro TXT de un dominio verificado, el dominio pasa a `unverified` y, tras 30 días, a `revoked`.
- La verificación es una acción, no un atributo. El proveedor nunca la ejecuta; solo lee `status`.
- `verification_method = "manual"` es su declaración de que es propietario del dominio. El dominio pasa a `verified` de inmediato y la declaración se escribe en el registro de auditoría de gestión.
- El valor TXT es un valor DNS público, no un secreto. Se guarda en el estado para que un recurso DNS pueda usarlo.

## Captura y enrutamiento SSO

- `capture_mode` es `off` (predeterminado), `suggest` o `auto_join`. `sso_routing_enabled` enruta las direcciones de correo del dominio a la conexión SSO de la organización.
- Ambos solo pueden activarse en un dominio `verified`; de lo contrario, la API responde `409 domain_not_verified`. Desactivarlos siempre está permitido.
- Para un dominio `dns_txt` nuevo, mantenga los valores predeterminados: el plan falla si los activa antes de que el dominio exista. Cree el dominio, publique el registro, espere a que `status` sea `verified`, y después actívelos y vuelva a aplicar.

## Ciclo de vida

- Escriba `domain` en minúsculas y sin punto final. Escriba los nombres internacionalizados como etiquetas A (`xn--…`).
- Cambiar `organization_id`, `domain` o `verification_method` sustituye el dominio e inicia una nueva verificación.
- Eliminar el recurso borra el dominio; la captura y el enrutamiento SSO se detienen con él.
- Eliminar la organización borra sus dominios. Un dominio borrado fuera del proveedor se quita del estado y se vuelve a planificar.

## Importación

Importe por ID o por `<org_id>/<domain>`:

```shell
tofu import keenauth_organization_domain.acme odm_01j9zq3v8c5m2x7k4t6r1n0b3d
tofu import keenauth_organization_domain.acme org_01j9zq3v8c5m2x7k4t6r1n0b3d/acme.example.com
```
