首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Terragrunt for_each值,无法检索其他资源中的数据

Terragrunt是一个基于Terraform的开源工具,用于简化和增强Terraform的使用。它提供了一些额外的功能和语法糖,使得管理和组织大型基础设施变得更加容易和可维护。

在Terragrunt中,for_each是一个用于循环迭代的关键字。它允许我们在资源定义中使用一个集合,并为集合中的每个元素创建一个资源实例。然而,Terragrunt的for_each值无法直接检索其他资源中的数据,因为Terragrunt本身并不具备资源间的数据传递能力。

要解决这个问题,可以考虑以下两种方法:

  1. 使用Terraform的数据源:Terraform提供了各种数据源,可以用于检索其他资源的数据。你可以使用数据源来获取所需的数据,并将其传递给Terragrunt的for_each值。例如,使用Terraform的aws_instance数据源可以检索AWS EC2实例的信息,并将其传递给Terragrunt的for_each值。
  2. 使用外部数据源:如果Terraform的内置数据源无法满足需求,可以考虑使用外部数据源。外部数据源允许你编写自定义的脚本或程序来检索其他资源的数据,并将其传递给Terragrunt的for_each值。例如,你可以编写一个脚本来查询数据库或调用API来获取所需的数据,并将其传递给Terragrunt。

无论使用哪种方法,都需要确保数据的可用性和一致性,并遵循最佳实践来管理和保护数据。

关于Terragrunt的更多信息和使用示例,你可以参考腾讯云的产品文档:Terragrunt产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Terraform:多云、混合云环境下实现基础设施即代码

