1 #pragma once 2 #include <nlohmann/json.hpp> 3 4 namespace zone 5 { 6 // clang-format off 7 8 enum class ExternalAccessibility{ 9 Invalid, 10 GloballyAccessible, 11 NonZonedAccessible, 12 ZoneOnly, 13 NoInternalRouting, 14 }; 15 16 enum class ZoneType{ 17 Invalid, 18 Default, 19 ZoneOfEndpoints, 20 ZoneOfZones, 21 ZoneOfResourceBlocks, 22 }; 23 24 NLOHMANN_JSON_SERIALIZE_ENUM(ExternalAccessibility, { 25 {ExternalAccessibility::Invalid, "Invalid"}, 26 {ExternalAccessibility::GloballyAccessible, "GloballyAccessible"}, 27 {ExternalAccessibility::NonZonedAccessible, "NonZonedAccessible"}, 28 {ExternalAccessibility::ZoneOnly, "ZoneOnly"}, 29 {ExternalAccessibility::NoInternalRouting, "NoInternalRouting"}, 30 }); 31 32 NLOHMANN_JSON_SERIALIZE_ENUM(ZoneType, { 33 {ZoneType::Invalid, "Invalid"}, 34 {ZoneType::Default, "Default"}, 35 {ZoneType::ZoneOfEndpoints, "ZoneOfEndpoints"}, 36 {ZoneType::ZoneOfZones, "ZoneOfZones"}, 37 {ZoneType::ZoneOfResourceBlocks, "ZoneOfResourceBlocks"}, 38 }); 39 40 } 41 // clang-format on 42