LoginSignup
1
2

More than 1 year has passed since last update.

Terraform:element、lookup関数の使い方

Posted at

はじめに

Terraformのelementおよびlookup関数は、リストやマップから値を取得するために利用できます。使いこなすことで、コード量が少なくなり、管理がしやすくなります!

element(list, index)

element関数は、指定されたインデックスにあるリスト内の要素を返します。主にリストから値を取得する際に使用されます。この関数を空のリストで使用すると、エラーが発生します。

variable "example_list" {
  default = ["a", "b", "c"]
}

output "example_element" {
  value = element(var.example_list, 1)
}

この例では、example_elementの出力はbになります。

引数

list (必須)

要素を検索する対象のリストです。リストは、順序付けされた値のコレクションです。

index (必須)

list から取得したい要素のインデックス(0から始まる整数)です。もし、このインデックスがリストの範囲外の場合、エラーが発生します。

lookup(map, key, [default])

lookup関数は、指定されたキーに対応するマップ内の値を返します。キーがマップに存在しない場合、オプションで指定されたデフォルト値を返します。デフォルト値が指定されておらず、キーが存在しない場合、エラーが発生します。この関数は主にマップから値を取得する際に使用されます。

variable "example_map" {
  default = {
    "a" = "apple"
    "b" = "banana"
    "c" = "cherry"
  }
}

output "example_lookup" {
  value = lookup(var.example_map, "b", "default_value")
}

この例では、example_lookupの出力はbananaになります。キーが存在しない場合(例: "d")、出力はデフォルト値(この場合はdefault_value)になります。

これらの関数を組み合わせることで、リストやマップから効果的に値を取得し、Terraform設定の柔軟性を向上させることができます。

引数

map (必須)

検索対象のマップ(またはオブジェクト)です。キーと値のペアが含まれているデータ構造です。

key (必須)

map から取得したい値に関連付けられたキーです。もし、このキーがマップに存在しない場合、default 引数が指定されていればそれが返されます。default 引数が指定されていない場合、エラーが発生します。

[default] (オプション)

オプションの引数で、key が map に存在しない場合に返すデフォルト値です。この引数が指定されていない場合、キーが見つからないとエラーが発生します。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2