在错误消息中提到了该问题的提示,
data.aws_arn.stateful-rulegroup is object with 7 attributes
.
当您使用
data.aws_arn.stateful-rulegroup
实际上,您使用的是整个对象,而不是它的一个属性,
join
函数通过连接指定的所有元素来生成字符串
字符串列表
使用指定的分隔符。
为了获得单个属性,特别是
arn
正如预期的那样
data.aws_arn.stateful-rulegroup.arn
应在中使用
join
作用
Terraform代码供参考
variable "region" {
type = string
description = "(optional) describe your variable"
default = "eu-central-1"
}
data "aws_arn" "stateful-rulegroup" {
arn = "arn:aws:network-firewall:${var.region}:aws-managed:stateful-rulegroup"
}
locals {
## Correction is Here ##
resource_arn = join("/", [data.aws_arn.stateful-rulegroup.arn, "AbusedLegitBotNetCommandAndControlDomainsStrictOrder"])
}
output "resource_arn" {
value = local.resource_arn
}
计划/输出
data.aws_arn.stateful-rulegroup: Reading...
data.aws_arn.stateful-rulegroup: Read complete after 0s [id=arn:aws:network-firewall:eu-central-1:aws-managed:stateful-rulegroup]
Changes to Outputs:
+ resource_arn = "arn:aws:network-firewall:eu-central-1:aws-managed:stateful-rulegroup/AbusedLegitBotNetCommandAndControlDomainsStrictOrder"
希望这能有所帮助:)