1*0ec8b83dSEd Tanous #pragma once 2*0ec8b83dSEd Tanous #include <nlohmann/json.hpp> 3*0ec8b83dSEd Tanous 4*0ec8b83dSEd Tanous namespace event 5*0ec8b83dSEd Tanous { 6*0ec8b83dSEd Tanous // clang-format off 7*0ec8b83dSEd Tanous 8*0ec8b83dSEd Tanous enum class EventType{ 9*0ec8b83dSEd Tanous Invalid, 10*0ec8b83dSEd Tanous StatusChange, 11*0ec8b83dSEd Tanous ResourceUpdated, 12*0ec8b83dSEd Tanous ResourceAdded, 13*0ec8b83dSEd Tanous ResourceRemoved, 14*0ec8b83dSEd Tanous Alert, 15*0ec8b83dSEd Tanous MetricReport, 16*0ec8b83dSEd Tanous Other, 17*0ec8b83dSEd Tanous }; 18*0ec8b83dSEd Tanous 19*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EventType, { 20*0ec8b83dSEd Tanous {EventType::Invalid, "Invalid"}, 21*0ec8b83dSEd Tanous {EventType::StatusChange, "StatusChange"}, 22*0ec8b83dSEd Tanous {EventType::ResourceUpdated, "ResourceUpdated"}, 23*0ec8b83dSEd Tanous {EventType::ResourceAdded, "ResourceAdded"}, 24*0ec8b83dSEd Tanous {EventType::ResourceRemoved, "ResourceRemoved"}, 25*0ec8b83dSEd Tanous {EventType::Alert, "Alert"}, 26*0ec8b83dSEd Tanous {EventType::MetricReport, "MetricReport"}, 27*0ec8b83dSEd Tanous {EventType::Other, "Other"}, 28*0ec8b83dSEd Tanous }); 29*0ec8b83dSEd Tanous 30*0ec8b83dSEd Tanous } 31*0ec8b83dSEd Tanous // clang-format on 32