xref: /openbmc/bmcweb/redfish-core/include/generated/enums/privileges.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1 // SPDX-License-Identifier: Apache-2.0
2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3 #pragma once
4 #include <nlohmann/json.hpp>
5 
6 namespace privileges
7 {
8 // clang-format off
9 
10 enum class PrivilegeType{
11     Invalid,
12     Login,
13     ConfigureManager,
14     ConfigureUsers,
15     ConfigureSelf,
16     ConfigureComponents,
17     NoAuth,
18     ConfigureCompositionInfrastructure,
19     AdministrateSystems,
20     OperateSystems,
21     AdministrateStorage,
22     OperateStorageBackup,
23 };
24 
25 NLOHMANN_JSON_SERIALIZE_ENUM(PrivilegeType, {
26     {PrivilegeType::Invalid, "Invalid"},
27     {PrivilegeType::Login, "Login"},
28     {PrivilegeType::ConfigureManager, "ConfigureManager"},
29     {PrivilegeType::ConfigureUsers, "ConfigureUsers"},
30     {PrivilegeType::ConfigureSelf, "ConfigureSelf"},
31     {PrivilegeType::ConfigureComponents, "ConfigureComponents"},
32     {PrivilegeType::NoAuth, "NoAuth"},
33     {PrivilegeType::ConfigureCompositionInfrastructure, "ConfigureCompositionInfrastructure"},
34     {PrivilegeType::AdministrateSystems, "AdministrateSystems"},
35     {PrivilegeType::OperateSystems, "OperateSystems"},
36     {PrivilegeType::AdministrateStorage, "AdministrateStorage"},
37     {PrivilegeType::OperateStorageBackup, "OperateStorageBackup"},
38 });
39 
40 }
41 // clang-format on
42