Terraform v1.3.4中aws_route53_record的alias参数报错求助
解决Terraform aws_route53_record的alias语法错误
你的问题核心是把alias当成了参数(argument)来写,但在Terraform的AWS provider中,aws_route53_record的alias是一个嵌套块(block),不能用alias = { ... }这种键值对语法,必须用块的形式定义。
修正后的代码如下:
resource "aws_route53_record" "my_route_53" { zone_id = data.aws_route53_zone.my_zone.zone_id name = "" type = "A" alias { name = local.my_domain zone_id = data.aws_route53_zone.my_zone.zone_id # 补充:如果指向AWS官方服务的别名,通常需要添加 evaluate_target_health = false,可根据实际需求调整 } }
关键说明
- Terraform中,嵌套块的语法是直接写块名加
{},不需要等号赋值,这是区分参数和嵌套块的核心差异。 - 即使对应Terraform v1.3.4的AWS provider版本,
alias也始终是嵌套块形式,你查看的官方文档内容本身没错,只是自己混淆了参数和块的语法写法。
内容的提问来源于stack exchange,提问作者Ste
相关产品推荐
相关产品推荐

