问题标签 [terraform0.11]
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.
terraform - 带条件的 Terraform 设置变量
我正在尝试将一个变量设置为一个字符串,该字符串稍后将与另一个字符串连接以用于 aws s3 存储桶策略。我试图通过定义一个局部变量来做到这一点,但我还需要指定一个我想要使用它的条件。我正在使用 terraform 11。
例如:
- 如果 set_bucket_policy 为 false 则将变量设为空字符串 ""
- 否则使用heredoc设置变量的字符串值
例如,不工作的代码:
terraform - 有条件地将 load_balancer 添加到 terraform 中的 aws_ecs_service
如何有条件地将额外的 load_balancer 添加到 terraform 0.11.7 中的 aws_ecs_service 资源?
三元技巧
我可以在某些情况下使用三元组 - 像这样我只在定义时添加一个额外的 sg
这会产生 host_type.id、additiona_sg 或 host_type.id、host_type.id。它对某一类参数工作得相当好。
额外的 LB 问题
在这种情况下,我有两类服务,有些需要注册多个 LB,有些不需要。因为这是一个新要求,所以我不想切换到一个新模块,因为这将强制进行销毁/重新创建,而部署成本更高。理想情况下,我希望 TF 就地修改。
amazon-web-services - 如何将 aws secret manager 字符串转换为 terraform (0.11.13) 中的地图
我有一个秘密存储在 AWS 秘密管理器中,并试图在运行时将其集成到 terraform 中。我们正在使用 terraform 0.11.13 版本,并且更新到最新的 terraform 在路线图中。
我们都希望将jsondecode()
可用的东西用作最新 terraform 的一部分,但在升级 terraform 之前需要集成一些东西。
我们尝试使用https://github.com/terraform-providers/terraform-provider-aws/issues/4789中建议的以下辅助外部数据程序。
但是我们现在最终得到了这个错误。
谷歌搜索没有太大帮助。
任何帮助都感激不尽。
操作系统:Windows 10
terraform - 如何从另一个模块传递 tfvar?
所以这是我的设置
main.tf
:
foo-module/terraform.tfvars
:
terraform - Terraform 0.11 从数据源获取 VPC CIDR 并传递给 security_group_ingress_rule 资源
我的要求是我需要获取vpc-foo和vpc-bar的 CIDR 地址并传递给资源“aws_security_group_rule”“ingress”
我尝试使用以下代码:
- data "aws_vpcs" -> 获取给定 VPC 的 ID
- 数据“aws_vpc”-> 使用 VPC id 制作一个列表
- 资源“aws_security_group_rule”“入口”-> 将 VPC CIRD 作为入口传递
有人可以帮忙吗?
amazon-web-services - terraform 必填字段未使用块的动态列表设置
我遇到了这个看起来像错误的 terraform 问题,但希望有人可以提出另一种方法来做到这一点。这是针对 v0.11 的(不幸的是,升级不是一种选择)
我正在尝试根据模块输入获得 VPC 块的动态列表
这会产生以下结果:
Error: "vpc.0.vpc_id": required field is not set
我正在尝试获取 vpc 的动态列表,例如:
但这会得到同样的错误。
terraform - 如何修复未知令牌:vault_auth_backend.approle.path
所以在 terraform 上有这个关于vault_approle_auth_backend_role的教程页面:
但是当我复制示例代码并尝试运行terraform init
时出现错误:
我该如何解决?
我注意到这个backend
参数是可选的,我可以跳过它吗?我觉得我想将其值设置为$VAULT_ADDR/v1/identity/oidc/role
或什么。
如果我使用backend = "${vault_auth_backend.approle.path}"
,它仍然backend: "${vault_auth_backend.approle.path}"
在运行时显示terraform plan
。
terraform - 使用 terraform 将对象(地图)转换为不同的列表
使用 Terraform,是否可以将对象转换为
到像这样的输出
请注意,数据是具有键(项目)和值(用户分配)映射的对象
amazon-web-services - 安装提供程序“aws”时出错:openpgp:未知实体的签名
我正在使用 terraform 版本 0.11.13,今天下午我在terraform init步骤中收到以下错误这是否意味着我必须升级 terraform 版本,这个版本是否被 aws 提供程序弃用?
完整日志:
terraform - 无法使用 terraform0.11 传递元素列表
我正在尝试传递一个列表类型的变量,如下所示:
在cf-app.tf
文件中:
在variables.tf
文件中:
在deployment.tf
文件中:
但我收到以下错误,这是一个已知terraform 11
问题,已修复terraform 12
:
我关注了这个问题,但我的挑战是一系列元素......
我目前正在使用terraform version 11
.
有人可以帮我解决这个问题吗?
先感谢您!