1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 #include <nlohmann/json.hpp> 5 6 namespace outbound_connection 7 { 8 // clang-format off 9 10 enum class OutboundConnectionRetryPolicyType{ 11 Invalid, 12 None, 13 RetryForever, 14 RetryCount, 15 }; 16 17 enum class AuthenticationType{ 18 Invalid, 19 MTLS, 20 JWT, 21 None, 22 OEM, 23 }; 24 25 NLOHMANN_JSON_SERIALIZE_ENUM(OutboundConnectionRetryPolicyType, { 26 {OutboundConnectionRetryPolicyType::Invalid, "Invalid"}, 27 {OutboundConnectionRetryPolicyType::None, "None"}, 28 {OutboundConnectionRetryPolicyType::RetryForever, "RetryForever"}, 29 {OutboundConnectionRetryPolicyType::RetryCount, "RetryCount"}, 30 }); 31 32 NLOHMANN_JSON_SERIALIZE_ENUM(AuthenticationType, { 33 {AuthenticationType::Invalid, "Invalid"}, 34 {AuthenticationType::MTLS, "MTLS"}, 35 {AuthenticationType::JWT, "JWT"}, 36 {AuthenticationType::None, "None"}, 37 {AuthenticationType::OEM, "OEM"}, 38 }); 39 40 } 41 // clang-format on 42