22#include "migration/MigrationApplication.hpp"
23#include "util/OverloadSet.hpp"
58 std::string configPath;
64 std::string configPath;
72 template <
typename ActionType>
73 requires std::is_same_v<ActionType, Run> or std::is_same_v<ActionType, Exit> or
74 std::is_same_v<ActionType, Migrate> or std::is_same_v<ActionType, VerifyConfig>
75 explicit Action(ActionType&& action) : action_(std::forward<ActionType>(action))
86 template <
typename... Processors>
88 apply(Processors&&... processors)
const
90 return std::visit(
util::OverloadSet{std::forward<Processors>(processors)...}, action_);
94 std::variant<Run, Exit, Migrate, VerifyConfig> action_;
105 parse(
int argc,
char const* argv[]);
An action parsed from the command line.
Definition CliArgs.hpp:43
int apply(Processors &&... processors) const
Apply a function to the action.
Definition CliArgs.hpp:88
Action(ActionType &&action)
Construct an action from a Run.
Definition CliArgs.hpp:75
Parsed command line arguments representation.
Definition CliArgs.hpp:33
static Action parse(int argc, char const *argv[])
Parse command line arguments.
Definition CliArgs.cpp:41
static constexpr char kDEFAULT_CONFIG_PATH[]
Default configuration path.
Definition CliArgs.hpp:38
Exit action.
Definition CliArgs.hpp:52
int exitCode
Exit code.
Definition CliArgs.hpp:53
Migration action.
Definition CliArgs.hpp:57
Run action.
Definition CliArgs.hpp:46
std::string configPath
Configuration file path.
Definition CliArgs.hpp:47
bool useNgWebServer
Whether to use a ng web server.
Definition CliArgs.hpp:48
Verify Config action.
Definition CliArgs.hpp:63
The command to run for migration framework.
Definition MigrationApplication.hpp:34
Overload set for lambdas.
Definition OverloadSet.hpp:30