Terraformのlocalブロックで変数定義する

Terraformのlocalブロックで変数定義する

localブロックで変数定義します。

プログラミング言語の変数とは異なり、Terraformのローカルはplan、apply、destroyなどのTerraformの実行中や実行間で値を変更することはありません。

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(local.bucket_name)
  bucket = each.key
}

locals {
    bucket_name = ["hogehoge19999","hogehoge19998"]
}

locals{}内に変数を記述します。ここではバケット名のリストにしています。

local.変数名でアクセスします。

初期化し、適用します。

$ terraform init
$ terraform apply

バケットが作成されました。

Terraformのlocalブロックで変数定義する

破棄します。

$ terraform destroy
Local Values - Configuration Language | Terraform | HashiCorp Developer
Local values assign a name to an expression that can be used multiple times within a Terraform module.
Simplify Terraform configuration with locals | Terraform | HashiCorp Developer
Use Terraform local values to simplify your configuration and avoid duplication of reused expressions.

コメント

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