]> granicus.if.org Git - icinga2/blob - lib/cli/nodesetupcommand.hpp
Added ca restore command+docs to undo effects of ca remove
[icinga2] / lib / cli / nodesetupcommand.hpp
1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
2
3 #ifndef NODESETUPCOMMAND_H
4 #define NODESETUPCOMMAND_H
5
6 #include "cli/clicommand.hpp"
7
8 namespace icinga
9 {
10
11 /**
12  * The "node setup" command.
13  *
14  * @ingroup cli
15  */
16 class NodeSetupCommand final : public CLICommand
17 {
18 public:
19         DECLARE_PTR_TYPEDEFS(NodeSetupCommand);
20
21         String GetDescription() const override;
22         String GetShortDescription() const override;
23         void InitParameters(boost::program_options::options_description& visibleDesc,
24                 boost::program_options::options_description& hiddenDesc) const override;
25         std::vector<String> GetArgumentSuggestions(const String& argument, const String& word) const override;
26         ImpersonationLevel GetImpersonationLevel() const override;
27         int Run(const boost::program_options::variables_map& vm, const std::vector<std::string>& ap) const override;
28
29 private:
30         static int SetupMaster(const boost::program_options::variables_map& vm, const std::vector<std::string>& ap);
31         static int SetupNode(const boost::program_options::variables_map& vm, const std::vector<std::string>& ap);
32 };
33
34 }
35
36 #endif /* NODESETUPCOMMAND_H */