问题标签 [terraform-cloud]

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 投票
2 回答
2386 浏览

terraform - 如何将 GCP 服务帐户 JSON 存储在 terrafrom 变量中?

我的 terraform gcp 提供程序配置看起来像

我想在 terraform cloud 上运行我的 terraform 文件,我不想将 account.json 文件放在源代码管理中。如何将 json GCP 服务帐户文件存储在 terraform 云中,然后从 terraform 脚本访问它?

0 投票
1 回答
1498 浏览

terraform - 通过云教程工作的变量问题

我正在完成本教程并设法设置一切正常。

https://learn.hashicorp.com/tutorials/terraform/cloud-workspace-configure?in=terraform%2Fcloud-get-started

在排队计划时,我得到以下与变量相关的错误并且无法深入了解它。

任何人对如何推进这个有任何想法?谢谢

希望这将是一个很好的简单的启动和运行!

0 投票
2 回答
736 浏览

terraform - 缺少配置版本 Terraform Cloud

我设置了一个工作区,并且我正在遵循使用 Sentinel手动执行策略的指南。

我在运行选项卡中看到以下消息:

在此处输入图像描述
一旦我尝试按下队列计划按钮,我就会收到此错误:

在此处输入图像描述

我配置的变量是:

在此处输入图像描述 我还需要配置其他东西才能将计划排队吗?

从 cli 执行时,我能够触发仅包含计划步骤的运行(在 TF Cloud 中)。如果我直接访问具体的运行url,可以查看运行执行情况。

任何帮助,建议都非常受欢迎!

0 投票
0 回答
296 浏览

amazon-web-services - 清除 terragrunt 缓存时与 TFC 中的状态(本地执行)失去同步

我有一个我正在研究的 AWS ou/account/infra 部署自动化管道,它使用 terragrunt、terraform 和 terraform 云将账户部署到 AWS 组织。我local在 TF Cloud 中使用执行,所以此时我在我的机器上本地运行它,并且只有状态存储在 TFC(与 S3 或 GCS 相对)中。Terragrunt 与这种状态存储技术兼容,但我发现如果我apply的资源(工作得很好)然后清理.terragrunt-cache( find . -type d -name ".terragrunt-cache" -prune -exec rm -rf {} \; ) 然后plan或者apply之前创建的资源,我会失去与远程状态的同步,它想要重新创建所有内容. 当我重新计划时,backend.tf文件由 Terragrunt重新生成.terragrunt-cache,我想知道提供者是否正在获取一个新 ID,该 ID 与另一个状态的先前提供者不同步。我要尝试的一种技巧是使用别名。根据 terragrunt 文档,这应该不是问题,因为状态会持续存在并且缓存可能会丢失和重新生成。

关于我的问题可能是什么的任何想法?我是 Terragrunt 的新手,现在正在做一些初步调查。

我的设计基于infrastructure-live示例(以及自述文件中链接的相应模块)。Terragrunt 在这里共享它:https ://github.com/gruntwork-io/terragrunt-infrastructure-live-example

terragrunt plan-all -refresh=true从这个目录结构运行:

account/我为帐户 (in ) 和根帐户 () 中的基础设施生成一个状态base/。所有 Terraform 模块都在一个单独的存储库中。

0 投票
1 回答
3149 浏览

terraform - 使用相对本地路径引用模块时,Terraform 云失败

我有一个包含几个单独配置的存储库,这些配置共享一些模块,并使用看起来像../../modules/rabbitmq. 目录设置如下:

使用远程后端设置配置以使用 TF Cloud 进行运行和状态:

运行terraform init正常。当我尝试在terrform plan本地运行时,它给了我一个错误提示:

...好像模块目录没有上传到 TF Cloud 或其他东西。是什么赋予了?

0 投票
0 回答
155 浏览

terraform - tfe_variable JSON 到 HCL 支持

Error: Incorrect attribute value type当传递var_3tfe_variableHCL 类型的下方时,我正在击中。有没有办法将解码的 JSON 变量转换为 HCL?

我的config.json

我的地形配置:

0 投票
1 回答
53 浏览

terraform-cloud - Terraform Cloud 中的哨兵导入混乱:键“find_resources”不支持函数调用

我在 Terraform Cloud 工作区中使用 Sentinel 策略。我的策略很简单:

不幸的是,使用此消息调用它时失败:

find_resources ( doc ) 的文档和源代码需要一个字符串,但 Sentinel 解释器似乎认为我正在调用 tfplan 的方法?尚不清楚为什么会这样,并且文档并没有真正的帮助。

有任何想法吗?

0 投票
1 回答
1226 浏览

terraform - 遍历字符串的条件 for_each 映射

试图将一些东西放在一起以通过 tfe 插件的限制。

我有 200 多个工作区,我使用 Terraform Cloud 中的一个需要更新的变量进行管理。在这种情况下,我需要更新的所有工作空间都以“dev-workspace”开头。

我有一个包含以下内容的数据块:

由于模块的限制,我无法对这些工作区进行通配符搜索。此数据块返回包含我所有工作区的字符串映射:

我的问题是我需要获取此字符串映射并将其过滤以仅返回键中具有“dev-workspace”的字符串。我尝试过类似以下的方法:

但看起来你不能contains以这种方式使用for_each

我不太确定在这里做什么,但是已经尝试了几种方法并且无法弄清楚。谢谢你的帮助。

0 投票
0 回答
229 浏览

terraform - Terraform 远程 S3 文件上传

我正在将我的 terraform 应用程序移动到 GH Action 中。我正在按照本指南设置 GH 操作。我已经创建了 terraform HCL,但现在我的 Lambda 层无法上传到 S3 存储桶。如何将文件获取到远程 terraform?

0 投票
2 回答
670 浏览

terraform - 将 Terraform CLI 工作空间迁移到 Terraform Cloud 错误

我正在尝试将项目的 CLI 工作区迁移到 Terraform Cloud。我正在使用 Terraform 版本 0.14.8 并遵循此处的官方指南。

目前项目使用S3远程状态后端配置

我将后端配置更改为:

并执行terraform0.14.8 init以开始状态迁移过程。预期行为是在 Terraform Cloud 中创建 3 个工作区:

  1. 快乐项目开发
  2. 快乐的项目分期
  3. 快乐项目制作

但是,我收到以下错误:

我还启用了 TRACE 级别日志,就在它引发错误之前,我可以看到:2021/03/23 10:08:03 [TRACE] backend/remote: looking up workspace for orgA/.

注意后面的空字符串orgA/和前缀的省略!我猜 TF 会尝试向 Terraform Cloud 查询默认工作区,这是一个空字符串,但它没有这样做。我根本没有使用default工作区,它只是在我执行时出现terraform0.14.8 init。该指南提到:

但是,它从不提示我为默认工作区选择名称。任何帮助将非常感激!