1*0ec8b83dSEd Tanous #pragma once
2*0ec8b83dSEd Tanous #include <nlohmann/json.hpp>
3*0ec8b83dSEd Tanous 
4*0ec8b83dSEd Tanous namespace telemetry_service
5*0ec8b83dSEd Tanous {
6*0ec8b83dSEd Tanous // clang-format off
7*0ec8b83dSEd Tanous 
8*0ec8b83dSEd Tanous enum class CollectionFunction{
9*0ec8b83dSEd Tanous     Invalid,
10*0ec8b83dSEd Tanous     Average,
11*0ec8b83dSEd Tanous     Maximum,
12*0ec8b83dSEd Tanous     Minimum,
13*0ec8b83dSEd Tanous     Summation,
14*0ec8b83dSEd Tanous };
15*0ec8b83dSEd Tanous 
16*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CollectionFunction, {
17*0ec8b83dSEd Tanous     {CollectionFunction::Invalid, "Invalid"},
18*0ec8b83dSEd Tanous     {CollectionFunction::Average, "Average"},
19*0ec8b83dSEd Tanous     {CollectionFunction::Maximum, "Maximum"},
20*0ec8b83dSEd Tanous     {CollectionFunction::Minimum, "Minimum"},
21*0ec8b83dSEd Tanous     {CollectionFunction::Summation, "Summation"},
22*0ec8b83dSEd Tanous });
23*0ec8b83dSEd Tanous 
24*0ec8b83dSEd Tanous }
25*0ec8b83dSEd Tanous // clang-format on
26