func()

in internal/meta/base_meta.go [644:673]


func (meta *baseMeta) init_notf(ctx context.Context) error {
	schResp, diags := meta.tfclient.GetProviderSchema()
	if diags.HasErrors() {
		return fmt.Errorf("getting provider schema: %v", diags)
	}

	providerCfg := "{}"
	if !meta.useAzAPI() {
		// Ensure "features" is always defined in the azurerm provider initConfig
		providerCfg = `{"features": []}`
	}
	initConfig, err := ctyjson.Unmarshal([]byte(providerCfg), configschema.SchemaBlockImpliedType(schResp.Provider.Block))
	if err != nil {
		return fmt.Errorf("ctyjson unmarshal initial provider config: %v", err)
	}

	providerConfig := initConfig.AsValueMap()

	for k, v := range meta.providerConfig {
		providerConfig[k] = v
	}

	if _, diags = meta.tfclient.ConfigureProvider(ctx, typ.ConfigureProviderRequest{
		Config: cty.ObjectVal(providerConfig),
	}); diags.HasErrors() {
		return fmt.Errorf("configure provider: %v", diags)
	}

	return nil
}