= 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' /via: [[https://medium.com/@lynnlin827/moving-terraform-resources-states-from-one-remote-state-to-another-c76f8b76a996]] ===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 * identificamos el recurso con la [[https://medium.com/@lynnlin827/moving-terraform-resources-states-from-one-remote-state-to-another-c76f8b76a996|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 * desde el directorio destino, subimos el nuevo estado:terraform state push terraform.tfstate