diff options
Diffstat (limited to 'lib/cli/featureenablecommand.cpp')
-rw-r--r-- | lib/cli/featureenablecommand.cpp | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/lib/cli/featureenablecommand.cpp b/lib/cli/featureenablecommand.cpp new file mode 100644 index 0000000..0cf9066 --- /dev/null +++ b/lib/cli/featureenablecommand.cpp @@ -0,0 +1,50 @@ +/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */ + +#include "cli/featureenablecommand.hpp" +#include "cli/featureutility.hpp" +#include "base/logger.hpp" + +using namespace icinga; +namespace po = boost::program_options; + +REGISTER_CLICOMMAND("feature/enable", FeatureEnableCommand); + +String FeatureEnableCommand::GetDescription() const +{ + return "Enables specified Icinga 2 feature."; +} + +String FeatureEnableCommand::GetShortDescription() const +{ + return "enables specified feature"; +} + +std::vector<String> FeatureEnableCommand::GetPositionalSuggestions(const String& word) const +{ + return FeatureUtility::GetFieldCompletionSuggestions(word, true); +} + +int FeatureEnableCommand::GetMinArguments() const +{ + return 1; +} + +int FeatureEnableCommand::GetMaxArguments() const +{ + return -1; +} + +ImpersonationLevel FeatureEnableCommand::GetImpersonationLevel() const +{ + return ImpersonateIcinga; +} + +/** + * The entry point for the "feature enable" CLI command. + * + * @returns An exit status. + */ +int FeatureEnableCommand::Run(const boost::program_options::variables_map& vm, const std::vector<std::string>& ap) const +{ + return FeatureUtility::EnableFeatures(ap); +} |