En este paso final, utilizará comandos estándar de Terraform para inicializar, planificar y aplicar su configuración. Esto ejecutará el código en su módulo y creará el archivo local.
Primero, inicialice el directorio de trabajo de Terraform. Este comando descarga los plugins de proveedor necesarios (en este caso, hashicorp/local).
terraform init
Debería ver un mensaje de éxito que indica que Terraform ha sido inicializado.
Initializing the backend...
Initializing provider plugins...
- Finding hashicorp/local versions matching "2.4.0"...
- Installing hashicorp/local v2.4.0...
- Installed hashicorp/local v2.4.0 (signed by HashiCorp)
Terraform has been successfully initialized!
...
A continuación, ejecute terraform plan para ver qué cambios realizará Terraform. Esta es una ejecución de prueba (dry run) que no cambia nada, pero le muestra el plan de ejecución.
terraform plan
La salida mostrará que se creará un recurso (el local_file dentro de su módulo).
...
Plan: 1 to add, 0 to change, 0 to destroy.
Changes to Outputs:
+ created_file_path = (known after apply)
...
Ahora, aplique la configuración para crear el archivo. Usaremos la bandera -auto-approve para omitir la solicitud de confirmación interactiva.
terraform apply -auto-approve
Terraform ejecutará el plan y creará el archivo. La salida confirmará la creación y mostrará el valor de salida que definió.
...
module.file_creator_instance.local_file.example: Creating...
module.file_creator_instance.local_file.example: Creation complete after 0s [id=f73598097552a798110a31388c54c1194b539a53]
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Outputs:
created_file_path = "./modules/localfile_creator/my_test_file.txt"
Finalmente, verifique que el archivo se creó con el contenido correcto. Liste los archivos en el directorio del módulo y luego muestre el contenido del nuevo archivo.
ls -l modules/localfile_creator/
cat modules/localfile_creator/my_test_file.txt
La salida del comando cat debería ser:
Hello from the root module!
¡Felicidades, ha creado y utilizado con éxito un módulo de Terraform!