我有一個使用物件型別變數的模塊
variable "table" {
type = object({
name = string
read_capacity = number
write_capacity = number
arn = string
policy_name = string
})
}
我無法理解如何初始化它并傳遞給模塊
locals {
table_dev_configs = {
arn = "arn:aws:dynamodb:us-east-2:123456789:table/my-table-dev"
name = "some_name"
policy_name = "some_policy"
read_capacity = 20
write_capacity = 20
}
}
module "my_table_dev" {
source = "../../modules/my_table"
table = local.table_dev_configs
}
我的意思是locals.table_dev_configs看起來我正在初始化一個 Map 而不是一個物件。
../modules/my_table.tf
resource "aws_dynamodb_table" "my_table" {
name = var.table.name
read_capacity = var.table.read_capactity
write_capacity = var.table.write_capactity
hash_key = "id"
}
以Map方式執行此操作會給我此錯誤:
│ Error: Unsupported attribute
│
read_capacity = var.table.read_capactity
│ ├────────────────
│ │ var.table is a object, known only after apply
│
│ This object does not have an attribute named "read_capactity".
?
初始化物件的正確方法是什么?
uj5u.com熱心網友回復:
代替
read_capacity = var.table.read_capactity
write_capacity = var.table.write_capactity
它應該是
read_capacity = var.table.read_capacity
write_capacity = var.table.write_capacity
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/524396.html
標籤:亚马逊网络服务地形
