Terraformでtoset関数でループして複数バケットデプロイする

Terraformでtoset関数でループして複数バケットデプロイする

toset()関数とfor_eachで配列を囲めばループすることができます。

main.tf

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 4.16"
    }
    random = {
      source  = "hashicorp/random"
      version = ">= 3.1.0"
    }
  }

  required_version = ">= 1.2.0"
}

provider "aws" {
  region = "ap-northeast-1"
}

resource "aws_s3_bucket" "example" {
  for_each = toset(["bucketname1", "bucketname2"])
  bucket = each.key
}

bucketname1とbucketname2というS3バケットをデプロイすることができます。

$ terraform init
$ terraform apply

2つバケットがデプロイされます。

toset - Functions - Configuration Language | Terraform | HashiCorp Developer
The toset function converts a value to a set.
The for_each Meta-Argument - Configuration Language | Terraform | HashiCorp Developer
The for_each meta-argument allows you to manage similar infrastructure resources without writing a separate block for ea...

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました