diff options
Diffstat (limited to 'lib/cli/nodesetupcommand.hpp')
-rw-r--r-- | lib/cli/nodesetupcommand.hpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/cli/nodesetupcommand.hpp b/lib/cli/nodesetupcommand.hpp new file mode 100644 index 0000000..d25d21e --- /dev/null +++ b/lib/cli/nodesetupcommand.hpp @@ -0,0 +1,36 @@ +/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */ + +#ifndef NODESETUPCOMMAND_H +#define NODESETUPCOMMAND_H + +#include "cli/clicommand.hpp" + +namespace icinga +{ + +/** + * The "node setup" command. + * + * @ingroup cli + */ +class NodeSetupCommand final : public CLICommand +{ +public: + DECLARE_PTR_TYPEDEFS(NodeSetupCommand); + + String GetDescription() const override; + String GetShortDescription() const override; + void InitParameters(boost::program_options::options_description& visibleDesc, + boost::program_options::options_description& hiddenDesc) const override; + std::vector<String> GetArgumentSuggestions(const String& argument, const String& word) const override; + ImpersonationLevel GetImpersonationLevel() const override; + int Run(const boost::program_options::variables_map& vm, const std::vector<std::string>& ap) const override; + +private: + static int SetupMaster(const boost::program_options::variables_map& vm, const std::vector<std::string>& ap); + static int SetupNode(const boost::program_options::variables_map& vm, const std::vector<std::string>& ap); +}; + +} + +#endif /* NODESETUPCOMMAND_H */ |