Merge pull request #20904 from hashicorp/jbardin/filter-shim-nulls
filter nulls when shimming a config
This commit is contained in:
commit
34358254ec
|
@ -167,7 +167,10 @@ func ConfigValueFromHCL2(v cty.Value) interface{} {
|
|||
it := v.ElementIterator()
|
||||
for it.Next() {
|
||||
_, ev := it.Element()
|
||||
l = append(l, ConfigValueFromHCL2(ev))
|
||||
cv := ConfigValueFromHCL2(ev)
|
||||
if cv != nil {
|
||||
l = append(l, cv)
|
||||
}
|
||||
}
|
||||
return l
|
||||
}
|
||||
|
|
|
@ -232,6 +232,26 @@ func TestConfigValueFromHCL2Block(t *testing.T) {
|
|||
&configschema.Block{},
|
||||
nil,
|
||||
},
|
||||
// nulls should be filtered out of the config, since they couldn't exist
|
||||
// in hcl.
|
||||
{
|
||||
cty.ObjectVal(map[string]cty.Value{
|
||||
"list": cty.ListVal([]cty.Value{
|
||||
cty.StringVal("ok"),
|
||||
cty.NullVal(cty.String)}),
|
||||
}),
|
||||
&configschema.Block{
|
||||
Attributes: map[string]*configschema.Attribute{
|
||||
"list": {
|
||||
Type: cty.List(cty.String),
|
||||
Optional: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
map[string]interface{}{
|
||||
"list": []interface{}{"ok"},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
|
|
Loading…
Reference in New Issue