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