1*0ec8b83dSEd Tanous #pragma once 2*0ec8b83dSEd Tanous #include <nlohmann/json.hpp> 3*0ec8b83dSEd Tanous 4*0ec8b83dSEd Tanous namespace privileges 5*0ec8b83dSEd Tanous { 6*0ec8b83dSEd Tanous // clang-format off 7*0ec8b83dSEd Tanous 8*0ec8b83dSEd Tanous enum class PrivilegeType{ 9*0ec8b83dSEd Tanous Invalid, 10*0ec8b83dSEd Tanous Login, 11*0ec8b83dSEd Tanous ConfigureManager, 12*0ec8b83dSEd Tanous ConfigureUsers, 13*0ec8b83dSEd Tanous ConfigureSelf, 14*0ec8b83dSEd Tanous ConfigureComponents, 15*0ec8b83dSEd Tanous NoAuth, 16*0ec8b83dSEd Tanous ConfigureCompositionInfrastructure, 17*0ec8b83dSEd Tanous AdministrateSystems, 18*0ec8b83dSEd Tanous OperateSystems, 19*0ec8b83dSEd Tanous AdministrateStorage, 20*0ec8b83dSEd Tanous OperateStorageBackup, 21*0ec8b83dSEd Tanous }; 22*0ec8b83dSEd Tanous 23*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PrivilegeType, { 24*0ec8b83dSEd Tanous {PrivilegeType::Invalid, "Invalid"}, 25*0ec8b83dSEd Tanous {PrivilegeType::Login, "Login"}, 26*0ec8b83dSEd Tanous {PrivilegeType::ConfigureManager, "ConfigureManager"}, 27*0ec8b83dSEd Tanous {PrivilegeType::ConfigureUsers, "ConfigureUsers"}, 28*0ec8b83dSEd Tanous {PrivilegeType::ConfigureSelf, "ConfigureSelf"}, 29*0ec8b83dSEd Tanous {PrivilegeType::ConfigureComponents, "ConfigureComponents"}, 30*0ec8b83dSEd Tanous {PrivilegeType::NoAuth, "NoAuth"}, 31*0ec8b83dSEd Tanous {PrivilegeType::ConfigureCompositionInfrastructure, "ConfigureCompositionInfrastructure"}, 32*0ec8b83dSEd Tanous {PrivilegeType::AdministrateSystems, "AdministrateSystems"}, 33*0ec8b83dSEd Tanous {PrivilegeType::OperateSystems, "OperateSystems"}, 34*0ec8b83dSEd Tanous {PrivilegeType::AdministrateStorage, "AdministrateStorage"}, 35*0ec8b83dSEd Tanous {PrivilegeType::OperateStorageBackup, "OperateStorageBackup"}, 36*0ec8b83dSEd Tanous }); 37*0ec8b83dSEd Tanous 38*0ec8b83dSEd Tanous } 39*0ec8b83dSEd Tanous // clang-format on 40