Terraform配置aws_auth_user_map变量提示需对象列表报错如何解决
错误原因
你定义的aws_auth_user_map变量类型为list(object({...}))(对象列表类型),要求传入由符合结构的对象组成的数组,但你当前传入的是单个独立对象,没有嵌套在列表结构中,因此触发Terraform类型校验报错。
修正方案
单条映射传值
如果你只需要配置这一条用户映射,将现有对象套在方括号[]中即可:
aws_auth_user_map = [ {userarn="arn:aws:iam::XXXXXX:user/pXXl.brXXd", username="XX.XX", groups=["admin", "dev"]} ]
多条映射传值
如果需要配置多条用户映射,在列表中用逗号分隔多个对象即可:
aws_auth_user_map = [ {userarn="arn:aws:iam::XXXXXX:user/pXXl.brXXd", username="XX.XX", groups=["admin", "dev"]}, {userarn="arn:aws:iam::XXXXXX:user/testuser", username="test.user", groups=["dev"]} # 可继续追加更多符合结构的映射对象 ]
注意事项
- 每个映射对象必须完整包含
userarn、username、groups三个字段,不得缺省 groups字段必须为字符串列表类型,即使只配置一个用户组也要用方括号包裹,比如groups=["dev"]
内容的提问来源于stack exchange,提问作者user11931805
相关产品推荐
相关产品推荐

