问题标签 [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 回答
3562 浏览

terraform - 如何在 Terraform 模板文件变量中使用 Bash 命令?

我正在使用 Terraform 配置 Auto Scaling Gitlab Runner。我在覆盖运行器配置文件(我正在使用 Terraform 模板)时遇到问题,因为该文件需要注册后生成的运行器唯一令牌。

配置文件如下所示:

我想从此文件中读取此运行器令牌(即“ABCD”),以便可以在 Terraform 模板中使用它来覆盖配置。

在 terraform 中,我拥有的唯一“读取”功能是“文件”,它读取整个内容,然后仅从中获取令牌变成了一个丑陋的过程:

是否可以使用 Bash 脚本为模板创建变量?

例如,我可以使用以下命令来读取令牌:

但是我如何将它输入到模板中呢?

我可以做这样的事情吗?:

有没有人有更好的方法从文件中读取特定内容,或者知道如何在模板中使用 bash 脚本?

0 投票
0 回答
19 浏览

terraform - 为什么版本控制声明后没有等号“=”

在声明中,版本控制后面aws_s3_bucket缺少等号:"="

0 投票
2 回答
1108 浏览

amazon-web-services - Terraform:'INVALID_JSON_DESCRIPTION:非法未引用字符

我有一个调用 Lambda 函数来发送电子邮件的 Terraform step_function 脚本。我想将电子邮件的正文作为这样的变量发送:

这是 start_es.html 文件的内容,它只是一个简单的 HTML 内容:

这是状态函数资源:

这就是我在状态函数 json 文件中的内容:

现在当调用 terraform apply 我得到这个错误:

错误:InvalidDefinition:无效状态机定义:'INVALID_JSON_DESCRIPTION:非法未引用字符((CTRL-CHAR,代码 10)):必须使用反斜杠转义才能包含在字符串值中

我试图在一行中制作 html 内容:

它工作正常,但这样读取和维护文件并不是很好。

有办法解决吗?

谢谢你。

0 投票
1 回答
4486 浏览

amazon-web-services - 不适当的值 - 应为字符串 - 与 count+ 索引一起使用时

我遇到了以下问题(terraform v0.12.8);

我试图在下面用作我的模块代码并将它们传递给下面的资源;

我预计,它将使用提供的多个 EIP 和子网创建多个 NAT 网关。但因以下错误而失败;

有人可以帮助纠正我。

0 投票
1 回答
424 浏览

terraform - 为什么在使用模板文件设置 S3 存储桶策略时出现循环错误?

我有以下内容,当我尝试运行“地形计划”时它失败了。

输出显示Error: Cycle: data.template_file.s3_bucket_policy, aws_s3_bucket.app_bucket-aws_s3_bucket.app_bucket.arn之前已成功创建。

我很乐意收到有关如何排除故障的建议!

0 投票
1 回答
4588 浏览

amazon-web-services - Terraform aws_iam_role_policy 中的 JSON 语法错误

因此,使用 Terraform,我正在创建一个 IAM 策略并将其附加到一个角色。我目前正在运行:

执行代码时,我可以毫无问题地初始化 terraform。运行 terraform plan 时,出现以下错误:

我遇到了这个错误。任何意见将是有益的。下面是我的代码:

0 投票
1 回答
1290 浏览

terraform - 无效的模板控制关键字

目前正在开发一个包含一些胶水服务的 TF 模板。尝试初始化模板时,系统提示我以下错误:

此模板是将现有 CloudFormation 模板转换为 Terraform 的结果,因此该模式在过去一直有效。从我在 Glue 的 AWS 文档中可以看出,DATA 术语是可接受的内置分类器。这对我来说意味着这是 Terraform 端的一个问题。我在这里想念什么?

在此先感谢您的帮助!

0 投票
1 回答
10141 浏览

terraform - Terraform:如何在“for_each”中使用多个局部变量和变量

我有一个创建多个 EC2 实例的 terraform 模板。然后,我在 AWS 控制台中创建了一些 Elastic Network 接口,并将它们作为本地人添加到 terraform 模板中。现在,我想将适当的 ENI 映射到实例,因此我添加了局部变量和变量,如下所示。

我收到以下错误:

错误:启动源实例时出错:InvalidParameterValue:每个网络接口都需要唯一的设备索引。状态码:400,请求 ID:4a482753-bddc-4fc3-90f4-2f1c5e2472c7

我认为 terraform 很难将所有 4 个 ENI 仅附加到单个实例。应该怎么做才能将 ENI 附加到单个实例?

0 投票
2 回答
1938 浏览

google-cloud-platform - 想要使用 terraform 在 GCP 中部署具有公共可读存储对象权限的存储桶

我创建了一个 terraform 文件来创建一个具有公共可读存储对象权限的 Google Storage 存储桶。我能够部署存储桶,但无法针对我的模板分配正确的 ACL,我发现 ACL 部分存在一些错误。

错误:附加在此处输入图像描述

如果有人可以在创建存储桶时帮助我分配权限,那将是非常好的。

0 投票
2 回答
8078 浏览

terraform - 检查变量是否存在 - Terraform 模板语法

我正在尝试使用 terraform 模板语法检查模板文件中是否存在变量,但我收到错误消息This object does not have an attribute named "proxy_set_header

我尝试了成功if location.proxy_set_header != ""if location.proxy_set_header失败。

如何使用字符串模板检查变量是否存在?