func Decode(input interface{}, output interface{}) error
Decode is used to decode opaque field in configuration
func EnhancedExactUnmarshal(v *viper.Viper, output interface{}) error
EnhancedExactUnmarshal is intended to unmarshal a config file into a structure producing error when extraneous variables are introduced and supporting the time.Duration type
func EnhancedExactUnmarshalKey(baseKey string, output interface{}) error
EnhancedExactUnmarshalKey is intended to unmarshal a config file subtreee into a structure