1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 #include <nlohmann/json.hpp> 5 6 namespace settings 7 { 8 // clang-format off 9 10 enum class OperationApplyTime{ 11 Invalid, 12 Immediate, 13 OnReset, 14 AtMaintenanceWindowStart, 15 InMaintenanceWindowOnReset, 16 OnStartUpdateRequest, 17 OnTargetReset, 18 }; 19 20 enum class ApplyTime{ 21 Invalid, 22 Immediate, 23 OnReset, 24 AtMaintenanceWindowStart, 25 InMaintenanceWindowOnReset, 26 }; 27 28 NLOHMANN_JSON_SERIALIZE_ENUM(OperationApplyTime, { 29 {OperationApplyTime::Invalid, "Invalid"}, 30 {OperationApplyTime::Immediate, "Immediate"}, 31 {OperationApplyTime::OnReset, "OnReset"}, 32 {OperationApplyTime::AtMaintenanceWindowStart, "AtMaintenanceWindowStart"}, 33 {OperationApplyTime::InMaintenanceWindowOnReset, "InMaintenanceWindowOnReset"}, 34 {OperationApplyTime::OnStartUpdateRequest, "OnStartUpdateRequest"}, 35 {OperationApplyTime::OnTargetReset, "OnTargetReset"}, 36 }); 37 38 NLOHMANN_JSON_SERIALIZE_ENUM(ApplyTime, { 39 {ApplyTime::Invalid, "Invalid"}, 40 {ApplyTime::Immediate, "Immediate"}, 41 {ApplyTime::OnReset, "OnReset"}, 42 {ApplyTime::AtMaintenanceWindowStart, "AtMaintenanceWindowStart"}, 43 {ApplyTime::InMaintenanceWindowOnReset, "InMaintenanceWindowOnReset"}, 44 }); 45 46 } 47 // clang-format on 48