0
variable "evstream_cluster" {

  type = map(object({
    name = string
    kafka_version = string
    broker = map(object({
      node_count = number
      node_instance_type = string
      ebs_volume_size_gb = number
    }))
  }))

  default = {
    name = "evstream",
    kafka_version = "2.2.1",
    broker = {
      node_count = 3,
      node_instance_type = "m5.large",
      ebs_volume_size_gb =  500
    }
  }
}

このコードは次のエラーで失敗します。オブジェクト構文をマップ構文に変更しようとしましたが、これも失敗します。

> terraform -version
Terraform v0.12.25

> terraform validate
Error: Invalid default value for variable

  on variables.tf line 39, in variable "evstream_cluster":
  39:   default = {
  40:     name = "evstream"
  41:     kafka_version = "2.2.1"
  42:     broker = {
  43:       node_count = 3
  44:       node_instance_type = "m5.large"
  45:       ebs_volume_size_gb =  500
  46:     }
  47:   }

This default value is not compatible with the variable's type constraint:
element "name": object required.

terraform 型システムを理解するのに役立つ、機能する値を提供する助けに感謝します。

4

1 に答える 1