如何从terraform中的本地地图中删除键值对?
我有一个如下所示的局部值,我想从中删除Mongo-S对,因为它没有dbv值如何从terraform中的本地地图中删除键值对?,terraform,local-variables,terraform-provider-azure,Terraform,Local Variables,Terraform Provider Azure,我有一个如下所示的局部值,我想从中删除Mongo-S对,因为它没有dbv值 merged_mongo_locals = { MongoA-0 = { az = "ap-south-1a" dbv = 50 service_name = "MongoA" } MongoC-0 = { az
merged_mongo_locals = {
MongoA-0 = {
az = "ap-south-1a"
dbv = 50
service_name = "MongoA"
}
MongoC-0 = {
az = "ap-south-1a"
dbv = 50
service_name = "MongoC"
}
MongoC-1 = {
az = "ap-south-1b"
dbv = 50
service_name = "MongoC"
}
MongoD-0 = {
az = "ap-south-1a"
dbv = 100
service_name = "MongoD"
}
MongoD-1 = {
az = "ap-south-1b"
dbv = 100
service_name = "MongoD"
}
MongoD-2 = {
az = "ap-south-1c"
dbv = 100
service_name = "MongoD"
}
MongoM-0 = {
az = "ap-south-1a"
dbv = 50
service_name = "MongoM"
}
MongoS-0 = {
az = "ap-south-1a"
service_name = "MongoS"
}
MongoS-1 = {
az = "ap-south-1b"
service_name = "MongoS"
}
}
Changes to Outputs:
+ Mongo-ips = {
+ MongoA-0 = {
+ az = "ap-south-1a"
+ dbv = 50
+ service_name = "MongoA"
}
+ MongoC-0 = {
+ az = "ap-south-1a"
+ dbv = 50
+ service_name = "MongoC"
}
+ MongoC-1 = {
+ az = "ap-south-1b"
+ dbv = 50
+ service_name = "MongoC"
}
+ MongoD-0 = {
+ az = "ap-south-1a"
+ dbv = 100
+ service_name = "MongoD"
}
+ MongoD-1 = {
+ az = "ap-south-1b"
+ dbv = 100
+ service_name = "MongoD"
}
+ MongoD-2 = {
+ az = "ap-south-1c"
+ dbv = 100
+ service_name = "MongoD"
}
+ MongoM-0 = {
+ az = "ap-south-1a"
+ dbv = 50
+ service_name = "MongoM"
}
+ MongoS-0 = {
+ az = "ap-south-1a"
+ service_name = "MongoS"
}
+ MongoS-1 = {
+ az = "ap-south-1b"
+ service_name = "MongoS"
}
}
我正在使用下面的方法删除MongoS密钥对
输出“Mongo IP”{
value={for k,v in local.merged_mongo_locals:k=>v if!contains(value(v),“dbv”)}
}
但是输出如下所示,它没有排除MongoS对,即使它没有dbv值
merged_mongo_locals = {
MongoA-0 = {
az = "ap-south-1a"
dbv = 50
service_name = "MongoA"
}
MongoC-0 = {
az = "ap-south-1a"
dbv = 50
service_name = "MongoC"
}
MongoC-1 = {
az = "ap-south-1b"
dbv = 50
service_name = "MongoC"
}
MongoD-0 = {
az = "ap-south-1a"
dbv = 100
service_name = "MongoD"
}
MongoD-1 = {
az = "ap-south-1b"
dbv = 100
service_name = "MongoD"
}
MongoD-2 = {
az = "ap-south-1c"
dbv = 100
service_name = "MongoD"
}
MongoM-0 = {
az = "ap-south-1a"
dbv = 50
service_name = "MongoM"
}
MongoS-0 = {
az = "ap-south-1a"
service_name = "MongoS"
}
MongoS-1 = {
az = "ap-south-1b"
service_name = "MongoS"
}
}
Changes to Outputs:
+ Mongo-ips = {
+ MongoA-0 = {
+ az = "ap-south-1a"
+ dbv = 50
+ service_name = "MongoA"
}
+ MongoC-0 = {
+ az = "ap-south-1a"
+ dbv = 50
+ service_name = "MongoC"
}
+ MongoC-1 = {
+ az = "ap-south-1b"
+ dbv = 50
+ service_name = "MongoC"
}
+ MongoD-0 = {
+ az = "ap-south-1a"
+ dbv = 100
+ service_name = "MongoD"
}
+ MongoD-1 = {
+ az = "ap-south-1b"
+ dbv = 100
+ service_name = "MongoD"
}
+ MongoD-2 = {
+ az = "ap-south-1c"
+ dbv = 100
+ service_name = "MongoD"
}
+ MongoM-0 = {
+ az = "ap-south-1a"
+ dbv = 50
+ service_name = "MongoM"
}
+ MongoS-0 = {
+ az = "ap-south-1a"
+ service_name = "MongoS"
}
+ MongoS-1 = {
+ az = "ap-south-1b"
+ service_name = "MongoS"
}
}
请告诉我这里出了什么问题这应该对您有所帮助
output "Mongo-ips" {
value = { for k, v in local.merged_mongo_locals : k => v if contains(keys(v), "dbv") }
}