0

我正在创建一个 tf 模块来抽象 terraform 中的一些启动暗配置。

我已经定义了我的一个模块变量,feature_flags它本质上是一个map资源launchdarkly_feature_flag

目前我要手动为这个变量提供类型安全,但是我想知道是否有办法从 launchdarkly_provider 传递类型。

# now                          |   # expected
                               |
                               |   variable "feature_flags" {
variable "feature_flags" {     |     type = map(launchdarkly_feature_flags)
  type = map(any)              |   }
}                              |
4

1 回答 1

0

据我所知,使用 Terraform 无法找到您要查找的内容。我猜的原因之一是 Terraform 的类型系统不够复杂,无法完全表示资源,某些参数(例如块、provider或生命周期配置)无法使用当前类型系统表示。但是,如果您愿意陷入困境,则可以通过定义更严格的类型来更严格地接受您所接受的内容:

variable "feature_flags" {
  type = map(object({
    description = optional(string)
    tags        = optional(map(string))
    temporary   = optional(bool)
    # etc.
  }))
}
于 2021-10-23T18:37:38.860 回答