You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform配置AWS CloudFront aliases参数传list变量报错解决

错误原因

核心问题是列表重复嵌套:

  • 你在variables.tf里定义的var.my_domains本身就是list(string)类型,自带两个字符串类型的域名元素,和aws_cloudfront_distribution资源的aliases参数要求的参数类型完全匹配。
  • 配置里写的aliases = [var.my_domains]属于多余嵌套:把已经是列表的变量整体当成单个元素,又在外层包了一层方括号,最终传入的是list(list(string))类型的双层嵌套结构。Terraform做参数校验时,在本该读取字符串值的位置拿到了一个列表对象,就会抛出你看到的“需要字符串类型”的报错。
修正方法

去掉赋值语句中外层多余的方括号,直接将列表变量赋值给aliases参数即可,修正后的distribution.tf对应配置段如下:

resource "aws_cloudfront_distribution" "my_domain_com" {
  # 其余原有配置保持不变
  aliases = var.my_domains
  # 其余原有配置保持不变
}

修改完成后执行terraform plan即可通过类型校验,两个配置的域名会被正确识别为CloudFront分发的关联别名。

内容的提问来源于stack exchange,提问作者Mike D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 01:30:46