Terraform AWS 提供商数据源 aws_iam_role 所需参数 "name" 是否需要角色路径?
Does the Terraform AWS provider data source aws_iam_role required argument "name" require the path to the role?
Documentation for this data source
假设我在两个路径 /path-a/
和 /path-b/
中有两个名称为 ssr-lambda
的角色
如果我们这样声明数据源:
data "aws_iam_role" "example" {
name = "ssr-lambda"
}
它怎么知道它是哪个角色?
我是否需要在角色名称中包含路径,例如:/path-a/ssr-lambda
?
文档指出可以引用 path
属性,但它不是参数。
aws_iam_policy
数据源确实允许您指定路径前缀,这就是我觉得这令人困惑的原因。
IAM 角色名称在每个账户中必须是唯一的,所以我的示例是无效的,两个角色永远不会有相同的名称。
我通过尝试在一个 Terraform 项目中创建两个名称相同但路径不同的角色得出了这个结论。失败了。
Error: error creating IAM Role (ssr-lambda): EntityAlreadyExists: Role with name ssr-lambda already exists. status code: 409
这就是为什么在为它们使用数据源时从不需要路径的原因。
Documentation for this data source
假设我在两个路径 /path-a/
和 /path-b/
ssr-lambda
的角色
如果我们这样声明数据源:
data "aws_iam_role" "example" {
name = "ssr-lambda"
}
它怎么知道它是哪个角色?
我是否需要在角色名称中包含路径,例如:/path-a/ssr-lambda
?
文档指出可以引用 path
属性,但它不是参数。
aws_iam_policy
数据源确实允许您指定路径前缀,这就是我觉得这令人困惑的原因。
IAM 角色名称在每个账户中必须是唯一的,所以我的示例是无效的,两个角色永远不会有相同的名称。
我通过尝试在一个 Terraform 项目中创建两个名称相同但路径不同的角色得出了这个结论。失败了。
Error: error creating IAM Role (ssr-lambda): EntityAlreadyExists: Role with name ssr-lambda already exists. status code: 409
这就是为什么在为它们使用数据源时从不需要路径的原因。