Я сбит с толку тем, что должны делать переменные терраформирования. Прямо сейчас они кажутся ужасно бесполезными для решения моей конкретной задачи, возможно, я действительно лаю не на то дерево. Допустим, у меня есть такая конфигурация:
variable "majorVersion" {
type = "string"
}
module "media-assets" {
majorVersion = "${var.majorVersion}"
region = "us-east-1"
bucket = "uploads-${var.majorVersion}"
source = "./modules/media-assets"
user = "appics-production"
}
Предположим, что сейчас просто модуль ресурсов определяет корзины S3. Все будет хорошо, если я запущу terraform так:
terraform apply -var="majorVersion=v1"
Однако, если я снова запустил его с
terraform apply -var="majorVersion=v2"
Я хочу, чтобы terraform оставил ресурсы v1 в покое! Вместо этого terraform хочет снести v1 !! Как я могу выполнить параметризованный набор конфигураций без необходимости заново писать весь shebang для каждой версии? Это кажется утомительным и несущественным!