我当前正在将数据库选项组设置作为硬编码传递到模块代码本身中。
options = {
TIMEZONE = {
option_name = "Timezone"
option_settings = {
TIMEZONE = {
name = "TIME_ZONE"
value = "Europe/Berlin"
}
}
},
NNE = {
option_name = "NATIVE_NETWORK_ENCRYPTION"
option_settings = {
CRYPTO_CHECKSUM_SERVER = {
name = "SQLNET.CRYPTO_CHECKSUM_SERVER"
value = "REQUIRED"
},
ENCRYPTION_SERVER = {
name = "SQLNET.ENCRYPTION_SERVER"
value = "REQUIRED"
},
ENCRYPTION_CLIENT = {
name = "SQLNET.ENCRYPTION_CLIENT"
value = "REQUIRED"
},
ALLOW_WEAK_CRYPTO = {
name = "SQLNET.ALLOW_WEAK_CRYPTO"
value = "FALSE"
},
ALLOW_WEAK_CRYPTO_CLIENTS = {
name = "SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS"
value = "FALSE"
}
}
}
为了参数化相同的内容,我声明了一个变量,options = var.db_options 我想了解,如何为其创建适当的变量类型。 我尝试了几种方法,但总是抛出一个错误,指出不是合适的类型。 因此,为了使其工作,我将变量类型定义为 map(any),这有效,但我仍然想知道,这样的值的适当变量类型是什么。
谢谢!
一种简单的方法是利用
any
变量类型
variable "options" {
type = map(any)
description = "Map of options"
default = {}
}
更进一步,映射中的每个键/值都可以在变量类型定义中定义。