Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从terraform中的本地地图中删除键值对?_Terraform_Local Variables_Terraform Provider Azure - Fatal编程技术网

如何从terraform中的本地地图中删除键值对?

如何从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

我有一个如下所示的局部值,我想从中删除Mongo-S对,因为它没有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"
        }
    }
我正在使用下面的方法删除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") }
}