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_should="$(cat "$__object/parameter/state")"
 | 
				
			||||||
state_is="$(cat "$__object/explorer/state")"
 | 
					state_is="$(cat "$__object/explorer/state")"
 | 
				
			||||||
 | 
					fire_onchange=''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [  "$state_is" = "$state_should" ]; then
 | 
					if [  "$state_is" = "$state_should" ]; then
 | 
				
			||||||
    exit 0
 | 
					    exit 0
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# here we check only if the states are valid,
 | 
					# here we check only if the states are valid,
 | 
				
			||||||
# emmit messages and 
 | 
					# emit messages and
 | 
				
			||||||
# let awk do the work ...
 | 
					# let awk do the work ...
 | 
				
			||||||
case "$state_should" in
 | 
					case "$state_should" in
 | 
				
			||||||
    absent)
 | 
					    absent)
 | 
				
			||||||
| 
						 | 
					@ -39,6 +40,7 @@ case "$state_should" in
 | 
				
			||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
            wrongformat|wrongvalue|present)
 | 
					            wrongformat|wrongvalue|present)
 | 
				
			||||||
                echo "remove" >> "$__messages_out"
 | 
					                echo "remove" >> "$__messages_out"
 | 
				
			||||||
 | 
					                fire_onchange=1
 | 
				
			||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
            *)
 | 
					            *)
 | 
				
			||||||
                echo "Unknown explorer state: $state_is" >&2
 | 
					                echo "Unknown explorer state: $state_is" >&2
 | 
				
			||||||
| 
						 | 
					@ -50,12 +52,15 @@ case "$state_should" in
 | 
				
			||||||
        case "$state_is" in
 | 
					        case "$state_is" in
 | 
				
			||||||
            nosuchfile)
 | 
					            nosuchfile)
 | 
				
			||||||
                echo "create" >> "$__messages_out"
 | 
					                echo "create" >> "$__messages_out"
 | 
				
			||||||
 | 
					                fire_onchange=1
 | 
				
			||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
            absent)
 | 
					            absent)
 | 
				
			||||||
                echo "insert" >> "$__messages_out"
 | 
					                echo "insert" >> "$__messages_out"
 | 
				
			||||||
 | 
					                fire_onchange=1
 | 
				
			||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
            wrongformated|wrongvalue)
 | 
					            wrongformated|wrongvalue)
 | 
				
			||||||
                echo "change" >> "$__messages_out"
 | 
					                echo "change" >> "$__messages_out"
 | 
				
			||||||
 | 
					                fire_onchange=1
 | 
				
			||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
            present)
 | 
					            present)
 | 
				
			||||||
                # nothing to do
 | 
					                # nothing to do
 | 
				
			||||||
| 
						 | 
					@ -73,3 +78,7 @@ case "$state_should" in
 | 
				
			||||||
esac
 | 
					esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cat "$__type/files/remote_script.sh"
 | 
					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.
 | 
					    but only if the key or value must be changed.
 | 
				
			||||||
    You need to ensure yourself that the line is prefixed with the correct
 | 
					    You need to ensure yourself that the line is prefixed with the correct
 | 
				
			||||||
    comment sign. (for example # or ; or wathever ..)
 | 
					    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
 | 
					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
 | 
					value
 | 
				
			||||||
state
 | 
					state
 | 
				
			||||||
comment
 | 
					comment
 | 
				
			||||||
 | 
					onchange
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue