【问题标题】:Modules / typing variable with resource from another provider模块/使用来自另一个提供者的资源输入变量
【发布时间】:2021-12-09 16:41:33
【问题描述】:

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

我已将我的模块变量之一定义为 feature_flags,它本质上是 maplaunchdarkly_feature_flag 资源。

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

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

【问题讨论】:

    标签: terraform launchdarkly


    【解决方案1】:

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

    variable "feature_flags" {
      type = map(object({
        description = optional(string)
        tags        = optional(map(string))
        temporary   = optional(bool)
        # etc.
      }))
    }
    

    【讨论】:

      猜你喜欢
      • 2019-04-04
      • 2020-12-08
      • 2021-12-28
      • 2021-01-11
      • 1970-01-01
      • 2021-07-30
      • 2018-02-04
      • 2016-08-24
      • 2019-05-26
      相关资源
      最近更新 更多