summaryrefslogtreecommitdiff
path: root/redfish-core/include/generated/enums/update_service.hpp
blob: 05f35caaba69fba73cc9259a3a7f39ec520aaf3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: Copyright OpenBMC Authors
#pragma once
#include <nlohmann/json.hpp>

namespace update_service
{
// clang-format off

enum class TransferProtocolType{
    Invalid,
    CIFS,
    FTP,
    SFTP,
    HTTP,
    HTTPS,
    NSF,
    SCP,
    TFTP,
    OEM,
    NFS,
};

enum class ApplyTime{
    Invalid,
    Immediate,
    OnReset,
    AtMaintenanceWindowStart,
    InMaintenanceWindowOnReset,
    OnStartUpdateRequest,
    OnTargetReset,
};

enum class SupportedUpdateImageFormatType{
    Invalid,
    PLDMv1_0,
    PLDMv1_1,
    PLDMv1_2,
    PLDMv1_3,
    UEFICapsule,
    VendorDefined,
};

NLOHMANN_JSON_SERIALIZE_ENUM(TransferProtocolType, {
    {TransferProtocolType::Invalid, "Invalid"},
    {TransferProtocolType::CIFS, "CIFS"},
    {TransferProtocolType::FTP, "FTP"},
    {TransferProtocolType::SFTP, "SFTP"},
    {TransferProtocolType::HTTP, "HTTP"},
    {TransferProtocolType::HTTPS, "HTTPS"},
    {TransferProtocolType::NSF, "NSF"},
    {TransferProtocolType::SCP, "SCP"},
    {TransferProtocolType::TFTP, "TFTP"},
    {TransferProtocolType::OEM, "OEM"},
    {TransferProtocolType::NFS, "NFS"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(ApplyTime, {
    {ApplyTime::Invalid, "Invalid"},
    {ApplyTime::Immediate, "Immediate"},
    {ApplyTime::OnReset, "OnReset"},
    {ApplyTime::AtMaintenanceWindowStart, "AtMaintenanceWindowStart"},
    {ApplyTime::InMaintenanceWindowOnReset, "InMaintenanceWindowOnReset"},
    {ApplyTime::OnStartUpdateRequest, "OnStartUpdateRequest"},
    {ApplyTime::OnTargetReset, "OnTargetReset"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(SupportedUpdateImageFormatType, {
    {SupportedUpdateImageFormatType::Invalid, "Invalid"},
    {SupportedUpdateImageFormatType::PLDMv1_0, "PLDMv1_0"},
    {SupportedUpdateImageFormatType::PLDMv1_1, "PLDMv1_1"},
    {SupportedUpdateImageFormatType::PLDMv1_2, "PLDMv1_2"},
    {SupportedUpdateImageFormatType::PLDMv1_3, "PLDMv1_3"},
    {SupportedUpdateImageFormatType::UEFICapsule, "UEFICapsule"},
    {SupportedUpdateImageFormatType::VendorDefined, "VendorDefined"},
});

// clang-format on
} // namespace update_service