Не - добавлять переменные для секретов.Это действительно очень плохая практика, и в ней нет необходимости.
Terraform подберет ваш профиль AWS по умолчанию или использует любой профиль AWS, установленный вами AWS_PROFILE.Если это в AWS, вы должны использовать профиль экземпляра.Роли тоже можно выполнять.
Если вы жестко закодируете профиль в свой tf-код, тогда вы должны иметь одинаковые имена профилей, где бы вы ни захотели запустить этот скрипт, и изменять его для каждой учетной записи, с которой он запускается.
Не - делайте все эти командные вещи, если вы не любите скрипты-обертки или печатаете.Сделайте - добавьте себе remote_state.tf , который выглядит как
terraform {
backend "s3" {
bucket = "WHAT-YOU-CALLED-YOUR-STATEBUCKET"
key = "mykey/terraform.tfstate"
region = "eu-west-1"
}
}
сейчас, когда ваш terraform init:
Инициализация бэкэнда ...
Успешно настроен бэкэнд "s3"!Terraform будет автоматически использовать этот бэкэнд, если не изменится конфигурация бэкэнда.
Значения в провайдере не относятся к разрешению для remote_state и могут даже быть разными учетными записями AWS (или даже другим облачным провайдером).