func loadParameterSettings()

in internal/config/core/parameter.go [28:47]


func loadParameterSettings(cp task.ConfigProvider) (parameterSettings, error) {
	var params parameterSettings
	if err := mapstructure.Decode(cp.Provider.Params, &params); err != nil {
		return parameterSettings{}, fmt.Errorf("invalid params for resolving %q: %w", cp.Env, err)
	}
	if err := config.DefaultValidator.Struct(params); err != nil {
		return parameterSettings{}, fmt.Errorf("invalid params for resolving %q: %w", cp.Env, err)

	}
	if defaultedParams, err := params.defaulting(); err == nil {
		params = defaultedParams
	} else {
		return parameterSettings{}, fmt.Errorf("invalid params for resolving %q: %w", cp.Env, err)
	}
	if err := params.Validate(); err != nil {
		return parameterSettings{}, fmt.Errorf("invalid params for resolving %q: %w", cp.Env, err)
	}

	return params, nil
}