count是一個很好的元論據,可以在 Terraform 中有條件地提供資源。根據我以前的經驗,我們做了類似的事情my_var = "1"并使用它來以編程方式控制資源的創建count。
由于count在這種情況下接受一個字串"1",但也可以解釋一個number型別(例如1),我想知道:
a) Terraformcount在幕后做了什么;它是先將字串決議為數字嗎?
b) 它還可以接受其他資料型別bool嗎?
我希望有一個.tfvars其中有一個my_var = true,然后將其傳遞到count受影響資源的元引數中,例如count = var.my_var. 這可能嗎?
我還懇請一些資訊,這些資訊通常涉及如何在 Terraform 中解釋資料型別以實作“真實性”。如果您有檔案或博客文章要分享,我們將不勝感激!
uj5u.com熱心網友回復:
一種)。在 Terraform 中,數值的字串表示會自動轉換為數字。從檔案:
Terraform 會在需要時自動將數字和布林值轉換為字串。它還將字串轉換為數字或布林值,只要字串包含數字或布林值的有效表示。
true轉換為"true",反之亦然false轉換為"false",反之亦然15轉換為"15",反之亦然
這是有效的:
resource "aws_s3_bucket" "s3" {
bucket = "bucket-name"
count = "1"
}
這也是有效的:
resource "aws_s3_bucket" "s3" {
bucket = "bucket-name"
count = 1
}
乙)。在 Terraform 中,布林值不被視為數值。數字不會自動轉換為布林值,這意味著這是無效的:
resource "aws_s3_bucket" "s3" {
bucket = "asd"
count = false
}
它會拋出以下錯誤:
?
│ Error: Incorrect value type
│
│ on main.tf line 9, in resource "aws_s3_bucket" "s3":
│ 9: count = false
│
│ Invalid expression value: number required.
?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/432493.html
