问题标签 [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.

0 投票
1 回答
2521 浏览

terraform - Terraform 上中间值的本地值和 null_data_source 之间的差异

我有一种情况,我需要存储一些中间值,以便可以在根模块的其他部分重用它们。我知道本地值,也知道 null_data_source,但我不知道哪一个是保存可重用值的推荐选项。这两个描述看起来和我有点相似

本地值https://www.terraform.io/docs/configuration/locals.html

局部值有助于避免在 > 配置中多次重复相同的值或表达式,但如果过度使用,它们还可以通过隐藏使用的实际值使未来的 > 维护者难以阅读配置。

null_data_source ( https://www.terraform.io/docs/providers/null/data_source.html )

空数据源的主要用例是收集中间 > 值的集合,以便在配置中的其他地方重用:

因此,对于这种情况,两者似乎都是一个有效的选择。

这是我的示例代码

您能否建议何时使用一种方法来保持中间值以及每种方法的优缺点是什么?

谢谢

0 投票
1 回答
25 浏览

ckeditor - Connections 5 CR6 中未应用 CKEditor 的自定义

按照连接中 JS 自定义的文档,我想自定义 CKEditor。我从以下博客中解压缩了网络资源 jar {provision_dir}/webresources/

现在有一个名为ckeditor.jsin的文件web-ressources-extracted/resources。根据这个演示文稿,我将它复制到{customization_dir}/lconn/blogs并进行了编辑{customization_dir}/lconn/blogs/ckeditor.js

出于测试目的,我删除了工具栏中的Undo按钮:

重新启动 common-application 后,我检查了专用 blogs 应用程序以及社区中的 blogs 模块。两者仍然将Undo按钮作为工具栏中的第一个元素。LotusConnections-config.ymlcheckout和 update也无济于事versionStamp,这应该更新 javascript 文件上的所有缓存 buster 时间戳。

{customization_dir}/tiny/editors/connections/config.js通过设置激活编辑器editor: "CKEditor"

为什么我的更改没有应用到博客的 CKEditor 中?

0 投票
0 回答
576 浏览

terraform - 如何从 main.tf 中的脚本创建地形地图变量?

我有一个main.tf看起来像这样的:

以及如下variables.tf所示的文件:

我想运行一个脚本来设置mymap地图,无论何时terraform plan或被terraform apply执行。我知道 terraform 支持此处官方文档中所述的外部数据源,并且我可以执行以下操作:

问题是输出是一个 JSON 嵌套对象,mymap据我所知应该是 HCL 格式。使用当前设置,我收到此错误:

JSON 是有效的(我已经检查过了)。

所以我想知道这样做的正确方法是什么?我错过了什么?

PS - 我知道在运行terraform commandsTF_VAR_mymap 之前设置了一个环境变量。但是,这意味着我需要做类似的事情并且我想避免它。TF_VAR_mymap=$(./somescript) terraform plan

谢谢!

0 投票
1 回答
1846 浏览

amazon-web-services - 使用 terraform template_file 和 s3 来引导 s3

我们正在尝试在 S3 中继续引导 user_data 配置文件。但是我们还需要变量和管理部分用户数据脚本的秘密。所以我的想法是创建一个存储桶,存储我们的脚本,然后template_file从 s3 使用。然后将渲染的模板推入我的 user_data 中aws_launch_configuration。然而,人们不只是这样做。

当我检查我的 aws 控制台时,我看到 user_data 只是作为存储桶文件的 url 出现。有没有办法我仍然可以做到这一点,或者有没有更好的方法从 s3 中提取 user_data 同时仍然能够传递变量?

以下是我目前失败的尝试;为简洁起见减少。

0 投票
1 回答
4112 浏览

json - 使用 JSON 值创建 Terraform 资源

我正在寻找一种基于 JSON 值生成 Terraform 代码的方法。想象一下,我有一个具有以下结构的 JSON 文件:

我想做的是以下内容:根据 JSON 文件值创建一个工作的 Terraform 资源,例如像这样的 beanstalk 环境:

因此,我必须根据 JSON 值在 HCL(Terraform 配置)中创建设置块。这意味着上面的 JSON 文件应该导致:

如您所见,JSON 和 HCL 的结构非常相似,但并不完全相同。参见例如设置、conf 或设置而不是 JSON 中的名称。

一种可能的方法是读取 JSON 值并将它们存储在数组或映射中。但我不知道如何生成有效的 HCL 并将其注入资源的所需部分。此外,我尝试使用模板,但 Terraform 不支持我需要遍历设置的循环功能。

总结一下:

  • 输入是必须读取的 JSON 文件
  • JSON 包含设置(除了其他信息)
  • 设置的数量可以不同
  • 不知何故,我必须生成一个设置块
  • 不知何故,我必须在资源中注入这个设置块

有谁知道如何做到这一点?还有其他方法吗?非常感谢!

0 投票
1 回答
626 浏览

structure - 如何在多个 Terraform 构建中使用通用文件?

我有一个如下目录结构来为我的项目构建 Terraform 资源:

当我想在 s3 中构建或更改某些内容时,我运行 Terraform 的 s3 目录。当我想构建 ec2 资源时,我 cd 进入该文件夹并在那里进行 Terraform 构建。我一次运行一个。

目前,我在每个目录中都有一个定义为变量的标签列表。这是同一个文件,多次复制到每个目录。

有没有办法避免将相同的标签文件复制到所有文件夹中?我正在寻找一种解决方案,我只有一个标签文件的副本。Terraform 确实提供了一种使用“本地”动词的解决方案,但这仍然需要在每个目录中重复该文件。

我尝试了什么:

  1. 我尝试将变量放入模块中,但变量是模块内部的,模块并非旨在将代码共享到主文件中。
  2. 我尝试将变量作为模块的输出,但它也不喜欢那样。

有没有人有办法实现一个在任何地方都可以使用的中央标签文件?我正在考虑诸如包含来自其他地方的源代码块之类的东西?或者任何其他解决方案都会很棒。

0 投票
1 回答
310 浏览

terraform - 如何使用 Terraform 在 VmWare 中恢复快照?

我想用来Terraform还原几个快照。

我检查了HCL 文档,但找不到任何关于revert/restore快照的信息。

我的问题是:

  • 可以恢复快照,还是我只能创建它们?
  • 如何使用 恢复快照Terraform
0 投票
3 回答
1110 浏览

terraform - Terraform:将一组文件的内容存储到单个变量中

如果有帮助,这在 TF V0.12 中。在一个目录中,我有可变数量的单行文件。
我需要以某种方式读取它们的内容,并将它们与换行符连接起来,并将结果存储到一个变量中。(不是字符串数组)我知道我可以使用以下方法获取要读取的文件列表:

如果我只有一个文件,我知道我可以使用

但是我的大脑只是转向棉花,我如何才能读取多个,我觉得我应该在空资源中使用计数和连接,但似乎无法解决逻辑。这是正确的道路还是我应该怎么做?

0 投票
1 回答
411 浏览

go - HCL Unmarshal 自定义类型

有没有办法用hcl/v2解码自定义类型?我正在寻找与encoding/json.Unmarshaler. 我已经尝试实施encoding.TextUnmarshaler哪个不起作用。

这是一个示例用例。

注意:我使用的是 v2

0 投票
2 回答
2871 浏览

azure - 如何为 Azure 可用性集中的虚拟机数量创建 Terraform for_each 循环

我们可以使用“计数”循环在可用性集中创建多个 azure vm。

我们如何使用“for_each”循环创建相同的主机名和网络接口 ID 将是动态和循环的。(地形 > 0.12.6)