網頁

2021/11/6

Terraform locals變數範例 local values example

Terraform使用local values簡單範例。


在「Terraform local_file hello world」範例的hello.tf中利用了local_file resouce產生一個內容為Hello world!的文字檔hello.txt。下面則把local_file resource的content的值以local values的方式傳入。

hello.tf同個目錄中新增locals.tf內容如下。
locals為定義local values的block,後面不需要label;
locals block裡面則以key-value的形式定義每個local values,value除了實字外也可以是expression。

locals.tf

locals {
    name    = "John"
    content = "Hello ${local.name}"
}

上面定義兩個local values:
name值為字串John
content值為字串Hello接插值符${local.name}取得name的值。

Terraform配置使用local物件local.<NAME>取得local values的值,例如local.name取得locals block中name的值John


hello.tf中argument content的值改為local.content,則Terraform執行時會把local.content的值帶入。

hello.tf

resource "local_file" "hello" {
    filename = "${path.module}/hello.txt"
    content  = local.content
}

hello.tf所在目錄以命令列輸入terraform apply執行結果如下。

hello.txt

Hello John

Local values只能被所在的module存取,且值不會在terraform執行時被修改。

參考github


沒有留言:

張貼留言