The system allows you to define command blocks following a certain format rule in the driver definition to retrieve live data.
For example, this is a command block to retrieve route tables with multiple VRF instances.
CommandBlock::[["su $vrfName", ["BR-K6-Albright-G27(su-secure)>", "show ip route"],
["regex:\s\S+>", "Y"], ["regex:\s\S+>", ""]]]
The following table explains the format rule in detail:
Command Block Element |
Explanation |
CommandBlock::[[ ]] |
Precursor string, indicating the following content is a command block (JSON array). |
“su $vrfName” |
The first command in a command block, which is also the only one that will be issued without any conditions. |
▪["BR-K6-Albright-G27(su-secure)>", "show ip route"] ▪["regex:\s\S+>", "Y"] ▪["regex:\s\S+>", ""] |
Command pairs, including the expected prompt and responsive command. Multiple string pairs can be attached in a command block. Tips: Regular expression can be used to define an expected prompt. The Ctrl + C keys and whitespace can be used to define a responsive command. |