我有一个appconfig.json文件,其中包含Azure应用程序配置的键值详细信息。示例appConfig.json:
[
{
"contentType": "",
"key": "FuncApp:Ihub:Common:D365Api:JobStatusRelativePath",
"tags": {
},
"value": "/api/connector/jobstatus"
},
{
"contentType": "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8",
"key": "secretName",
"label": null,
"tags": {
},
"value": "{\"uri\":\"https://iac-key-vault-sandbox2.net/secrets/secretName\"}"
}
]
字符串
现在,在appconfig.tf文件中,我想读取json的内容,并迭代地将值分配给azurerm_app_configuration_key. sample代码
locals {
appConfigData = jsondecode(file("appConfig.json"))
}
resource "azurerm_app_configuration_key" "appConfigKey" {
configuration_store_id = azurerm_app_configuration.appConfiguration.id
for_each = [for element in local.appConfigData: local.appConfigData]
key = each.value.key
label = each.value.label
value = each.value.value
content_type = each.value.contentType
}
型
我想知道如何做这个任务,因为我一直没有这样做。我不断得到错误,如:
╷
│ Error: Invalid for_each argument
│
│ on terraform_AppConfig.tf line 17, in resource "azurerm_app_configuration_key" "appConfigKey":
│ 17: for_each = [for element in local.appConfigData: local.appConfigData]
│ ├────────────────
│ │ local.appConfigData is tuple with 4 elements
│
│ The given "for_each" argument value is unsuitable: the "for_each" argument must be a map, or set of strings, and you have provided a value of type tuple.
型
2条答案
按热度按时间fbcarpbf1#
这应该对你有用:
字符串
inb24sb22#
terraform区分大小写,因此您需要将每个.value.contentType替换为each.value.contentType