小编Mur*_*rat的帖子

Terraform 元组到地图转换

我是 Terraform 的新手,我正在使用此功能重新使用相同的子网列表来启动比我拥有的子网更多的实例。(它只会循环)如果我提供我自己的子网映射,这很好用,但远程状态中的数据是一个元组,我收到此错误:

Invalid value for "inputMap" parameter: lookup() requires a map as the first argument. data.terraform_remote_state.vpc.outputs.private_subnets is tuple with 4 elements

我也试过tomap(函数,但失败了:

Invalid value for "v" parameter: cannot convert tuple to map of any single type.

这是我的代码:

  count                  = var.instance_count
  ami                    = var.ami
  instance_type          = "t2.medium"
  subnet_id              = lookup(data.terraform_remote_state.vpc.outputs.private_subnets, count.index%length(data.terraform_remote_state.vpc.outputs.private_subnets))
  vpc_security_group_ids = ["${data.terraform_remote_state.foo_sg.outputs.foo_sg_id}"]
  key_name               = var.key_name
  iam_instance_profile   = var.iam_instance_profile

  user_data = <<-EOF
              #!/bin/bash
              hostnamectl set-hostname --static "${var.app_name}-${count.index + 1}.${data.terraform_remote_state.vpc.outputs.private_zone_domain_name}"
              echo "127.0.0.1 localhost.localdomain localhost4 localhost4.localdomain4 ${var.app_name}-${count.index + 1}.${data.terraform_remote_state.vpc.outputs.private_zone_domain_name} …
Run Code Online (Sandbox Code Playgroud)

terraform terraform-provider-aws

3
推荐指数
1
解决办法
7941
查看次数

标签 统计

terraform ×1

terraform-provider-aws ×1