mirror of https://github.com/minio/minio.git
Allow empty target KVS for notification targets (#8644)
This is allowed with enable=off arg value
This commit is contained in:
parent
80558e839d
commit
39e8e4f4aa
|
@ -620,8 +620,8 @@ func (c Config) SetKVS(s string, defaultKVS map[string]KVS) error {
|
|||
|
||||
_, ok := kvs.Lookup(Enable)
|
||||
// Check if state is required
|
||||
_, defaultOk := defaultKVS[subSys].Lookup(Enable)
|
||||
if !ok && defaultOk {
|
||||
_, enableRequired := defaultKVS[subSys].Lookup(Enable)
|
||||
if !ok && enableRequired {
|
||||
// implicit state "on" if not specified.
|
||||
kvs.Set(Enable, EnableOn)
|
||||
}
|
||||
|
@ -646,8 +646,19 @@ func (c Config) SetKVS(s string, defaultKVS map[string]KVS) error {
|
|||
|
||||
hkvs := HelpSubSysMap[subSys]
|
||||
for _, hkv := range hkvs {
|
||||
var enabled bool
|
||||
if enableRequired {
|
||||
enabled = currKVS.Get(Enable) == EnableOn
|
||||
} else {
|
||||
// when enable arg is not required
|
||||
// then it is implicit on for the sub-system.
|
||||
enabled = true
|
||||
}
|
||||
v, _ := currKVS.Lookup(hkv.Key)
|
||||
if v == "" && !hkv.Optional {
|
||||
if v == "" && !hkv.Optional && enabled {
|
||||
// Return error only if the
|
||||
// key is enabled, for state=off
|
||||
// let it be empty.
|
||||
return Errorf(SafeModeKind,
|
||||
"'%s' is not optional for '%s' sub-system, please check '%s' documentation",
|
||||
hkv.Key, subSys, subSys)
|
||||
|
|
Loading…
Reference in New Issue