iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 10
0
DevOps

今晚我想來點 Terraform 佐 AWS系列 第 10

今晚我想「輸出」狀態檔的重點

如果你打開狀態檔,會看到滿滿的資料,但是你只是想找個 IP,這巨大的資訊量造成了一些困擾。

Terraform 有輸出值 (Output Values) 的功能, 透過此功能在複雜的資訊海當中查詢你看要到的資料。

在執行 terraform apply 之後,於終端機上印出你查詢的特定數值。

輸出值 (Output Values)

在任何 .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 區塊的引數:

  • value: 要輸出的數值
  • description: 資料的說明

執行指令,查看輸出值

執行指令 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

上一篇
今晚我想要在組態檔裡拌入一些「變數」
下一篇
今晚我想佈建一台網頁伺服器
系列文
今晚我想來點 Terraform 佐 AWS30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言