blob: 4bd1fcd21622aa2e11c5d63fb68e00eb7b208230 [file] [log] [blame]
#pragma once
#include <cstdint>
#include <nlohmann/json.hpp>
namespace privileges
{
// clang-format off
enum class PrivilegeType : std::uint8_t{
Invalid,
Login,
ConfigureManager,
ConfigureUsers,
ConfigureSelf,
ConfigureComponents,
NoAuth,
ConfigureCompositionInfrastructure,
AdministrateSystems,
OperateSystems,
AdministrateStorage,
OperateStorageBackup,
};
NLOHMANN_JSON_SERIALIZE_ENUM(PrivilegeType, {
{PrivilegeType::Invalid, "Invalid"},
{PrivilegeType::Login, "Login"},
{PrivilegeType::ConfigureManager, "ConfigureManager"},
{PrivilegeType::ConfigureUsers, "ConfigureUsers"},
{PrivilegeType::ConfigureSelf, "ConfigureSelf"},
{PrivilegeType::ConfigureComponents, "ConfigureComponents"},
{PrivilegeType::NoAuth, "NoAuth"},
{PrivilegeType::ConfigureCompositionInfrastructure, "ConfigureCompositionInfrastructure"},
{PrivilegeType::AdministrateSystems, "AdministrateSystems"},
{PrivilegeType::OperateSystems, "OperateSystems"},
{PrivilegeType::AdministrateStorage, "AdministrateStorage"},
{PrivilegeType::OperateStorageBackup, "OperateStorageBackup"},
});
} // namespace privileges
// clang-format on