如何从 Terraform 中的地图中删除与键值匹配的值

2024-01-15

我有一个如下所示的示例地图,并且正在尝试删除任何具有与“bong”匹配的 key2 值的帐户。

所以起始地图看起来像这样:

sample_map={
  account1 = {
      key1       ="foo"
      key2       ="bar"
  }
  account2 = {
      key1       ="bing"
      key2       ="bong"
  }
}

最终结果应该如下所示:

new_map={
  account1 = {
      key1       ="foo"
      key2       ="bar"
  }
}

我尝试过操作以下 for 循环,但仅当 var.exclude 与标签(不是键)匹配时才有效。

new_map = { for k, v in var.sample_map : k => v if ! contains(var.exclude, k) }

如果我没理解错的话,你就快到了。它应该是:

contains(values(v), var.exclude)

工作示例如下:


variable "sample_map" {

  default ={
    account1 = {
        key1       ="foo"
        key2       ="bar"
    }
    account2 = {
        key1       ="bing"
        key2       ="bong"
    }  
  }
}

variable "exclude" {
  default = "bong"
}


output "test" {
  value = { for k, v in var.sample_map: k => v if ! contains(values(v), var.exclude) }
}

这使:

test = {
  "account1" = {
    "key1" = "foo"
    "key2" = "bar"
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Terraform 中的地图中删除与键值匹配的值 的相关文章

随机推荐

  • Tensorboard 不显示图表(HTML 错误)

    我使用图表创建了 Tensorboard 日志tutorials mnist fully connected feed py脚本 我在其他脚本上也有同样的问题 summary writer tf train SummaryWriter lo
  • UpdatePanel中UpdateMethod后刷新GridView

    我在 UpdatePanel 内设置了 GridView GridView 有一个与 Gridview1 SelectedIndexChanged 方法关联的 SELECT CommandField 我希望 GridView 在选择一行后刷
  • 如何从命令行向 R 提供表达式但阻止 R 立即退出?

    我知道如何从命令行启动 R 并执行表达式 例如 R e print hello 或从文件中获取输入 例如 R f filename r 但是 在这两种情况下 R 都会运行文件中的表达式或命令 然后退出 如何更改上述内容 以便 R 在运行文件
  • SQL Server 2008:使用 XML DML 重命名元素?

    是否可以使用 XML DML 语句重命名非类型化 XML 列中的元素 我正在更新 XML 列上的 XML 架构集合 需要通过重命名一个元素来修补现有 XML 实例 然后才能应用最新架构 据我从文档中可以看出 您只能插入 删除节点或替换它们的
  • 在执行搜索之前操作 Lucene 查询

    我正在开发一个 Java Web 应用程序 Spring 3 x 它使用 SOLR 作为其搜索引擎 我希望能够拦截 Lucene 查询 并根据查找服务用 虚拟 搜索字段替换两个索引字段之一 如果成功 则使用范围搜索 否则搜索常规字段 例如
  • 是否可以将用户从我的 mongodb 数据库迁移到 aws cognito 用户池?

    为了获得更好的安全性 我想将所有 Web 应用程序用户迁移到 aws cognito 是否可以将用户数据从 mongodb 迁移到 cognito 以便我的所有客户都可以使用相同的旧密码登录 或者迁移后是否强制要求更改密码 A rough
  • 关闭通过模态 segue 显示的视图

    我手动调用 segue 设置为模态 以便使用 Storyboards 和以下代码行在 Xcode 4 2 中显示登录表单 self performSegueWithIdentifier LoginSegue sender nil 我可能错过
  • 如何在矩阵或二进制图像中绘制多边形以便使用图像处理功能?

    我正在开发一个 matlab 程序 其中使用多边形 凹或凸 我需要在多边形上使用图像处理函数 如 imdilate 或 imerode 等 为此 我应该将多边形转换为图像 我想知道是否有一种方法可以直接在二进制矩阵中绘制多边形 1 代表前景
  • 如何让 R Shiny downloadHandler 文件名正常工作?

    我正在设置一个 Shiny 应用程序 允许用户下载自定义数据集 继tutorial https shiny rstudio com articles download html 我设置了下载处理程序 https shiny rstudio
  • Pandas 通过切片计算复合年增长率

    给定以下数据框 df pd DataFrame A 1 2 3 7 B 7 6 5 4 C 5 6 7 1 D 1 9 9 8 df df set index A df B C D A 1 7 5 1 2 6 6 9 3 5 7 9 7 4
  • Azure Docker Web 应用程序上的“启动文件”

    docker web 应用程序选项上的 启动文件 选项是docker compose文件 或者 shell 命令 我找不到任何相关文档 基本上我希望我的网络应用程序运行docker compose yml当我将图像推送到它时 而不是执行 d
  • 如何使用 Fabric 创建 postgresql 用户

    我想为我的设置 Fabric 脚本创建一个数据库用户 但 createuser 具有交互式密码输入功能 并且接缝不喜欢 Fabric 用 Fabric 示例来扩展答案 In fabfile py def create database Cr
  • 在 TextMate 中折叠全部

    有没有办法折叠 TextMate 中给定 php 文件中的所有函数 例如我有两种方法 function index Sample code function beforeFilter Sample Code 我希望能够发出一个命令 其中所有
  • 用户没有访问数据库的权限

    我正在尝试使用 Windows 身份验证连接到数据库 我相信我当前的用户无权访问它 如何让用户登录 SQL Server 并使用数据库 您需要使用 SQL Server Management Studio 程序来授予用户访问权限 您需要使用
  • git-p4:致命:构建 git 时不支持 git-p4 (NO_PYTHON=1)

    我正在尝试在我的 Linux 计算机上使用 git p4 但由于某种原因 git p4 似乎有问题 当我运行 git p4 命令时 我得到 fatal git was built without support for git p4 NO
  • 长时间运行的 PHP 脚本在通过 exec() 调用时停止,但在通过 CLI 调用时完成

    我有一堆脚本需要很长时间才能完成 其中一些可能需要长达 20 分钟 有一个 Bash 脚本可以执行这些 PHP 脚本 当我以 root 身份通过 CLI 调用此 Bash 脚本时 所有 PHP 脚本都会顺利完成 但是 当我通过浏览器使用 P
  • 安装 Eclipse 的 ADT 插件

    我正在尝试为 Eclipse 安装 ADT 插件 但是 当我进入 安装新软件 并输入插件位置后https dl ssl google com android eclipse https dl ssl google com android e
  • Delphi - 窗体中的窗体

    出于美观原因 我想在另一个表单之上显示一个表单 就像它是一个组件一样 比如 TPanel 它应该随父级一起调整大小 当父级被标题栏拖动时四处移动 等等 main form component 1 main the embedded form
  • 悬停时反转关键帧动画

    这是一个演示 http codepen io Tiger0915 pen GgjVLN http codepen io Tiger0915 pen GgjVLN 我有一个keyframe动画开启hover of the circle分区当您
  • 如何从 Terraform 中的地图中删除与键值匹配的值

    我有一个如下所示的示例地图 并且正在尝试删除任何具有与 bong 匹配的 key2 值的帐户 所以起始地图看起来像这样 sample map account1 key1 foo key2 bar account2 key1 bing key