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つバケットがデプロイされます。
![](https://confrage.jp/wp-content/uploads/cocoon-resources/blog-card-cache/de40644fd0bccbedcd4fb5fa246585f4.jpg)
toset - Functions - Configuration Language | Terraform | HashiCorp Developer
The toset function converts a value to a set.
![](https://confrage.jp/wp-content/uploads/cocoon-resources/blog-card-cache/de40644fd0bccbedcd4fb5fa246585f4.jpg)
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](https://i0.wp.com/confrage.jp/wp-content/uploads/2018/08/aaaaaaaaa-1.jpg?resize=100%2C100&ssl=1)
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント