variable "iam_action" {
type = "list"
default = ["ec2.amazonaws.com","ecs.amazonaws.com"]
}
resource "aws_iam_role" "s3_role" {
name = "abcd"
assume_role_policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": [ "${var.iam_action}"
]
},
"Effect": "Allow,
"Sid": ""
}
]
}
EOF
}
Fehler Ressourcen:Terraforming get Liste Variable
At column 1, line 1: output of an HIL expression must be a string, or a single list (argument 2 is TypeList) in:
Ich versuchte Funktion anschließen, aber ich Ausgang benötigen eine Liste ["a","b","c"]
Join-Funktion zu sein gibt eine Ausgabe wie ["a,b,c"]
'' 'assume_role_policy: ""=> "{\ n \" Version \ ": \" 2012.10.17 \“ , \ n \ "Anweisung \": [\ n {\ n \ "Aktion \": \ "\ n \" "\ n \" \ n \ "Principal \": {\ n \ "Service \": \ "$ { var.actionl} \ "\ n}, \ n \" Effect \ "\" Allow \ "\ n \ "Sid \" \ "\" \ n} \ n] \ n} \ n" create_date : "" => "" '' 'Fehler: * aws_iam_role.s3_role: Fehler beim Erstellen der IAM-Rolle s3_sysops_role: MalformedPolicyDocument: Ungültiger Principal in der Richtlinie:" SERVICE ":" $ {var.iam_action} " –
user60679
sein Rendering als $ {foo } aber es nicht rendern foo = ["a", "b", "c"] – user60679
@ user60679 Ich repariere und aktualisiere die Antwort, sollte jetzt in Ordnung sein. – BMW