问题标签 [terraform0.12+]

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

terraform - terraform replace() - “str”参数的值无效:需要字符串

尝试升级到 Terraform 0.12 时出现以下错误:

查看下面的自定义模块,我似乎无法在字符串中使用 replace() 函数...

该模块的目标是根据自定义参数启动 EC2。除此之外,还有一些活动部分,包括添加私有 dns 记录。我根据 this_mybox.private_ip[0] 命名它。在 Terraform 0.11.14 中它运行良好;但由于这个原因,我在升级上遇到了障碍。

在 aws_route53_record 名称中使用 replace() 是否有另一种方法?

0 投票
1 回答
391 浏览

terraform - Terraform-12 (AWS):根据提供的输入变量使用 for/for_each 创建子网

我想创建一个可以接受环境输入的模块(dev、test、prod)并使用适当的标签创建子网的数量(每个环境的“app”和“db”子网)。例如 Name=dev-app 该模块应该灵活地添加/删除子网,因为输入变量被更新。我的模板如下所示

我指的是下面的文章。 https://www.hashicorp.com/blog/terraform-0-12-rich-value-types/ 问题2:如何为以下模块定义“网络”变量

https://www.hashicorp.com/blog/hashicorp-terraform-0-12-preview-for-and-for-each/

0 投票
1 回答
871 浏览

terraform - 从 Terraform 0.11 升级到 0.12 期间的列表问题

我在尝试重写一个在 Terraform 0.12 中工作的列表时遇到问题,该列表在 Terraform 0.11 中工作。

这是我的清单:

我将它添加到模块中: master_authorized_networks_config = var.master_authorized_networks_config

运行后terraform apply出现以下错误:

我无法解决这个问题。你能帮助我吗?

0 投票
1 回答
3986 浏览

terraform - 引用 Terraform 中的其他模块资源

我的 Terraform Cloud git 项目中有这样的层次结构:

所有主main.tf文件都包含带有子文件夹的模块定义:

/main.tf

/aws/main.tf

/aws/security-rules/main-tf

/aws/vms/main-tf

然后我定义了这个安全规则。

/aws/security-rules/sec-rule1/main-tf

而且我想从一个或多个 VM 中引用它,但我不知道如何通过资源 ID(或名称)进行引用。我使用简单的名称而不是参考。

/aws/vms/vm1/main-tf

我想使用通过 name 或 ID 引用的安全规则(和更多东西),因为它会更加一致。此外,当我创建一个新的安全规则并同时创建一个 VM 时,Terraform OpenStack 提供者计划它没有错误,但是在应用它时,会产生错误,因为 VM 是先创建的,它没有发现尚未创建新的安全规则。

我怎样才能做到这一点?

0 投票
2 回答
2806 浏览

terraform - 每个循环或 for 循环的 Terraform 不起作用

我正在尝试为多个服务主体的 azure 容器注册表设置角色

当我尝试从资源模块设置它时,我不确定这是正确的方法吗?

本质上,我正在尝试将 azure 容器注册表设置为与具有特定访问角色的多个服务主体一起使用。

以下是 var 定义。

当我执行它时,我收到以下错误。

请如果有人可以指导将非常有帮助。谢谢!

0 投票
1 回答
732 浏览

amazon-web-services - 属性“bucket_arn”的值不合适:在 terraform 中创建 AWS firehose 资源时需要字符串

我正在尝试在这里学习 terraform,但在创建 AWS 资源时遇到了一些问题。

我正在尝试创建 AWS firehose 传输流,但在尝试生成计划时出现错误。

我正在尝试将我创建的角色和 s3 buck 传递给 firehose 资源,但出现错误。

提前致谢。

0 投票
1 回答
2113 浏览

conditional-statements - Terraform:如果满足条件,则设置可选资源属性,否则不声明

Terraform 上的一些资源支持可选属性。我有兴趣仅在满足条件时声明和设置可选属性的值。否则,根本不要声明它。

我发现的所有建议都是基于声明属性并将其值设置为null如果条件不满足,而不是根本不声明属性。

有没有办法让我做类似以下的事情?在伪代码中:

让我知道,提前谢谢!

0 投票
1 回答
282 浏览

google-cloud-platform - 使用 TF 0.12+ 从带有条件资源的 output.tf 继承值

我在 GCP 中有一个用于填充 kubernetes 机密的服务帐户模块

这是我的模块

'output.tf' 包含以下内容

由于有一个条件是这些资源都是在没有enabled标志的情况下创建的,所以我不得不在 TF 0.11.14 中这样处理它,而 tf0.12 自动升级工具在这里没有做太多的更改。

如何在 Terraform 0.12.24 中简化这一点,我尝试将输出修改为简单

但问题是,如果在删除过程中对应的kubernetes集群被删除,中途因为terraform出现错误,我将无法使用`terraform destroy'清理其余资源的terraform状态

尝试将其转换countfor_each如下所示给了我以下错误

我在上面做错了什么?

0 投票
2 回答
7178 浏览

terraform-provider-azure - Terraform:Azure 中的“错误:从 terragrunt 调用模块时引用未声明的资源”

我第一次尝试使用 terragrunt。我遵循了参考https://terratest.gruntwork.io/docs/getting-started/quick-start/的目录结构。我想保留在我的环境文件夹中使用的重复 main.tf、outputs.tf 和 vars.tf 的 gid。以下是我面临的版本和错误。任何帮助将不胜感激。提前致谢。

Terragrunt 版本

地形版本

目录结构

terraform-live/terragrunt.hcl 的内容

}

terraform-live/prod/resource_group/main.tf 的内容

terraform-live/prod/resource_group/terragrunt.hcl 的内容

当我运行 terragrunt 计划时,出现以下错误:

0 投票
1 回答
1472 浏览

google-cloud-platform - Terraform 0.12+ Error Inappropriate value for attribute "service_account": string required with try() function

I have a module for google_service_account, and just converted to Terraform-12 (0.12.24)

When using this module in another resource as follows

I get the following error

How can this be resolved ?