зеркало из https://github.com/Azure/aztfexport.git
Fix a bug during provider config setting (#382)
* Fix a bug in provider config construction * Fix a bug in provider config construction
This commit is contained in:
Родитель
b794b083c7
Коммит
846cd37105
|
@ -526,24 +526,19 @@ func (meta *baseMeta) init_notf(ctx context.Context) error {
|
||||||
return fmt.Errorf("getting provider schema: %v", diags)
|
return fmt.Errorf("getting provider schema: %v", diags)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure "features" is always defined in the provider config
|
// Ensure "features" is always defined in the provider initConfig
|
||||||
providerConfig := map[string]cty.Value{
|
initConfig, err := ctyjson.Unmarshal([]byte(`{"features": []}`), configschema.SchemaBlockImpliedType(schResp.Provider.Block))
|
||||||
"features": cty.ListValEmpty(configschema.SchemaBlockImpliedType(schResp.Provider.Block.NestedBlocks["features"].Block)),
|
if err != nil {
|
||||||
|
return fmt.Errorf("ctyjson unmarshal initial provider config")
|
||||||
}
|
}
|
||||||
|
providerConfig := initConfig.AsValueMap()
|
||||||
|
|
||||||
for k, v := range meta.providerConfig {
|
for k, v := range meta.providerConfig {
|
||||||
providerConfig[k] = v
|
providerConfig[k] = v
|
||||||
}
|
}
|
||||||
b, err := json.Marshal(meta.providerConfig)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("marshal provider config: %v", err)
|
|
||||||
}
|
|
||||||
config, err := ctyjson.Unmarshal(b, configschema.SchemaBlockImpliedType(schResp.Provider.Block))
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("unmarshal provider config: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if _, diags = meta.tfclient.ConfigureProvider(ctx, typ.ConfigureProviderRequest{
|
if _, diags = meta.tfclient.ConfigureProvider(ctx, typ.ConfigureProviderRequest{
|
||||||
Config: config,
|
Config: cty.ObjectVal(providerConfig),
|
||||||
}); diags.HasErrors() {
|
}); diags.HasErrors() {
|
||||||
return fmt.Errorf("configure provider: %v", diags)
|
return fmt.Errorf("configure provider: %v", diags)
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче