Terraform state
comandos
- list: lista los recursos del state
- show: muestra los detalles de uno de los recursos del state
- mv: mueve o renombra un recurso
- rm: elimina un recurso
- pull: descarga el state de un remoto
- push: sube el state desde local al remoto
mover recursos a diferentes 'states'
creando un nuevo estado
- creamos directorio destino y metemos todo el código necesario:
- provider
- state settings (del nuevo)
- resource(s)
- tener en cuenta si necesitamos outputs del stado original para usar en el de destino
- adaptar el código para usar esos outputs con data
- exportamos/movemos el resource:
terraform state mv -state-out=../destino/terraform.tfstate <recurso> <recurso>
- identificamos el recurso con la sintaxis de direccionamiento estándar →
terraform state list
- en destino, inicializamos terraform:
terraform init
- nos preguntará si queremos subir el state local al remoto, le decimos que yes
añadiendo a un estado existente
- añadimos el código necesario en destino
- desde el directorio destino, descargamos nuestro estado remoto en un fichero local:
terraform state pull > terraform.tfstate
- desde el directorio origen, movemos igual que antes el recurso:
terraform state mv -state-out=../destino/terraform.tfstate <recurso> <recurso>
- desde el directorio destino, subimos el nuevo estado:
terraform state push terraform.tfstate