Nesta etapa final, você usará comandos Terraform padrão para inicializar, planejar e aplicar sua configuração. Isso executará o código no seu módulo e criará o arquivo local.
Primeiro, inicialize o diretório de trabalho do Terraform. Este comando baixa os plugins de provedor necessários (neste caso, hashicorp/local).
terraform init
Você deverá ver uma mensagem de sucesso indicando que o Terraform foi 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!
...
Em seguida, execute terraform plan para ver quais alterações o Terraform fará. Este é um teste (dry run) que não altera nada, mas mostra o plano de execução.
terraform plan
A saída mostrará que um recurso (o local_file dentro do seu módulo) será criado.
...
Plan: 1 to add, 0 to change, 0 to destroy.
Changes to Outputs:
+ created_file_path = (known after apply)
...
Agora, aplique a configuração para criar o arquivo. Usaremos a flag -auto-approve para pular o prompt de confirmação interativo.
terraform apply -auto-approve
O Terraform executará o plano e criará o arquivo. A saída confirmará a criação e exibirá o valor de saída que você definiu.
...
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 se o arquivo foi criado com o conteúdo correto. Liste os arquivos no diretório do módulo e, em seguida, exiba o conteúdo do novo arquivo.
ls -l modules/localfile_creator/
cat modules/localfile_creator/my_test_file.txt
A saída do comando cat deve ser:
Hello from the root module!
Parabéns, você criou e usou com sucesso um módulo Terraform!