小编den*_*hel的帖子

Terraform:使用 for_each 创建多个实例

我很想在 Terraform 的 count/for_each 函数方面得到一些帮助。

目标是将多个 json 文件(当前两个)读入映射列表,并使用特定命名约定创建特定数量的 aws_instances。

配置

cat test_service_1.json
{
      "instance_name": "front",
      "instance_count": "3",
      "instance_type": "t2.micro",
      "subnet_type": "private",
      "elb": "yes",
      "data_volume": ["no", "0"]
}

cat test_service_2.json
{
      "instance_name": "back",
      "instance_count": "3",
      "instance_type": "t2.micro",
      "subnet_type": "private",
      "elb": "yes",
      "data_volume": ["no", "0"]
}

cat main.tf
locals {
  services = [jsondecode(file("${path.module}/test_service_1.json")),
  jsondecode(file("${path.module}/test_service_2.json"))]
}

resource "aws_instance" "test_instance" {
  ami           = "amzn-ami-hvm-2018.03.0.20200206.0-x86_64-gp2"
  instance_type = "t2.micro"
  tags = merge(
    map("Name", "prod-app-?"),
    map("env", "prod")
  )
}
Run Code Online (Sandbox Code Playgroud)

最终我希望代码遍历两个 json 文件并创建:

prod-front-1
prod-front-2
prod-front-3
prod-back-1
prod-back-2 …
Run Code Online (Sandbox Code Playgroud)

terraform terraform-provider-aws

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

标签 统计

terraform ×1

terraform-provider-aws ×1