👀

Terraform で list の末尾要素を参照する

2022/04/12に公開

Terraform で list の末尾要素を参照するには、公式ドキュメントにある通り element 関数と length 関数を組み合わせます。

To get the last element from the list use length to find the size of the list (minus 1 as the list is zero-based) and then pick the last element:

> element(["a", "b", "c"], length(["a", "b", "c"])-1)
c

引用元:element - Functions - Configuration Language | Terraform by HashiCorp

また、reverse 関数で逆順にしてから先頭要素を参照する方法もあります。こちらのほうがすっきり書けて好みです。

main.tf
output "use_element" {
  value = element(["a", "b", "c"], length(["a", "b", "c"])-1)
}

output "use_reverse" {
  value = reverse(["a", "b", "c"])[0]
}
$ docker run -it -v $(pwd)/main.tf:/main.tf hashicorp/terraform:latest plan

Changes to Outputs:
  + use_element = "c"
  + use_reverse = "c"

Discussion