问题标签 [terraform-template-file]

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 回答
978 浏览

amazon-web-services - Terraform - response_parameters:应该是地图

我有一个api_gateway运行良好的 terraform 脚本。我有很多重复的模板。我想使用"data" "template_file".

工作解决方案:

重构后:

response_parameters.tptl:

错误:

由于响应参数对我所有的都是通用的aws_api_gateway_integration_response,我希望有一个通用的模板并在所有资源中重用。

为什么我会收到此错误?

0 投票
1 回答
1207 浏览

module - Terraform 模块依赖关系破坏了 template_file

不确定这是一个错误还是我做错了什么。当我在两个模块之间引入依赖关系时,依赖模块的 template_file 数据中的变量起作用并且 terraform 抱怨它找不到它。

我有两个模块,saltmaster 和 cassandra。目标是让 saltmaster 通过输出变量公开其 IP 地址,并让 cassandra 使用它。

如果我通过将 IP 地址硬编码为 cassandra 模块的输入来切断模块之间的依赖关系,那么所有资源都会正确创建。但是当我引入依赖项时,terraform 抱怨:

  • module.cassandra.aws_instance.momentum_cassandra[2]:资源“data.template_file.momentum_cassandra”没有变量“data.template_file.momentum_cassandra.*.vars.hostname”的属性“vars.hostname”

请注意,我在 template_file 的 vars 部分定义了 cassandra 实例的主机名,然后在 aws_instance 的 tags 块中使用它。并且它单独工作正常,但是当 cassandra 模块依赖于 saltmaster 模块时会中断。

卡桑德拉.tf

主文件

saltmaster.tf

0 投票
2 回答
2114 浏览

terraform - 从一个计划到另一个计划的资源输出值

我有两个计划,其中我正在创建两个不同的服务器(例如,否则它真的很复杂)。在一个计划中,我正在输出安全组的值,如下所示:

我有第二个计划,我想在其中使用该价值,如何实现它,我尝试了几件事,但对我没有任何作用。

我知道如何使用output返回值,module但不知道如何将output一个计划用于另一个计划。

0 投票
1 回答
317 浏览

terraform - Terraform:如何将文件资源与实例和 RDS 分离

我有一个要部署到 AWS 的标准 2 层应用程序。作为此部署的一部分,我需要将配置文件写入 EC2 实例。此配置文件包含数据库 (RDS) 设置。现在,我将此文件定义为 EC2 实例中的提供程序。所以 terraform 所做的是,在 RDS 100% 启动并运行(大约需要 5 分钟)之前,它甚至不会开始构建 EC2 实例。这使事情变得非常缓慢。

有没有办法可以在 EC2 实例的上下文之外创建文件资源,以便并行创建 RDS 实例和 EC2 实例?还是我应该使用另一种模式?

这是一些代码位:

0 投票
3 回答
1950 浏览

kubernetes - 你能在 Terraform 中使用 YAML 定义 Kubernetes 服务/Pods 吗?

我正在使用Kubernetes Provider来描述 Terraform 中的服务/pod。

使用 Hashicorp 配置语言定义kubernetes_podkubernetes_service资源可能会让人感到困惑,因为 Kubernetes 文档描述了 YAML 中的所有内容,这意味着您需要将其翻译成 HCL。

是否可以将 pod 定义为 YAML 并将它们与kubernetes_pod资源一起kubernetes_service用作模板?

0 投票
5 回答
21081 浏览

windows - 如何从不同的文件夹运行 terraform init?

我想为 CI/CD 编写 terraform 脚本,我不喜欢在脚本中进行 CDing,我宁愿有特定的路径。

我试过了terraform init c:\my\folder\containing\tf-file

但是运行它会将 .terraform 文件夹放入我的 cwd 中。

0 投票
2 回答
1016 浏览

amazon-web-services - 我可以让 terraform 保留旧版本的对象吗?

terraform 的新手,所以也许它不应该以这种方式工作。我想使用 aws_s3_bucket_object 将包上传到存储桶 - 这是应用程序部署的一部分。我将为每次部署更改包,我想保留旧版本。

但是在为将来的部署运行此程序后,我将要上传 version02,然后是 version03 等。Terraform用新的预期行为替换了旧的 zip。

但是有没有办法让 terraform 不破坏旧版本?这是这里受支持的用例,还是我不应该使用 terraform?如果 terraform 没有官方支持做我在这里尝试做的事情,我不想用丑陋的黑客来强迫它。

我当然可以只通过脚本调用 S3 api,但是如果用这个应用程序的 terraform 定义的其余部分来定义它会很棒。

0 投票
0 回答
807 浏览

amazon-web-services - 运行 `terraform plan` 或 `apply` 时如何显示任务定义模板内容?

我通过terraform部署ecs服务,通过template_file数据源定义任务定义。

但是当我运行terraform planterraform apply更改任务定义模板后,它只显示我

但没有向我显示任务定义的最终内容。

那么有什么方法可以显示最新的任务定义(所有变量都替换为实际值)?

更新

似乎有人已经报告了这个问题。

https://github.com/terraform-providers/terraform-provider-template/issues/4

https://github.com/hashicorp/terraform/issues/8669

0 投票
2 回答
16417 浏览

terraform - 如何在 Terraform 中创建存档文件?

我在 terraform 中有这段代码:

执行此操作时出现以下错误terraform plan

我正在使用 terraform 版本 v0.9.11

0 投票
1 回答
255 浏览

azure - 使用 Terraform azurerm_virtual_machine_extension 资源

我正在尝试在 Terraform 模板中使用azurerm_virtual_machine_extension资源,并试图了解“名称”参数应该是什么。文档说“虚拟机扩展对等的名称。更改它会强制创建新资源”但老实说,我不确定这意味着什么。