如果你打開狀態檔,會看到滿滿的資料,但是你只是想找個 IP,這巨大的資訊量造成了一些困擾。
Terraform 有輸出值 (Output Values) 的功能, 透過此功能在複雜的資訊海當中查詢你看要到的資料。
在執行 terraform apply
之後,於終端機上印出你查詢的特定數值。
在任何 .tf
檔案都可以宣告輸出。
如果想要讓檔名好辨識,建議用 outputs.tf
當做檔名。
使用 output
區塊宣告輸出值:
output "vpc_id" {
description = "ID of VPC"
value = aws_vpc.this.id
}
output "web_instance_id" {
description = "ID of web instance"
value = aws_instance.web.id
}
output "web_public_ip" {
description = "Public IP of web server"
value = aws_instance.web.public_ip
}
output
區塊的引數:
執行指令 terraform apply
在所有執行計劃完成之後,狀態資料會放入輸出值,並印在終端機上。畫面如下:
Apply complete! Resources: 8 added, 0 changed, 0 destroyed.
Outputs:
vpc_id = vpc-03fa104e06a386d5d
web_instance_id = i-02726dce6cb801181
web_public_ip = 123.123.123.123
執行指令 terraform output
可以輸出目前狀態的輸出值
$ terraform output
vpc_id = vpc-0ab1b7d95a1e95f8f
web_instance_id = i-00c096827f159e6fe
web_public_ip = 123.123.123.123
還可以指定輸出值的名稱,會直接把數值印出來
$ terraform output web_public_ip
123.123.123.123