1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors 30ec8b83dSEd Tanous #pragma once 40ec8b83dSEd Tanous #include <nlohmann/json.hpp> 50ec8b83dSEd Tanous 60ec8b83dSEd Tanous namespace settings 70ec8b83dSEd Tanous { 80ec8b83dSEd Tanous // clang-format off 90ec8b83dSEd Tanous 100ec8b83dSEd Tanous enum class OperationApplyTime{ 110ec8b83dSEd Tanous Invalid, 120ec8b83dSEd Tanous Immediate, 130ec8b83dSEd Tanous OnReset, 140ec8b83dSEd Tanous AtMaintenanceWindowStart, 150ec8b83dSEd Tanous InMaintenanceWindowOnReset, 160ec8b83dSEd Tanous OnStartUpdateRequest, 17f2a8e57eSGunnar Mills OnTargetReset, 180ec8b83dSEd Tanous }; 190ec8b83dSEd Tanous 200ec8b83dSEd Tanous enum class ApplyTime{ 210ec8b83dSEd Tanous Invalid, 220ec8b83dSEd Tanous Immediate, 230ec8b83dSEd Tanous OnReset, 240ec8b83dSEd Tanous AtMaintenanceWindowStart, 250ec8b83dSEd Tanous InMaintenanceWindowOnReset, 260ec8b83dSEd Tanous }; 270ec8b83dSEd Tanous 280ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(OperationApplyTime, { 290ec8b83dSEd Tanous {OperationApplyTime::Invalid, "Invalid"}, 300ec8b83dSEd Tanous {OperationApplyTime::Immediate, "Immediate"}, 310ec8b83dSEd Tanous {OperationApplyTime::OnReset, "OnReset"}, 320ec8b83dSEd Tanous {OperationApplyTime::AtMaintenanceWindowStart, "AtMaintenanceWindowStart"}, 330ec8b83dSEd Tanous {OperationApplyTime::InMaintenanceWindowOnReset, "InMaintenanceWindowOnReset"}, 340ec8b83dSEd Tanous {OperationApplyTime::OnStartUpdateRequest, "OnStartUpdateRequest"}, 35f2a8e57eSGunnar Mills {OperationApplyTime::OnTargetReset, "OnTargetReset"}, 360ec8b83dSEd Tanous }); 370ec8b83dSEd Tanous 380ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ApplyTime, { 390ec8b83dSEd Tanous {ApplyTime::Invalid, "Invalid"}, 400ec8b83dSEd Tanous {ApplyTime::Immediate, "Immediate"}, 410ec8b83dSEd Tanous {ApplyTime::OnReset, "OnReset"}, 420ec8b83dSEd Tanous {ApplyTime::AtMaintenanceWindowStart, "AtMaintenanceWindowStart"}, 430ec8b83dSEd Tanous {ApplyTime::InMaintenanceWindowOnReset, "InMaintenanceWindowOnReset"}, 440ec8b83dSEd Tanous }); 450ec8b83dSEd Tanous 460ec8b83dSEd Tanous } 470ec8b83dSEd Tanous // clang-format on 48