我的 Azure 資源 Terraform 部署包含一個預算,它需要一個開始和結束日期。當我通過 http Post 從我的邏輯應用程式發送我的 JSON 正文/變數值時,DevOps 會更改我的字串值的時間格式。Terraform 需要特定的時間格式,即 RFC 3339。每當我將資料發送到 DevOps 時,它都會更改為另一個無效的標準。
來自管道的錯誤:
│ Error: expected "time_period.0.end_date" to be a valid RFC3339 date, got "06/01/2022 11:53:27": parsing time "06/01/2022 11:53:27" as "2006-01-02T15:04:05Z07:00": cannot parse "1/2022 11:53:27" as "2006"
│
│ with azurerm_consumption_budget_resource_group.management,
│ on costmanagement.tf line 33, in resource "azurerm_consumption_budget_resource_group" "management":
│ 33: end_date = var.end_date
│
?
##[error]Terraform command 'plan' failed with exit code '1'.
##[error]?
│ Error: expected "time_period.0.end_date" to be a valid RFC3339 date, got "06/01/2022 11:53:27": parsing time "06/01/2022 11:53:27" as "2006-01-02T15:04:05Z07:00": cannot parse "1/2022 11:53:27" as "2006"
│
│ with azurerm_consumption_budget_resource_group.management,
│ on costmanagement.tf line 33, in resource "azurerm_consumption_budget_resource_group" "management":
│ 33: end_date = var.end_date
我要發送的正文:
{
"variables": {
"end_date": {
"isSecret:": false,
"value": "2022-07-31T11:53:23.000Z"
},
"start_date": {
"isSecret:": false,
"value": "2022-06-01T11:53:27.000Z"
}
}
}
如何防止它在部署期間被更改?
uj5u.com熱心網友回復:
唯一需要更改的是在 JSON 型別變數中參考一個(兩個鍵中的一個)end_date:
end_date = var.end_date["value"]
這樣只會value參考帶有名稱的鍵。同樣,如果您需要訪問isSecret鍵的值(或將來添加到變數的任何其他鍵),您將使用:
someargument = var.end_date["isSecret"] # or var.end_date["<key-name>"]
有關訪問map變數值的更多資訊,請參見 [1]。
[1] https://www.terraform.io/language/expressions/type-constraints#map
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/468035.html
