问题标签 [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 投票
0 回答
58 浏览

amazon-s3 - Terraform 模块源:S3 源不提取 Terraform Cloud 中的最新文件

我有一个 terraform 模块,它作为 zip 文件存储在 S3 上。此模块/zip 文件会定期重新构建和更新。

在我的主要 terraform 项目中,我使用 S3 源引用此模块:

我遇到的问题是,在最初部署之后,很难让 terraform cloud 部署最新的 zip 文件。它似乎继续使用来自 S3 的 zip 文件的缓存版本。

部署是使用 github 操作完成的,我确实尝试将命令添加terraform get -update到构建步骤以下载模块更新。

此命令在本地运行良好,但是在使用 terraform cloud 时无法部署源自 S3 的最新模块。

我还扫描了 terraform 文档中有关如何taint模块源的任何提及,但我没有找到并提及它,所以我假设模块源不能被污染。

我发现始终使用来自 S3 的最新 zip 文件的唯一方法是从主 terraform 项目中删除模块定义,部署它,重新添加模块并再次部署它。

这是一个手动且耗时的过程。

是否有更好的流程来确保 terraform 云始终使用(或重新下载)来自 S3 的最新 zip 文件用于模块?

0 投票
1 回答
59 浏览

amazon-web-services - Terraform 创建并附加 aws iam 策略

我需要从 json 文件创建几个 iam 策略。所以,我有一个名为 iam_policies.tf 的文件,其中包含许多以下代码:

在一个模块中,我想将这些策略用作 var 的参数,但是当我尝试附加策略时......

我收到错误消息:“for_each”值取决于在应用之前无法确定的资源属性,因此 Terraform 无法预测将创建多少个实例。要解决此问题,请使用 -target 参数首先仅应用 for_each 所依赖的资源。

这是创建策略资源和其他资源的模块:

我已经尝试过使用depends_on,但它不起作用。

我正在使用 terraform cloud,所以我不能使用 apply -target

我能怎么做?怎么了?谢谢

0 投票
0 回答
54 浏览

amazon-web-services - Terraform 导入后销毁资源

我已经在 terraform cloud 上导入了我所在州的aws_network_interface 。

我已经将我的 cli 与 terraform 远程后端一起使用。

状态已更新,资源已导入。但是当我运行terraform plan时,该资源被破坏而不是重新创建

为什么?我错了什么?

我导入的资源:

这是network_interface的terraform计划。全部销毁

0 投票
1 回答
251 浏览

amazon-web-services - 此处不需要“云”类型的块与 Terraform Cloud 集成

我正在按照本文档迁移本地状态以与 Terraform Cloud 集成。

https://learn.hashicorp.com/tutorials/terraform/cloud-migrate

这很简单,我只需要复制这段代码:

问题是我下面的代码与上面的代码相同

但它返回一个错误:

一些注意事项:

  1. 我将代码放在一个名为providers.tf.
  2. 我已经完成了一些其他代码并做了一个terraform apply,从而返回 tfstate.
  3. terraform login我使用我的凭据登录到 Terraform Cloud 。
  4. 当我尝试 terraform init 时,会发生错误。

任何帮助将非常感激。谢谢!

0 投票
0 回答
56 浏览

azure - 从“Terraform 云”销毁或修改 Azure 存储帐户失败并出现 403

0 投票
1 回答
22 浏览

azure - 使用 Azure 的 Terraform 云运行触发器

我在访问我的数据“ terrafrom_remote_state”对象时遇到问题。所以我正在关注 hashcorp 站点,以使用带有运行触发器的 terraform 云部署 azure 资源。触发器正在工作,正在运行第二个工作区的计划,但它无法访问我通过输出传递的数据。

我已经为要共享的第一个工作区设置了“状态”,并将第二个工作区上的运行触发器设置为由第一个工作区触发。这里没有问题。

我试图关注 hasicorp 网站上的内容,但它是针对 aws 的,也许对于天蓝色我错过了一些东西。我将发布我的输出,然后发布第二个工作区的一些代码。

输出:我在状态文件中查看过并且看起来不错。

第二工作区

错误是

错误:不支持的属性│ │ 在 main.tf 第 26 行,资源“azurerm_public_ip”“pip1”中:│ 26:location = data.terraform_remote_state.network.outputs.location │<br />├──────── ──────── │ │ data.terraform_remote_state.network.outputs 是没有属性的对象 │ │ 这个对象没有名为“位置”的属性。

我无法访问 data.terraform_remote_state.network.outputs

0 投票
0 回答
6 浏览

azure-rm - 如何将 azure 远程状态文件后端导入 tf 云

我们已经使用 terraform 来创建我们的基础设施,并且我们正在将状态文件存储在 azure 远程后端。现在我们有了 terraform cloud,我们想将现有的状态文件迁移到 terraform cloud。有人可以告诉我们将现有状态文件迁移到 terraform 云的过程吗?在 terraform 文档中,我只看到从本地到 terraform 的迁移步骤,但没有看到远程后端到 terraform 云的迁移步骤。

或者是否有任何程序可以让 tf 云工作区使用现有的 azure 后端?

谢谢,桑托什

0 投票
0 回答
28 浏览

terraform - 通过 CLI 在 Terraform Cloud 中创建新工作区,无需任何现有工作区

我正在通过 Terraform 和 GitLab CI 在 GitLab MR 上设置临时审查环境。我使用 Terraform Cloud 作为后端。我想为每个审查环境创建一个工作区,并根据 GitLab CI 中的一些环境变量动态地进行。

我的问题是我无法通过 CLI 创建新的 Terraform Cloud 工作区,而无需先拥有现有工作区。这似乎违反直觉,因为我没有使用那个工作区。如果存在工作区,我可以运行terraform init,然后terraform workspace new在 Terraform Cloud 中创建工作区。如果我不首先创建工作区init,因为没有工作区存在,并且如果我想terraform workspace new在它大喊大叫之前运行,因为init没有先运行。我的配置是:

我知道我可以先通过 API 创建一个工作区,但这很麻烦。我尝试使用TF_WORKSPACE,但它应该指向不是我的情况的现有工作区。我目前的解决方案是切换到:

sed在调用terraform init.

有没有办法通过 CLI 做到这一点?我在这里错过了什么吗?