1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3853c0dc5SEd Tanous #pragma once 4853c0dc5SEd Tanous #include <nlohmann/json.hpp> 5853c0dc5SEd Tanous 6853c0dc5SEd Tanous namespace zone 7853c0dc5SEd Tanous { 8853c0dc5SEd Tanous // clang-format off 9853c0dc5SEd Tanous 10853c0dc5SEd Tanous enum class ExternalAccessibility{ 11853c0dc5SEd Tanous Invalid, 12853c0dc5SEd Tanous GloballyAccessible, 13853c0dc5SEd Tanous NonZonedAccessible, 14853c0dc5SEd Tanous ZoneOnly, 15853c0dc5SEd Tanous NoInternalRouting, 16853c0dc5SEd Tanous }; 17853c0dc5SEd Tanous 18853c0dc5SEd Tanous enum class ZoneType{ 19853c0dc5SEd Tanous Invalid, 20853c0dc5SEd Tanous Default, 21853c0dc5SEd Tanous ZoneOfEndpoints, 22853c0dc5SEd Tanous ZoneOfZones, 23853c0dc5SEd Tanous ZoneOfResourceBlocks, 24853c0dc5SEd Tanous }; 25853c0dc5SEd Tanous 26853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ExternalAccessibility, { 27853c0dc5SEd Tanous {ExternalAccessibility::Invalid, "Invalid"}, 28853c0dc5SEd Tanous {ExternalAccessibility::GloballyAccessible, "GloballyAccessible"}, 29853c0dc5SEd Tanous {ExternalAccessibility::NonZonedAccessible, "NonZonedAccessible"}, 30853c0dc5SEd Tanous {ExternalAccessibility::ZoneOnly, "ZoneOnly"}, 31853c0dc5SEd Tanous {ExternalAccessibility::NoInternalRouting, "NoInternalRouting"}, 32853c0dc5SEd Tanous }); 33853c0dc5SEd Tanous 34853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ZoneType, { 35853c0dc5SEd Tanous {ZoneType::Invalid, "Invalid"}, 36853c0dc5SEd Tanous {ZoneType::Default, "Default"}, 37853c0dc5SEd Tanous {ZoneType::ZoneOfEndpoints, "ZoneOfEndpoints"}, 38853c0dc5SEd Tanous {ZoneType::ZoneOfZones, "ZoneOfZones"}, 39853c0dc5SEd Tanous {ZoneType::ZoneOfResourceBlocks, "ZoneOfResourceBlocks"}, 40853c0dc5SEd Tanous }); 41853c0dc5SEd Tanous 42853c0dc5SEd Tanous } 43853c0dc5SEd Tanous // clang-format on 44