root@FIREWALL01% cat /var/db/scripts/op/modify_failover_node_status_in_mib.slax version 1.0; ns junos = "http://xml.juniper.net/junos/*/junos"; ns xnm = "http://xml.juniper.net/xnm/1.1/xnm"; ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0"; import "../import/junos.xsl"; match / { /* Ouverture d'une connexion pour lancer descommandes (systemes + MIB) */ var $connection = jcs:open(); /* Recuperation des status des nodes en cli */ var $get-cluster-node-status={ " show chassis cluster status" ;} var $resultstatus = jcs:execute( $connection , $get-cluster-node-status); var $ALL_RG=$resultstatus/redundancy-group; var $STATS = "device-stats"; for-each($ALL_RG) { var $RG = descendant::*[2]; /* **********************/ /* */ /* NODE 0 */ /* */ /* **********************/ var $NODEZERO = device-stats/descendant::*[1]; var $STATUSZERO = device-stats/descendant::*[3]; var $MANUELZERO = device-stats/descendant::*[5]; var $STRINGSTATEZERO = { call create-instance-name( $string0 = $NODEZERO, $string1 = "_state_rg" , $string2 = $RG ); } var $STRINGMANUELZERO = { call create-instance-name( $string0 = $NODEZERO, $string1 = "_failover_manuel_rg" , $string2 = $RG ); } /* **********************/ /* */ /* NODE 1 */ /* */ /* **********************/ var $NODEUN = device-stats/descendant::*[6]; var $STATUSUN = device-stats/descendant::*[8]; var $MANUELUN = device-stats/descendant::*[5]; var $STRINGSTATEUN = { call create-instance-name( $string0 = $NODEUN, $string1 = "_state_rg" , $string2 = $RG ); } var $STRINGMANUELUN = { call create-instance-name( $string0 = $NODEUN, $string1 = "_failover_manuel_rg" , $string2 = $RG ); } /* **********************/ /* */ /* ADD VALUE IN MIB */ /* */ /* **********************/ call set-instance( $connection, $instance = $STRINGSTATEZERO, $type = "string", $value = $STATUSZERO); call set-instance( $connection, $instance = $STRINGMANUELZERO, $type = "string", $value = $MANUELZERO); call set-instance( $connection, $instance = $STRINGSTATEUN, $type = "string", $value = $STATUSUN); call set-instance( $connection, $instance = $STRINGMANUELUN, $type = "string", $value = $MANUELUN); } expr jcs:close( $connection ); } /* **********************/ /* */ /* FONCTION */ /* */ /* **********************/ /* * set-instance - Add or modify value in MIB */ template set-instance($connection, $instance, $type, $value) { /* Build RPC and invoke it */ var $rpc = { { $instance; $type; $value; } } var $results = jcs:execute( $connection, $rpc ); } /* * Concatene 3 String Value */ template create-instance-name ( $string0, $string1, $string2 ) { expr "" _ $string0 _ $string1 _ $string2; }