首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到Terraform aws_spot_fleet_request public_ip属性

找不到Terraform aws_spot_fleet_request public_ip属性
EN

Stack Overflow用户
提问于 2022-07-25 07:33:26
回答 1查看 56关注 0票数 1

错误: element(aws_spot_fleet_request.spot_inst..public_ip,错误: spot_inst.tf第82行上不支持的属性││,在资源"null_resource“"spot_inst_ssh":│82: host = "${each.value.IMO}")││这个对象没有一个名为"public_ip”的属性。element(aws_spot_fleet_request.spot_inst..public_ip,错误: spot_inst.tf第82行上不支持的属性││,在资源"null_resource“"spot_inst_ssh":│82: host =null_resource "${each.value.IMO}")││--该对象没有一个名为"public_ip”的属性。╵

下面是main.tf文件

代码语言:javascript
复制
locals {
      csvdata = csvdecode(file("C:\\Users\\myhome\\Desktop\\test_terraform\\IMO_TOKEN.csv"))
}
resource "aws_spot_fleet_request" "spot_inst" {
      iam_fleet_role  = "arn:aws:iam::123456789:role/aws-ec2-spot-fleet-tagging-role"
      for_each = { for inst in local.csvdata : inst.IMO => inst }
      spot_price      = "0.5"
      target_capacity = 1
      wait_for_fulfillment = true        
      launch_specification {
        instance_type     = "m5a.xlarge"
        ami               = "ami-07dbhghghhfgfg"
        associate_public_ip_address = true
        key_name          = "dryrun"
        subnet_id = "subnet-059107999db020b76"
        vpc_security_group_ids = ["sg-0511bb4914501d1ce"]
    
        root_block_device{
          volume_size = 20
          volume_type = "gp3"
          iops = "3000"
        }
    
        tags = {
          Name = "CloudInst${each.value.TOKEN}"
          Environment = "dev"
          Group = "OPS"
        }
      }
    
      launch_specification {
        instance_type     = "m5d.xlarge"
        ami               = "ami-07dbhghghhfgfg"
        associate_public_ip_address = true
        key_name          = "dryrun"
        subnet_id = "subnet-059107999db020b76"
        vpc_security_group_ids = ["sg-0511bb4914501d1ce"]
        root_block_device{
          volume_size = 20
          volume_type = "gp3"
          iops = "3000"
        }
        tags = {
          Name = "CloudInst${each.value.TOKEN}"
          Environment = "dev"
          Group = "OPS"
        }
      }
    
    /*
      connection {
          type        = "ssh"
          host        = "${self.public_ip}"
          user        = "centos"
          private_key = "${file("C:\\Users\\myhome\\Desktop\\test_terraform\\dryrun.pem")}"
          timeout     = "5m"
          agent       = true
        }
    
    
      provisioner "remote-exec" {
          inline = ["/usr/bin/nohup /usr/bin/sudo /usr/bin/sh /home/centos/new_cloudinst.sh ${each.value.IMO} ${each.value.TOKEN}"]
      }
    */
}
    

resource "null_resource" "spot_inst_ssh" {
      depends_on = [aws_spot_fleet_request.spot_inst]
      for_each = { for inst in local.csvdata : inst.IMO => inst }
      connection {
        type        = "ssh"
        host = element(aws_spot_fleet_request.spot_inst.*.public_ip,"${each.value.IMO}")
        user        = "centos"
        private_key = "${file("C:\\Users\\myhome\\Desktop\\test_terraform\\dryrun.pem")}"
        timeout     = "5m"
        agent       = true
      }
      provisioner "remote-exec" {
        inline = ["/usr/bin/nohup /usr/bin/sudo /usr/bin/sh /home/centos/new_cloudinst.sh ${each.value.IMO} ${each.value.TOKEN}"]
      }
}
EN

回答 1

Stack Overflow用户

发布于 2022-07-25 07:51:41

它应该是:

代码语言:javascript
复制
host = aws_spot_fleet_request.spot_inst[each.value.IMO].public_ip
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73105481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档