1 #pragma once
2 #include <nlohmann/json.hpp>
3 
4 namespace update_service
5 {
6 // clang-format off
7 
8 enum class TransferProtocolType{
9     Invalid,
10     CIFS,
11     FTP,
12     SFTP,
13     HTTP,
14     HTTPS,
15     NSF,
16     SCP,
17     TFTP,
18     OEM,
19     NFS,
20 };
21 
22 enum class ApplyTime{
23     Invalid,
24     Immediate,
25     OnReset,
26     AtMaintenanceWindowStart,
27     InMaintenanceWindowOnReset,
28     OnStartUpdateRequest,
29 };
30 
31 NLOHMANN_JSON_SERIALIZE_ENUM(TransferProtocolType, {
32     {TransferProtocolType::Invalid, "Invalid"},
33     {TransferProtocolType::CIFS, "CIFS"},
34     {TransferProtocolType::FTP, "FTP"},
35     {TransferProtocolType::SFTP, "SFTP"},
36     {TransferProtocolType::HTTP, "HTTP"},
37     {TransferProtocolType::HTTPS, "HTTPS"},
38     {TransferProtocolType::NSF, "NSF"},
39     {TransferProtocolType::SCP, "SCP"},
40     {TransferProtocolType::TFTP, "TFTP"},
41     {TransferProtocolType::OEM, "OEM"},
42     {TransferProtocolType::NFS, "NFS"},
43 });
44 
45 NLOHMANN_JSON_SERIALIZE_ENUM(ApplyTime, {
46     {ApplyTime::Invalid, "Invalid"},
47     {ApplyTime::Immediate, "Immediate"},
48     {ApplyTime::OnReset, "OnReset"},
49     {ApplyTime::AtMaintenanceWindowStart, "AtMaintenanceWindowStart"},
50     {ApplyTime::InMaintenanceWindowOnReset, "InMaintenanceWindowOnReset"},
51     {ApplyTime::OnStartUpdateRequest, "OnStartUpdateRequest"},
52 });
53 
54 }
55 // clang-format on
56