diff --git a/command/meta_backend.go b/command/meta_backend.go index 7b39257897..2208d4df90 100644 --- a/command/meta_backend.go +++ b/command/meta_backend.go @@ -869,7 +869,7 @@ func (m *Meta) backendInitFromConfig(c *configs.Backend) (backend.Backend, cty.V b := f() schema := b.ConfigSchema() - decSpec := schema.DecoderSpec() + decSpec := schema.NoneRequired().DecoderSpec() configVal, hclDiags := hcldec.Decode(c.Config, decSpec, nil) diags = diags.Append(hclDiags) if hclDiags.HasErrors() { diff --git a/command/meta_config.go b/command/meta_config.go index 061e50f43e..b7619dccf2 100644 --- a/command/meta_config.go +++ b/command/meta_config.go @@ -231,12 +231,10 @@ func (m *Meta) inputForSchema(given cty.Value, schema *configschema.Block) (cty. return given, nil } - givenVals := given.AsValueMap() - retVals := make(map[string]cty.Value, len(givenVals)) + retVals := given.AsValueMap() names := make([]string, 0, len(schema.Attributes)) for name, attrS := range schema.Attributes { - retVals[name] = givenVals[name] - if givenVal := givenVals[name]; attrS.Required && givenVal.IsNull() && attrS.Type.IsPrimitiveType() { + if attrS.Required && retVals[name].IsNull() && attrS.Type.IsPrimitiveType() { names = append(names, name) } }