Terraform 未知的根级别密钥连接和供应器

Terraform 未知的根级别密钥连接和供应器,terraform,Terraform,我正在创建一个ec2实例,在执行terraform plan时,我得到了连接和provisioner的错误未知根级别密钥。我正在使用terraform的最新版本。这是我的.tf文件的完整代码 这是我的错误信息 Error: Unsupported block type on ec2-dev\ec2.tf line 39, in module "ec2__application": 39: connection { Blocks of type "connection" are n

我正在创建一个ec2实例,在执行terraform plan时,我得到了连接和provisioner的错误未知根级别密钥。我正在使用terraform的最新版本。这是我的.tf文件的完整代码

这是我的错误信息

Error: Unsupported block type

  on ec2-dev\ec2.tf line 39, in module "ec2__application":
  39:   connection {

Blocks of type "connection" are not expected here.

Error: Unsupported block type

  on ec2-dev\ec2.tf line 44, in module "ec2__application":
  44:   provisioner "file" {

Blocks of type "provisioner" are not expected here.


Error: Unsupported block type

  on ec2-dev\ec2.tf line 49, in module "ec2__application":
  49:   provisioner "file" {

Blocks of type "provisioner" are not expected here.
地形

module "ec2__application" {
  source = "terraform-aws-modules/ec2-instance/aws"
  version = "1.19.0"
  name           = "${var.ec2__application["name"]}"
  instance_count = "${var.ec2__application["count"]}"

  ami                    = "${data.aws_ami.ami.id}"
  private_ip             = "${var.ec2__application["private-ip"]}"
  instance_type          = "${var.ec2__application["type"]}"
  key_name               = "${var.ec2__application["ssh_key"]}"
  monitoring             = true
  vpc_security_group_ids = ["${other module reference here}"]
  subnet_id              = "${var.ec2__application["subnet_id"]}"

  associate_public_ip_address = false
  disable_api_termination     = true

  tags = {
    name = "${var.ec2__application["name"]}"
  }

  instance_count = "${var.ec2__application["count"]}"
  ami            = "${data.aws_ami.ami.id}"
  instance_type  = "${var.ec2__application["type"]}"
  subnet_id      = "${var.ec2__application["subnet_id"]}"
  key_name       = "${var.ec2__application["ssh_key"]}"

  connection {
    type        = "ssh"
    user        = "ec2-user"
    private_key = "test.pem"
  }

  provisioner "file" {
    source      = "test.sh"
    destination = "/tmp/test.sh"
  }

  provisioner "remote-exec" {
    inline = [
      "sudo chmod +x /tmp/test.sh",
      "sudo su - root 'bash test.sh' &"
    ]
  }
}



您是否可以编辑问题以包含确切的错误,并确保问题中的代码与您正在运行的代码完全一致?错误清楚地表明,这些块(连接、供应器)不应该存在。这不是这些块的有效位置。检查@AniketKulkarni你能给我一个链接,在那里我可以找到有连接和供应器的例子。我使用的代码与我在上面发布的代码相同,工作正常。不知道现在出了什么问题。