3#include "migration/MigrationApplication.hpp"
4#include "util/OverloadSet.hpp"
45 std::string configPath;
53 std::string configPath;
61 template <
typename ActionType>
62 requires std::is_same_v<ActionType, Run> or std::is_same_v<ActionType, Exit> or
63 std::is_same_v<ActionType, Migrate> or std::is_same_v<ActionType, VerifyConfig>
64 explicit Action(ActionType&& action) : action_(std::forward<ActionType>(action))
76 template <
typename... Processors>
78 apply(Processors&&... processors)
const
80 return std::visit(
util::OverloadSet{std::forward<Processors>(processors)...}, action_);
84 std::variant<Run, Exit, Migrate, VerifyConfig> action_;
95 parse(
int argc,
char const* argv[]);
int apply(Processors &&... processors) const
Apply a function to the action.
Definition CliArgs.hpp:78
Action(ActionType &&action)
Construct an action from a Run.
Definition CliArgs.hpp:64
Parsed command line arguments representation.
Definition CliArgs.hpp:14
static constexpr char kDefaultConfigPath[]
Default configuration path.
Definition CliArgs.hpp:19
static Action parse(int argc, char const *argv[])
Parse command line arguments.
Definition CliArgs.cpp:23
Exit action.
Definition CliArgs.hpp:37
int exitCode
Exit code.
Definition CliArgs.hpp:38
Migration action.
Definition CliArgs.hpp:44
Run action.
Definition CliArgs.hpp:29
std::string configPath
Configuration file path.
Definition CliArgs.hpp:30
bool useNgWebServer
Whether to use a ng web server.
Definition CliArgs.hpp:31
Verify Config action.
Definition CliArgs.hpp:52
The command to run for migration framework.
Definition MigrationApplication.hpp:16
Overload set for lambdas.
Definition OverloadSet.hpp:11