将安全组添加到另一个安全组的入站规则中,作为Terraform(AWS)的源

将安全组添加到另一个安全组的入站规则中,作为Terraform(AWS)的源,terraform,aws-security-group,inbound-security-rule,Terraform,Aws Security Group,Inbound Security Rule,我无法将安全组“sg0”作为Terraform的源添加到另一个安全组“sg1”的入站规则中。(我使用地形v0.15.4) 这是我尝试的代码: resource "aws_security_group" "sg0" { .......... } resource "aws_security_group" "sg1" { .......... ingress { from_port

我无法将安全组“sg0”作为Terraform的源添加到另一个安全组“sg1”的入站规则中。(我使用
地形v0.15.4

这是我尝试的代码:

resource "aws_security_group" "sg0" {
    ..........
}

resource "aws_security_group" "sg1" {
    ..........

    ingress {
      from_port        = 5432
      to_port          = 5432
      security_groups  = [aws_security_group.sg0]
      protocol         = "tcp"
    }
    ..........
}
但我得到的错误如下:

Error: Incorrect attribute value type
│ 
│   on main.tf line 235, in resource "aws_security_group" "sg1":
│  235:       security_groups  = [aws_security_group.sg0]
│     ├────────────────
│     │ aws_security_group.sg0 is object with 13 attributes
│ 
│ Inappropriate value for attribute "security_groups": element 0: string required.
我希望得到与下面相同的结果,这是我在没有地形的情况下手动完成的。我该怎么做


您需要将“sg0”的
安全组id
作为源添加到“sg1”的入站规则中。因此,您只需在
aws\u security\u group.sg0
之后添加
.id
,如下所示

resource "aws_security_group" "sg0" {
    ..........
}

resource "aws_security_group" "sg1" {
    ..........

    ingress {
      from_port        = 5432
      to_port          = 5432
      security_groups  = [aws_security_group.sg0.id] # Add .id here!!
      protocol         = "tcp"
    }
    ..........
}