问题标签 [hcl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - 如何在 Go 编译之前预先检查和设置变量?
我将预先检查 HCL 内容并将其设置为golang
. 即 HCL 内容应在编译前解析并设置为特定变量。
这是示例。
具有以下config.mel
HCL 字符串。
有以下main.go
几行:
有什么方法可以HCL_CONTENTS
在编译前设置变量吗?
terraform - 使用 Terraform 进行高效的变量验证
是否有一种有效的方法将验证逻辑应用于 terraform 运行中使用的变量?具体来说,我想检查一些变量的长度和大小写。这些变量是在 tfvars 文件和 variables.tf 文件中声明的变量的组合,并在运行时由 terraform 收集。
谢谢。
go - 在 Go 中搜索和更新 HCL 中的字符串
嘿伙计们,我遇到了一个障碍,试图弄清楚如何搜索我们所有人service/policy_names
以确保他们具有某些能力。
假设我有一个类似于以下的保险库政策
我正在尝试扫描每个策略,如果路径没有正确的功能,请创建一个具有正确功能的新文件并保存它。我被困在试图扫描每条路径并且有点被淘汰了。希望有人可以帮助或推荐一种更明智的方法。以上将被保存到一个新文件service_admin.hcl
中,如下所示
到目前为止我的代码如下,我选择 go 是因为我认为 HCL 库会帮助我,但我很难使用它。
terraform - Terraform:来自变量的动态属性(在 splat 语法中)
在 terraform HCL 中,是否可以从变量中动态引用对象的属性?
IE:
更具体到我的情况,我希望使用 splat 语法来做到这一点:
我已经尝试过lookup(data.terraform_remote_state.thing, var.attribute)
和(对于 splat 问题)之类的东西,lookup(element(data.terraform_remote_state.*, count.index), var.attribute)
但他们都抱怨我的属性引用不完整/格式错误。
terraform - 将字符串附加到 Terraform 中的地图类型
我在 Terraform (v0.11.7) 中有一个表达式:
我需要将字符串附加到正确的表达式,例如:
我对此有什么解决方案吗?提前致谢
terraform - Terraform 连接插值不附加到最后一个元素
我有一个片段可以创建一个像这样的 Vmware 机器列表..
然后稍后在我的文件中,我创建一个变量列表以传递给这样的模板......
vm.tf
摘抄...
inventory.tpl
摘抄..
但是呈现的模板不会将所需的.company.com
字符串附加到最后一个元素。请参阅渲染模板中的以下片段。
我不确定我应该做些什么不同,所以字符串也被附加到列表的最后一个元素。任何帮助,将不胜感激。
terraform - 如何即时修改地图?
我需要在特定的 HCL Map 键/值对上迭代更多次,这些键/值对需要基于特定变量的值。
我想到了修改当前映射的想法——这样某些键/值将被迭代更多次。
如果我们有这张地图 - 让我们称之为“map_domains”:
我们已经设置了这些变量:
我们如何将地图“map_domains”修改为:
我正在尝试通过 DNS 验证选项验证几个 AWS ACM 证书 - 每个域都有几个域备用名称,它们还需要在 Route53 中创建 DNS 记录,以便正确验证域证书。
这是用于实现总体目标的代码 - 问题在于 Zone ID 需要在前几次迭代中相同,然后在其余迭代中需要另一个。
这一行:
整个代码:
amazon-web-services - 如何在 Terraform 中为 aws-cli 准备渲染的 JSON?
在另一个线程中,我询问了如何在 AWS中保持ECS 任务定义处于活动状态。因此,我计划像这样更新任务定义:
data.template_file.task_definition
是一个模板数据源,它从文件中提供模板化的 JSON。但是,这不起作用,因为 JSON 包含新行和空格。
我已经发现我可以使用replace
插值函数来消除新行和空格,但是我仍然需要转义双引号,以便 AWS API 接受请求。
如何安全地准备由 产生的字符串data.template_file.task_definition.rendered
?我正在寻找这样的东西:
原始字符串:
准备好的字符串:
terraform - 如何以编程方式获取 Terraform 模块名称?
我已经定义了以下 Terraform 模块:
如何利用模块名称source
通过插值设置参数?我希望是这样的: