最終ステップでは、標準の Terraform コマンドを使用して、構成の初期化、計画、適用を行います。これにより、モジュールのコードが実行され、ローカルファイルが作成されます。
まず、Terraform のワーキングディレクトリを初期化します。このコマンドは、必要なプロバイダプラグイン(この場合はhashicorp/local)をダウンロードします。
terraform init
Terraform が正常に初期化されたことを示す成功メッセージが表示されるはずです。
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!
...
次に、terraform planを実行して、Terraform がどのような変更を加えるかを確認します。これは、何も変更せずに実行計画を示すドライランです。
terraform plan
出力には、1 つのリソース(モジュール内のlocal_file)が作成されることが示されます。
...
Plan: 1 to add, 0 to change, 0 to destroy.
Changes to Outputs:
+ created_file_path = (known after apply)
...
それでは、構成を適用してファイルを作成します。対話型の確認プロンプトをスキップするために、-auto-approveフラグを使用します。
terraform apply -auto-approve
Terraform は計画を実行し、ファイルを作成します。出力は作成を確認し、定義した出力値を表示します。
...
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"
最後に、ファイルが正しいコンテンツで作成されたことを確認します。モジュールディレクトリ内のファイルを一覧表示し、次に新しいファイルの内容を表示します。
ls -l modules/localfile_creator/
cat modules/localfile_creator/my_test_file.txt
catコマンドの出力は次のようになるはずです。
Hello from the root module!
おめでとうございます。Terraform モジュールの作成と使用に成功しました!