Visual studio VS studio中的地形代码不起作用

Visual studio VS studio中的地形代码不起作用,visual-studio,terraform,terraform-provider-aws,Visual Studio,Terraform,Terraform Provider Aws,我试图在我的代码中找到错误。当我应用地形时,它会给我错误 错误:不支持的参数 在jenkins yourself.tf第9行的资源aws安全组web节点中: 9:vpc安全组ID=[] 此处不需要名为vpc安全组_ids的参数 provider "aws" { access_key = "access key" secret_key = "secret key" region = "us-east-1" } #resource Con

我试图在我的代码中找到错误。当我应用地形时,它会给我错误

错误:不支持的参数

在jenkins yourself.tf第9行的资源aws安全组web节点中:

9:vpc安全组ID=[]

此处不需要名为vpc安全组_ids的参数

    provider "aws"  {
      access_key = "access key"
      secret_key = "secret key"
      region = "us-east-1"
    }
    #resource Configuration for AWS
    resource "aws_security_group" "web-node" {
        vpc_security_group_ids = ["sg-############"]
        tags = {
        name = "Week4 Node"
        description = "My Security Group"
        security_groups = ["${aws_security_group.web-node.name}"]
        }
      ingress {
        from_port = 80
        to_port = 80
        protocol = "tcp"
        cidr_blocks = ["0.0.0.0/0"]
      }
      ingress {
        from_port = 22
        to_port = 22
        protocol = "tcp"
        cidr_blocks = ["0.0.0.0/0"]
      }    
      ingress {
        from_port = 443
        to_port = 443
        protocol = "tcp"
        cidr_blocks = ["0.0.0.0/0"]
      }    
      egress {
        from_port = 0
        to_port = 0
        protocol = "-1"
        cidr blocks = ["0.0.0.0/0"]
      }
    resource "ec2 instance" "EC2Terraform" {

        ami = "ami-01d025118d8e760db"
        instance_type = "t2.micro"
        key_name ="XXXXXXXXXX"
        vpc security group ids = ["##################"]
        tags = {
        Name = "My Jenkins " 
       }
       }
    }

错误:属性值类型不正确

在jenkins yourself第10行的资源aws安全组web节点中:

属性标记的值不正确:元素安全组:字符串 必修的。 错误:不支持的块类型 在jenkins yourself第39行的资源aws安全组web节点中 39:资源ec2实例EC2Terraform{

此处不需要资源类型的块

    provider "aws"  {
      access_key = "access key"
      secret_key = "secret key"
      region = "us-east-1"
    }
    #resource Configuration for AWS
    resource "aws_security_group" "web-node" {
        vpc_security_group_ids = ["sg-############"]
        tags = {
        name = "Week4 Node"
        description = "My Security Group"
        security_groups = ["${aws_security_group.web-node.name}"]
        }
      ingress {
        from_port = 80
        to_port = 80
        protocol = "tcp"
        cidr_blocks = ["0.0.0.0/0"]
      }
      ingress {
        from_port = 22
        to_port = 22
        protocol = "tcp"
        cidr_blocks = ["0.0.0.0/0"]
      }    
      ingress {
        from_port = 443
        to_port = 443
        protocol = "tcp"
        cidr_blocks = ["0.0.0.0/0"]
      }    
      egress {
        from_port = 0
        to_port = 0
        protocol = "-1"
        cidr blocks = ["0.0.0.0/0"]
      }
    resource "ec2 instance" "EC2Terraform" {

        ami = "ami-01d025118d8e760db"
        instance_type = "t2.micro"
        key_name ="XXXXXXXXXX"
        vpc security group ids = ["##################"]
        tags = {
        Name = "My Jenkins " 
       }
       }
    }


代码段中有一些错误。资源aws_security_组不接受名为vpc_security_group_id的参数,如中所示。您定义的是aws安全组,根本不需要提供任何安全组id,您可以引用该安全组的id:aws_security_group.web-node.id。请重试大概是这样的:

provider "aws" {
  access_key = "access key"
  secret_key = "secret key"
  region     = "us-east-1"
}

#resource Configuration for AWS
resource "aws_security_group" "web-node" {
  name        = "Week4 Node"
  description = "My Security Group"

  ingress {
    from_port   = 80
    to_port     = 80
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  ingress {
    from_port   = 22
    to_port     = 22
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  ingress {
    from_port   = 443
    to_port     = 443
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
}

resource "aws_instance" "ec2terraform" {
  ami                     = "ami-01d025118d8e760db"
  instance_type           = "t2.micro"
  key_name                = "XXXXXXXXXX"
  vpc_security_groups_ids = [aws_security_group.web-node.id]

  tags = {
    Name = "My Jenkins "
  }
}