diff --git a/configs/configupgrade/test-fixtures/valid/variable-type/input/variables.tf b/configs/configupgrade/test-fixtures/valid/variable-type/input/variables.tf index 03ab6b1bda..59b3c585dc 100644 --- a/configs/configupgrade/test-fixtures/valid/variable-type/input/variables.tf +++ b/configs/configupgrade/test-fixtures/valid/variable-type/input/variables.tf @@ -4,8 +4,12 @@ variable "s" { variable "l" { type = "list" + + default = [] } variable "m" { type = "map" + + default = {} } diff --git a/configs/configupgrade/test-fixtures/valid/variable-type/want/variables.tf b/configs/configupgrade/test-fixtures/valid/variable-type/want/variables.tf index 317e92dc9e..2059d9e2d5 100644 --- a/configs/configupgrade/test-fixtures/valid/variable-type/want/variables.tf +++ b/configs/configupgrade/test-fixtures/valid/variable-type/want/variables.tf @@ -4,8 +4,12 @@ variable "s" { variable "l" { type = list(string) + + default = [] } variable "m" { type = map(string) + + default = {} } diff --git a/configs/configupgrade/upgrade_expr.go b/configs/configupgrade/upgrade_expr.go index 0be5f14486..6bfa256689 100644 --- a/configs/configupgrade/upgrade_expr.go +++ b/configs/configupgrade/upgrade_expr.go @@ -184,6 +184,10 @@ Value: buf.WriteString("]") case *hcl1ast.ObjectType: + if len(tv.List.Items) == 0 { + buf.WriteString("{}") + break + } buf.WriteString("{\n") for _, item := range tv.List.Items { if len(item.Keys) != 1 {