Visual studio VS studio中的地形代码不起作用
我试图在我的代码中找到错误。当我应用地形时,它会给我错误 错误:不支持的参数 在jenkins yourself.tf第9行的资源aws安全组web节点中: 9:vpc安全组ID=[] 此处不需要名为vpc安全组_ids的参数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
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 "
}
}