json - 如何根据条件 terraform 过滤来自本地人的数据?
问题描述
主文件
locals {
location_mapping = [
{
"location": "L1"
"resource_group_name": "R1"
"name_log_workspace_name": "W1"
},
{
"location": "L2"
"resource_group_name": "R2"
"name_log_workspace_name": "W2"
},
{
"location": "L3"
"resource_group_name": "R3"
"name_log_workspace_name": "W3"
}
]
}
data "azurerm_log_analytics_workspace" "example" {
# Populate name and resource group based on var.location(L2) condition if location matches in locals
name = "W2"
resource_group_name = "R2"
}
我想根据本地数据块中的位置条件动态填充名称和资源组名称。
例子
如果我通过location value L2
然后name=W2
resource_group_name=R2
解决方案
正如评论中所建议的,您可以重新组织您的local.location_mapping
映射,例如,称为local.helper_map
:
locals {
helper_map = {for val in local.location_mapping:
val["location"]=>val}
}
然后在你的azurerm_log_analytics_workspace
你可以使用它如下:
data "azurerm_log_analytics_workspace" "example" {
# Populate name and resource group based on var.location(L2) condition if location matches in locals
name = local.helper_map["L2"]["name_log_workspace_name"]
resource_group_name = local.helper_map["L2"]["resource_group_name"]
}
推荐阅读
- pytorch - 0-dim 张量的无效索引。使用 tensor.item() 将 0-dim 张量转换为 Python 数字
- react-native - 如何编写 TopBar 按钮按下事件处理程序?
- c - 如何仅重绘 GtkWidget 的一部分
- php - 使用文件存储谷歌云 php API 创建文件管理器
- facebook - Messenger Bot - 读取用户剪贴板
- php - 警告:mysqli_query() 期望参数 2 是字符串,给定对象
- python - 如何比较文本行是否以 Python 中的单词开头?
- protractor - ionic 4 protractor e2e - 如何选择/区分离子警报按钮
- git - 我想删除这些未跟踪的文件
- javascript - Bootstrap Carousel 不是交互式的