diff options
Diffstat (limited to 'lib/icinga/command.ti')
-rw-r--r-- | lib/icinga/command.ti | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/lib/icinga/command.ti b/lib/icinga/command.ti new file mode 100644 index 0000000..2275955 --- /dev/null +++ b/lib/icinga/command.ti @@ -0,0 +1,54 @@ +/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */ + +#include "icinga/customvarobject.hpp" +#include "base/function.hpp" + +library icinga; + +namespace icinga +{ + +abstract class Command : CustomVarObject +{ + [config] Value command (CommandLine); + [config, signal_with_old_value] Value arguments; + [config] int timeout { + default {{{ return 60; }}} + }; + [config, signal_with_old_value] Dictionary::Ptr env; + [config, required] Function::Ptr execute; +}; + +validator Command { + String command; + Function command; + Array command { + String "*"; + Function "*"; + }; + + Dictionary arguments { + String "*"; + Function "*"; + Dictionary "*" { + String key; + String value; + Function value; + String description; + Number "required"; + Number skip_key; + Number repeat_key; + String set_if; + Function set_if; + Number order; + String separator; + }; + }; + + Dictionary env { + String "*"; + Function "*"; + }; +}; + +} |