Terraform: инфраструктура на уровне кода | страница 42



      + instance_type                = "t2.micro"

      + ipv6_address_count           = (known after apply)

      + ipv6_addresses               = (known after apply)

      + key_name                     = (known after apply)

      (...)

  }

Plan: 1 to add, 0 to change, 0 to destroy.

Команда plan позволяет увидеть, что сделает Terraform, без внесения каких-либо изменений. Это хорошая возможность еще раз проверить свой код перед выпуском его во внешний мир. По своему выводу команда plan похожа на утилиту diff, которая является частью Unix, Linux и git: знак плюс (+) помечает все, что будет создано; знак минус (-) — что будет удалено, а то, что помечено тильдой (~), будет изменено. В предыдущем выводе вы можете видеть, что Terraform планирует создать лишь один сервер EC2 и ничего другого — именно то, что нам нужно.

Чтобы инициировать создание сервера, нужно выполнить команду terraformapply:

$ terraform apply

(...)

Terraform will perform the following actions:

  # aws_instance.example will be created

  + resource "aws_instance" "example" {

      + ami                          = "ami-0c55b159cbfafe1f0"

      + arn                          = (known after apply)

      + associate_public_ip_address  = (known after apply)

      + availability_zone            = (known after apply)

      + cpu_core_count               = (known after apply)

      + cpu_threads_per_core         = (known after apply)

      + get_password_data            = false

      + host_id                      = (known after apply)

      + id                           = (known after apply)

      + instance_state               = (known after apply)

      + instance_type                = "t2.micro"

      + ipv6_address_count           = (known after apply)

      + ipv6_addresses               = (known after apply)

      + key_name                     = (known after apply)

       (...)

  }

Plan: 1 to add, 0 to change, 0 to destroy.

Do you want to perform these actions?

  Terraform will perform the actions described above.

  Only 'yes' will be accepted to approve.

  Enter a value:

Вы можете заметить, что команда apply отображает такой же вывод, как и plan, и спрашивает вас, действительно ли вы хотите перейти к осуществлению этого плана. plan — отдельная команда, которая в основном подходит для быстрой проверки и разбора кода (больше об этом — в главе 8), но в большинстве случаев вы будете сразу выполнять команду apply, проверяя ее вывод.