поскольку terraform apply
кажется, показывает все, что он должен делать, и мне все еще нужно ввести yes
Я не вижу пользы от terraform plan
вне использования его в неинтерактивных средах (например, для запуска terraform на jenkins с ручным шагом подтверждения между plan
и apply
).
Есть ли преимущества использования terraform plan
+terraform apply <plan_file>
когда запускаются команды из командной строки?
Отдельный terraform plan
У команды есть две разные, но связанные цели:
Когда вы работаете над изменением среды, в которой рабочий процесс должен пройти проверку кода перед применением, terraform plan
(без аргументов) позволяет проводить максимально тщательное тестирование без внесения каких-либо изменений в инфраструктуру. Этот вариант использования иногда называют «спекулятивным планом», потому что нет никакого намерения когда-либо фактически применять план, созданный таким образом: мы просто запускаем его, чтобы получить обратную связь от Terraform, прежде чем отправлять изменение на рассмотрение.
Ты запуск Terraform в автоматизации затем terraform plan -out=tfplan
полезен для выполнения плана и применяется как полностью отдельные шаги с интерактивным пользовательским интерфейсом утверждения, предоставляемым вне Terraform CLI.
Если вы используете Terraform только локально и являются намереваясь применить то, что вы запланировали, действительно нет никакой пользы в использовании отдельного плана и применения вместо простого terraform apply
с его интерактивным утверждением. В terraform apply
Команда без аргументов - это основной способ использования Terraform для применения изменений, когда вы запускаете ее непосредственно из командной строки, а не при автоматизации.
Если вы хотите управлять версиями, план может быть полезен для хранения архива вместе с файлом tfstate. Кстати, вы можете использовать -auto-Approve, чтобы не набирать «да»