1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 #include <nlohmann/json.hpp> 5 6 namespace host_interface 7 { 8 // clang-format off 9 10 enum class HostInterfaceType{ 11 Invalid, 12 NetworkHostInterface, 13 }; 14 15 enum class AuthenticationMode{ 16 Invalid, 17 AuthNone, 18 BasicAuth, 19 RedfishSessionAuth, 20 OemAuth, 21 }; 22 23 NLOHMANN_JSON_SERIALIZE_ENUM(HostInterfaceType, { 24 {HostInterfaceType::Invalid, "Invalid"}, 25 {HostInterfaceType::NetworkHostInterface, "NetworkHostInterface"}, 26 }); 27 28 NLOHMANN_JSON_SERIALIZE_ENUM(AuthenticationMode, { 29 {AuthenticationMode::Invalid, "Invalid"}, 30 {AuthenticationMode::AuthNone, "AuthNone"}, 31 {AuthenticationMode::BasicAuth, "BasicAuth"}, 32 {AuthenticationMode::RedfishSessionAuth, "RedfishSessionAuth"}, 33 {AuthenticationMode::OemAuth, "OemAuth"}, 34 }); 35 36 } 37 // clang-format on 38