На этом заключительном шаге вы выполните конфигурацию Terraform и предоставите значения для ваших переменных.
Сначала вам необходимо инициализировать рабочую директорию Terraform. Команда terraform init загружает и устанавливает провайдеры, определенные в конфигурации (в нашем случае, провайдер 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!
...
Теперь вы можете применить конфигурацию. Чтобы передать значения вашим переменным, вы можете использовать флаг командной строки -var. Мы также будем использовать флаг -auto-approve, чтобы пропустить интерактивный запрос подтверждения.
Выполните команду terraform apply со значениями для filename и content:
terraform apply -var="filename=hello.txt" -var="content=Hello, Terraform Variables." -auto-approve
Terraform теперь выполнит план и создаст файл. Вывод будет выглядеть примерно так:
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
## local_file.my_file will be created
+ resource "local_file" "my_file" {
+ content = "Hello, Terraform Variables."
+ directory_permission = "0777"
+ file_permission = "0777"
+ filename = "hello.txt"
+ id = "..."
}
Plan: 1 to add, 0 to change, 0 to destroy.
local_file.my_file: Creating...
local_file.my_file: Creation complete after 0s [id=...]
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Чтобы убедиться, что все сработало, используйте команду cat для отображения содержимого только что созданного файла.
cat hello.txt
Вы должны увидеть содержимое, которое вы предоставили в переменной:
Hello, Terraform Variables.
Поздравляем! Вы успешно использовали переменные Terraform для создания файла.