Вот два примера:
type = "${var.push_to_prod == "true" ? "CNAME" : var.other_value}"
- это будет фиксированное значение other_value
, при этом терраформа не сможет "игнорировать" ресурс, как только он будет управляться терраформой.
или
type = "${var.aws_route53_record_type}"
, и вы можете иметь dev.tfvars
и prod.tfvars
, с aws_route53_record_type
, определенным как то, что вы хотите для dev
и CNAME
для продукта.
Дело в том, что вы пытаетесь сделать: «Я только хочу обновить его или оставить значение CNAME без изменений». Это не так, как работает terraform. Terraform либо управляет ресурсом для вас, либо нет. Если он управляет им, он обновит ресурс на основе конфигурации, которую вы определили в файле .tf
. Если он не управляет ресурсом, он не изменит его. Похоже, что вы действительно ищете второе решение, в котором вы передаете две разные конфигурации из файла .tfvars
в файл .tf
и на основе разных конфигураций создаются разные ресурсы. Вы можете связать это с count
, чтобы определить, должен ли ресурс быть создан или нет.