terraform目录和*.tfstate文件,防止存入版本控制系统 表达式 Terraform返回对象,如字符串、数字 引用(Reference) 访问代码其他部分,例如资源属性引用(resource...引用(reference)是一种特别有用表达式类型,它使用户可以从代码其他部分访问该。...数据源 读取其他Terraform状态文件数据 机密信息保护 使用export命令前留空格避免机密信息存储在Bash历史使用工具(如pass)安全地将机密信息读取到环境变量 terraform console...之前你可以使用Terraform插,将引用嵌入到Terraform代码用户数据脚本。但是这不适用于file函数,你必须通过template_file数据源一起工作。...也就是说,如果使用Terraform工作区部署了3个或30个环境,但实时代码库也可能只有一个代码副本。仅通过浏览代码,是无法知道实际部署了什么资源,这将导致错误并使维护变得更加复杂。

71410
  • Terraform 系列-使用Dynamic Blocks对Blocks进行迭代

    它遍历给定复数值,并为复数值每个元素生成一个嵌套块。 •动态代码块标签(上例 "setting")指定了要生成嵌套代码块类型。•for_each "参数提供了要遍历复合。...迭代器对象(上例 setting)有两个属性: •key[5] 是当前元素映射键或列表元素索引。如果 for_each 表达式产生了一个 set ,则 key 与 value 相同。...for_each 必须是一个集合,每个所需嵌套块包含一个元素。如果需要根据嵌套数据结构或多个数据结构元素组合声明资源实例,可以使用 Terraform 表达式和函数推导出合适。...您可以在必要时动态生成这些嵌套结构,方法是将 dynamic 模块嵌套在其他 dynamic 模块 content 部分。...如果一个特定资源类型定义了嵌套块,而这些嵌套块类型名称与其父类一个类型名称相同,则可以在每个 dynamic 块中使用 iterator 参数来选择一个不同迭代器符号,使两者更容易区分。

    33520

    Terraform 系列-使用 for-each 对本地 json 进行迭代

    根据当前需求调整,将例子 env_name 作为 key, 将其他作为 value•批量创建资源时,通过 for_each, 进行批量创建。...对于字符串集合,Terraform 按其排序,使用词法排序。 for表达式机制是为了在表达式其他集合构建集合,然后你可以将其分配给期待复杂单个资源参数。...版本说明: for_each是在 Terraform 0.12.6 添加。Terraform 0.13 增加了对for_each 模块支持;以前版本只能在资源中使用它。...当 for_each 被设置时,Terraform 区分了区块本身和与之相关多个资源或模块实例。实例由提供给for_each一个 map 键(或集合成员)来识别。 •....jsondecode + file 将 json 文件解码为 object•使用 for 循环,将 object 根据当前需求调整,将例子 env 作为 key, 将其他作为 value•批量创建资源

    43230

    Prometheus + Thanos 多集群架构监控

    存储指标数据是昂贵 Prometheus将指标数据存储在磁盘上,你必须在存储空间和指标保留时间之间做出选择。如果你想长时间存储数据并在云提供商上运行,那么如果存储TB数据,块存储成本可能会很高。...解决方案 多个Grafana数据源 可以在外部网络上公开Prometheus端点,并将它们作为数据源添加到单个Grafana。...例如,如果你有一个度量值在Prometheus,同时也在对象存储,Thanos Query可以对该指标值进行重复数据删除。...多集群架构 有多种方法可以将这些组件部署到多个Kubernetes集群,根据用例不同,有些方法比其他方法更好,在这里我们不能给出详细介绍。 ?...在我们观察者集群,我们有标准http查询器,它可以查询架构图中其他组件。

    3.6K30

    8.1 C++ STL 变易拷贝算法

    C++ STL变易算法(Modifying Algorithms)是指那些能够修改容器内容算法,主要用于修改容器数据,例如插入、删除、替换等操作。...例如,replace函数无法用来替换字符串或其他类似C风格字符串或STL字符串对象。如果需要替换字符串或其他复杂对象,可以考虑使用其他函数,例如字符串replace成员函数。...例如,fill函数无法用来填充字符串或其他类似C风格字符串或STL字符串对象。如果需要填充字符串或其他复杂对象,可以考虑使用其他函数,例如memset函数对于字符串数组初始化。...还需要注意是,fill函数只能等量复制相同无法按照某种规律变化,如果需要按照某种规律填充序列,可以使用generate函数。...4个数据复制到iarray,var数据保持不变 remove_copy(var.begin(), var.end(), iarray, 4); for_each(iarray, iarray+6

    26160

    8.1 C++ STL 变易拷贝算法

    C++ STL变易算法(Modifying Algorithms)是指那些能够修改容器内容算法,主要用于修改容器数据,例如插入、删除、替换等操作。...例如,replace函数无法用来替换字符串或其他类似C风格字符串或STL字符串对象。如果需要替换字符串或其他复杂对象,可以考虑使用其他函数,例如字符串replace成员函数。...例如,fill函数无法用来填充字符串或其他类似C风格字符串或STL字符串对象。如果需要填充字符串或其他复杂对象,可以考虑使用其他函数,例如memset函数对于字符串数组初始化。...还需要注意是,fill函数只能等量复制相同无法按照某种规律变化,如果需要按照某种规律填充序列,可以使用generate函数。...4个数据复制到iarray,var数据保持不变 remove_copy(var.begin(), var.end(), iarray, 4); for_each(iarray, iarray

    21950

    最牛逼集群监控系统,它始终位列第一!

    存储指标数据是昂贵 Prometheus将指标数据存储在磁盘上,你必须在存储空间和指标保留时间之间做出选择。如果你想长时间存储数据并在云提供商上运行,那么如果存储TB数据,块存储成本可能会很高。...解决方案 多个Grafana数据源 可以在外部网络上公开Prometheus端点,并将它们作为数据源添加到单个Grafana。...例如,如果你有一个度量值在Prometheus,同时也在对象存储,Thanos Query可以对该指标值进行重复数据删除。...多集群架构 有多种方法可以将这些组件部署到多个Kubernetes集群,根据用例不同,有些方法比其他方法更好,在这里我们不能给出详细介绍。...在我们观察者集群,我们有标准http查询器,它可以查询架构图中其他组件。

    69920

    【C++】STL 算法 - transform 变换算法 ③ ( transform 和 for_each 算法区别 | STL 算法接收可调用对象分析 - 以 transform 为例进行分析)

    一、transform 和 for_each 算法区别 1、transform 和 for_each 算法作用区别 for_each 算法 主要用于 对容器每个元素执行某种操作 , 而不一定产生新或改变原容器..., 可能涉及改变元素 , 输出元素等 ; 使用该算法常用于 遍历输出到控制台 操作 或 修改原容器元素内容 操作 ; transform 算法 主要用于 对容器每个元素进行转换 ,...并将结果存储到另一个容器 , 其执行是一对一映射操作 ; 会生成新序列 , 或者在原地修改序列 ; 2、transform 和 for_each 算法 返回区别 transform 算法 返回一个迭代器..., 指向输出序列最后一个元素下一个位置 , 如果提供了 输出迭代器 , 则 transform 不保证 原容器 内容不变 ; for_each 算法 返回一个函数对象 , 一般情况下不会使用该返回..., for_each 主要目的是执行遍历操作 , 而不是产生新序列或返回 ; 3、transform 和 for_each 算法 接收 函数对象 参数 和 返回区别 for_each 算法

    19710

    【C++】STL 算法 ③ ( 函数对象存储状态 | 函数对象作为参数传递时值传递问题 | for_each 算法 函数对象 参数是传递 )

    文章目录 一、函数对象存储状态 1、函数对象存储状态简介 2、示例分析 二、函数对象作为参数传递时值传递问题 1、for_each 算法 函数对象 参数是传递 2、代码示例 - for_each...() 来实现 ; 函数对象一个重要特性是 " 可以存储状态 " ; 这意味着你可以 在类成员变量存储数据 , 这些数据可以 在函数调用之间保持不变 ; 普通函数 是 无法存储状态 , 因为...二、函数对象作为参数传递时值传递问题 1、for_each 算法 函数对象 参数是传递 下面开始分析 for_each 函数 函数对象 作为参数 具体细节 ; for_each 算法调用代码如下...是一个 , 不是引用 ; 传递是 引用 的话 , 那么 外部对象 和 实参 是相同对象 ; 传递 的话 , 那么 实参 只是 外部对象 副本 , 在 for_each 函数..., 这个函数对象 保留了 内部 函数对象参数副本 状态 ; 2、代码示例 - for_each 函数 函数对象 参数在外部不保留状态 如果 在 for_each 算法 调用了 函数对象 , 函数对象

    17410

    最牛逼集群监控系统,它始终位列第一!

    存储指标数据是昂贵 Prometheus将指标数据存储在磁盘上,你必须在存储空间和指标保留时间之间做出选择。如果你想长时间存储数据并在云提供商上运行,那么如果存储TB数据,块存储成本可能会很高。...解决方案 多个Grafana数据源 可以在外部网络上公开Prometheus端点,并将它们作为数据源添加到单个Grafana。...例如,如果你有一个度量值在Prometheus,同时也在对象存储,Thanos Query可以对该指标值进行重复数据删除。...项目地址:https://github.com/YunaiV/onemall 多集群架构 有多种方法可以将这些组件部署到多个Kubernetes集群,根据用例不同,有些方法比其他方法更好,在这里我们不能给出详细介绍...在我们观察者集群,我们有标准http查询器,它可以查询架构图中其他组件。

    82020

    C++11 Lambda表达汇总总结

    C++ 11Lambda表达式用于定义并创建匿名函数对象,以简化编程工作。...函数体内可以使用Lambda所在类成员变量。            5、a。将a按进行传递。按进行传递时,函数体内不能修改传递进来a拷贝,因为默认情况下函数是const。...将a按进行传递,b按引用进行传递。            8、=,&a, &b。除a和b按引用进行传递外,其他参数都按进行传递。            9、&, a, b。...除a和b按进行传递外,其他参数都按引用进行传递。       二、(操作符重载函数参数),标识重载()操作符参数,没有参数时,这部分可以省略。...四、->返回类型,标识函数返回类型,当返回为void,或者函数体只有一处return地方(此时编译器可以自动推断出返回类型)时,这部分可以省略。

    59180

    C++ STL 标准模板库(排序集合适配器)算法

    var.end(), MyPrint); system("pause"); return 0; } 局部排序与复制 partial_sort: 该算法可实现对容器中部分元素进行排序,还可以将结果拷贝到其他容器...如同容器迭代器与容器关系一样,对流数据提供迭代器操作支持,通过输入输出流迭代器,你就可以在输入输出流上使用STL算法,使得应用能应用到更广泛数据流上,其实迭代器也是一种特殊适配器,这里会先学习适配器概念...for_each(var.begin(), var.end(), bind2nd(MyPrint(),num)); system("pause"); return 0; } 函数指针适配器: 函数则无法直接绑定参数...,但由于加上了not1取反则输出数据则小于5....Copy_Log("c:\\lyshark.txt", "c:\\new.txt"); system("pause"); return 0; } 向前/向后/插入迭代器: 通过使用插入迭代器我们可以将一组数据插入到容器前或后等位置

    64630

    lamda 表达式「建议收藏」

    [ ] 指示 lambda 表达式主体不访问封闭范围变量。...可以使用默认捕获模式(capture-default)来指示如何捕获 lambda 引用任何外部变量:[&] 表示通过引用捕获引用所有变量,而 [=] 表示通过捕获它们。...函数体内可以使用Lambda所在类成员变量。 5、a。将a按进行传递。按进行传递时,函数体内不能修改传递进来a拷贝,因为默认情况下函数是const。...除a和b按引用进行传递外,其他参数都按进行传递。 9、&, a, b。除a和b按进行传递外,其他参数都按引用进行传递。...四、->返回类型,标识函数返回类型,当返回为void,或者函数体只有一处return地方(此时编译器可以自动推断出返回类型)时,这部分可以省略。

    66710

    STL-常用算法总结

    find(iterator beg, iterator end, value);//按查找beg//开始迭代器end//结束迭代器value//查找元素返回一个迭代器,如果没有找到,返回end()查找自定义数据类型需要重载...)sort//对容器内元素进行排序random_shuffle//随机洗牌,将指定范围内元素重新排序merge//容器元素合并,并储存到另一个容器reverse//反转指定范围元素sort排序sort...end, iterator dest);//容器内指定范围元素拷贝到另一个容器beg//开始迭代器end//结束迭代器dest//目标容器开始迭代器用到比较少,直接用赋值操作更简单#include...//容器1结束迭代器beg2//容器2开始迭代器end2//容器2结束迭代器dest//目标容器开始迭代器注意事项:返回为迭代器,指向交集最后一个元素下一个位置求交集两个集合必须为有序数列目标容器开辟空间需要从两个容器取小交集就是两个容器重复元素....end(), myPrint);}int main(){ test01(); return 0;}求并集两个集合必须为有序数列目标容器开辟空间需要从两个容器取大

    58411

    Terraform资源定义梳理

    可以并发资源进行创建,修改和删除.当时总有一些时候,资源之间会有依赖,或者是因为这些资源就是这样工作,如mysql帐号类型必须是在mysql实例创建完成会才能创建,或者是因为依赖其他资源生成一些信息...用户指定隐藏依赖 count 创建资源数量 provider 用户选择非默认其他provider for_each 通过map或者string数组来创建一批资源 lifecycle 定制资源生命周期细节...for_each后,each.key和each.value两个表达式就会起效 each.key表示for_each遍历map或者setkey each.value表示for_each遍历map或者...setvalue,在set情形下each.key==each.value 用for_each创建资源进行引用需要通过....:只要此元参数在资源块配置,terraform就会阻止此资源删除.如果要删除此资源,需要将资源块配置此字段去掉后即可. resource "tencentcloud_redis_instance"

    6.6K101

    Lambda表达式用法超详细整理!!!

    也就是说,在该指针(或引用)被捕获时刻,绑定对象是我们所期望,但在lambda执行时,该对象已经完全不同了。 一般来说,我们应该尽量减少捕获数据量,来避免潜在捕获导致问题。...除a和b按引用进行传递外,其他参数都按进行传递。 9、&, a, b。除a和b按进行传递外,其他参数都按引用进行传递。...与其他返回void函数类似,被推断为返回voidlambda不能有返回。...因此,编译器可以直接使用该引用而无需在lambda产生类中将其存储为数据成员。 相反,通过捕获变量被拷贝到lambda。...因此,这种lambda产生类必须为每个捕获变量建立对应数据成员,同时创建构造函数,令其使用捕获捕获变量来初始化数据成员。

    78830
    领券