22#include "migration/MigrationInspectorInterface.hpp"
23#include "migration/MigratiorStatus.hpp"
31namespace migration::impl {
39template <
typename SupportedMigrators>
42 SupportedMigrators migrators_;
51 : migrators_{std::move(backend)}
61 std::vector<std::tuple<std::string, MigratorStatus>>
64 return migrators_.getMigratorsStatus();
76 return migrators_.getMigratorStatus(name);
84 std::vector<std::string>
87 auto const names = migrators_.getMigratorNames();
88 return std::vector<std::string>{names.begin(), names.end()};
100 return migrators_.getMigratorDescription(name);
111 return std::ranges::any_of(migrators_.getMigratorNames(), [&](
auto const& migrator) {
112 if (auto canBlock = migrators_.canMigratorBlockClio(migrator); canBlock.has_value() and *canBlock and
113 migrators_.getMigratorStatus(std::string(migrator)) == MigratorStatus::Status::NotMigrated) {
The status of a migrator, it provides the helper functions to convert the status to string and vice v...
Definition MigratiorStatus.hpp:31
The migration inspector implementation for Cassandra. It will report the migration status for Cassand...
Definition MigrationInspectorBase.hpp:40
std::vector< std::tuple< std::string, MigratorStatus > > allMigratorsStatusPairs() const override
Get the status of all the migrators.
Definition MigrationInspectorBase.hpp:62
MigrationInspectorBase(std::shared_ptr< typename SupportedMigrators::BackendType > backend)
Construct a new Cassandra Migration Inspector object.
Definition MigrationInspectorBase.hpp:50
bool isBlockingClio() const override
Return if there is uncomplete migrator blocking the server.
Definition MigrationInspectorBase.hpp:109
std::string getMigratorDescriptionByName(std::string const &name) const override
Get the description of a migrator by its name.
Definition MigrationInspectorBase.hpp:98
MigratorStatus getMigratorStatusByName(std::string const &name) const override
Get the status of a migrator by its name.
Definition MigrationInspectorBase.hpp:74
std::vector< std::string > allMigratorsNames() const override
Get all registered migrators' names.
Definition MigrationInspectorBase.hpp:85
The interface for the migration inspector.The Clio server application will use this interface to insp...
Definition MigrationInspectorInterface.hpp:34