【发布时间】:2021-11-24 12:14:06
【问题描述】:
我正在尝试编写一个用于创建工作空间的 terraform 代码,并将在未来的创建中使用相同的代码。我在引用 bundle_ids 时遇到了一个问题,因为有多个可用的捆绑包,并且它会根据请求而变化。每一次。如果有人可以提出更好的方法来解决这个问题。
resource "aws_workspaces_workspace" "this" {
directory_id = var.directory_id
for_each = var.workspace_user_names
user_name = each.key
bundle_id = [local.bundle_ids["${each.value}"]]
root_volume_encryption_enabled = true
user_volume_encryption_enabled = true
volume_encryption_key = var.volume_encryption_key
workspace_properties {
user_volume_size_gib = 50
root_volume_size_gib = 80
running_mode = "AUTO_STOP"
running_mode_auto_stop_timeout_in_minutes = 60
}
tags = var.tags
}
terraform.tfvars
directory_id = "d-xxxxxxx"
##Add the Workspace Username & bundle_id;
workspace_user_names = {
"User1" = "n"
"User2" = "y"
"User3" = "k"
}
locals.tf
locals {
bundle_ids = {
"n" = "wsb-nn"
"y" = "wsb-yy"
"k" = "wsb-kk"
}
}
地形规划
Error: Incorrect attribute value type
│
│ on r_aws_workspaces.tf line 8, in resource "aws_workspaces_workspace" "this":
│ 8: bundle_id = [local.bundle_ids["${each.value}"]]
│ ├────────────────
│ │ each.value will be known only after apply
│ │ local.bundle_ids is object with 3 attributes
│
│ Inappropriate value for attribute "bundle_id": string required.
【问题讨论】:
-
我还注意到您的几乎所有问题都有答案,但没有一个被接受。接受好的答案不仅是一种好习惯,而且可以减少重复的次数并增加您的问题得到实际回答的机会。
标签: amazon-web-services terraform terraform-provider-aws