首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用terraform中的条件跳过特定值的资源参数?

如何使用terraform中的条件跳过特定值的资源参数?
EN

Stack Overflow用户
提问于 2022-08-18 14:08:30
回答 2查看 119关注 0票数 0

我将尝试用一个例子来解释我所面临的问题。

下面的terraform代码用于在循环中创建多个EBS卷。

main.tf

代码语言:javascript
运行
复制
resource "aws_ebs_volume" "ebs_volume" {
  count             = var.count_drive
  type              = element(var.ebs_drive_type, count.index)
  size              = element(var.ebs_devices_size, count.index)
  iops              = element(var.ebs_iops, count.index)
}

variables.tfvars

代码语言:javascript
运行
复制
ebs_devices_names     = ["/dev/xvdd", "/dev/xvdi", "/dev/xvdg"]
ebs_devices_size      = ["250", "6000", "2000"]
ebs_drive_type        = ["gp3", "io2", "gp3"]
ebs_iops              = ["3000", "5000", "3000"]

以上代码运行良好。现在的问题是,我还想指定吞吐量。我可以像其他变量一样添加一个列表类型的变量,但是只能为gp3指定吞吐量。因此,对于gp2、io1、io2等其他类型的EBS,我将得到一个错误。

因此,总结一下代码中需要做哪些更改,这样我们就可以跳过gp3类型以外的吞吐量分配了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-18 14:25:04

以下是你可以做的事情:

代码语言:javascript
运行
复制
resource "aws_ebs_volume" "ebs_volume" {
  count             = var.count_drive
  type              = element(var.ebs_drive_type, count.index)
  size              = element(var.ebs_devices_size, count.index)
  iops              = element(var.ebs_drive_type, count.index) == "gp2" ? null : element(var.ebs_iops, count.index)
  throughput        = element(var.ebs_drive_type, count.index) == "gp3" ? var.throughput : null
  availability_zone = var.az
}

您不必使用变量throughput,您最好将其设置为一个介于最低吞吐量和最高吞吐量之间的数字。另外,请注意,availability_zone是必需的参数。此外,iops参数对于卷的gp2类型不可用。

票数 1
EN

Stack Overflow用户

发布于 2022-08-18 14:23:19

如果要跳过它,请将其设置为null

代码语言:javascript
运行
复制
resource "aws_ebs_volume" "ebs_volume" {
  count             = var.count_drive
  type              = element(var.ebs_drive_type, count.index)
  size              = element(var.ebs_devices_size, count.index)
  iops              = element(var.ebs_iops, count.index)
  throughput        = var.ebs_drive_type[count.index] == "gp3" ? var.throughput : null
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73404515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档