forked from ungleich-public/cdist
__key_value: --onchange parameter added (#648)
This commit is contained in:
parent
b58cb810ac
commit
f9443532a1
4 changed files with 15 additions and 3 deletions
|
@ -23,13 +23,14 @@
|
|||
|
||||
state_should="$(cat "$__object/parameter/state")"
|
||||
state_is="$(cat "$__object/explorer/state")"
|
||||
fire_onchange=''
|
||||
|
||||
if [ "$state_is" = "$state_should" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# here we check only if the states are valid,
|
||||
# emmit messages and
|
||||
# emit messages and
|
||||
# let awk do the work ...
|
||||
case "$state_should" in
|
||||
absent)
|
||||
|
@ -39,6 +40,7 @@ case "$state_should" in
|
|||
;;
|
||||
wrongformat|wrongvalue|present)
|
||||
echo "remove" >> "$__messages_out"
|
||||
fire_onchange=1
|
||||
;;
|
||||
*)
|
||||
echo "Unknown explorer state: $state_is" >&2
|
||||
|
@ -50,12 +52,15 @@ case "$state_should" in
|
|||
case "$state_is" in
|
||||
nosuchfile)
|
||||
echo "create" >> "$__messages_out"
|
||||
fire_onchange=1
|
||||
;;
|
||||
absent)
|
||||
echo "insert" >> "$__messages_out"
|
||||
fire_onchange=1
|
||||
;;
|
||||
wrongformated|wrongvalue)
|
||||
echo "change" >> "$__messages_out"
|
||||
fire_onchange=1
|
||||
;;
|
||||
present)
|
||||
# nothing to do
|
||||
|
@ -67,9 +72,13 @@ case "$state_should" in
|
|||
esac
|
||||
;;
|
||||
*)
|
||||
echo "Unknown state: $state_should" >&2
|
||||
exit 1
|
||||
echo "Unknown state: $state_should" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
cat "$__type/files/remote_script.sh"
|
||||
|
||||
if [ -n "$fire_onchange" ]; then
|
||||
cat "$__object/parameter/onchange"
|
||||
fi
|
||||
|
|
|
@ -34,6 +34,8 @@ comment
|
|||
but only if the key or value must be changed.
|
||||
You need to ensure yourself that the line is prefixed with the correct
|
||||
comment sign. (for example # or ; or wathever ..)
|
||||
onchange
|
||||
The code to run if the key or value changes (i.e. is inserted, removed or replaced).
|
||||
|
||||
|
||||
BOOLEAN PARAMETERS
|
||||
|
|
0
cdist/conf/type/__key_value/parameter/default/onchange
Normal file
0
cdist/conf/type/__key_value/parameter/default/onchange
Normal file
|
@ -2,3 +2,4 @@ key
|
|||
value
|
||||
state
|
||||
comment
|
||||
onchange
|
||||
|
|
Loading…
Reference in a new issue