xref: /openbmc/phosphor-power/elog-errors.hpp (revision 442035f0)
1 // This file was autogenerated.  Do not edit!
2 // See elog-gen.py for more details
3 #pragma once
4 
5 #include <string>
6 #include <tuple>
7 #include <type_traits>
8 #include <sdbusplus/exception.hpp>
9 #include <phosphor-logging/log.hpp>
10 #include <phosphor-logging/elog.hpp>
11 
12 namespace sdbusplus
13 {
14 namespace xyz
15 {
16 namespace openbmc_project
17 {
18 namespace Power
19 {
20 namespace Fault
21 {
22 namespace Error
23 {
24     struct PowerOnFailure;
25 } // namespace Error
26 } // namespace Fault
27 } // namespace Power
28 } // namespace openbmc_project
29 } // namespace xyz
30 } // namespace sdbusplus
31 
32 namespace sdbusplus
33 {
34 namespace xyz
35 {
36 namespace openbmc_project
37 {
38 namespace Power
39 {
40 namespace Fault
41 {
42 namespace Error
43 {
44     struct PowerSequencerFault;
45 } // namespace Error
46 } // namespace Fault
47 } // namespace Power
48 } // namespace openbmc_project
49 } // namespace xyz
50 } // namespace sdbusplus
51 
52 namespace sdbusplus
53 {
54 namespace xyz
55 {
56 namespace openbmc_project
57 {
58 namespace Common
59 {
60 namespace Callout
61 {
62 namespace Error
63 {
64     struct GPIO;
65 } // namespace Error
66 } // namespace Callout
67 } // namespace Common
68 } // namespace openbmc_project
69 } // namespace xyz
70 } // namespace sdbusplus
71 
72 namespace sdbusplus
73 {
74 namespace xyz
75 {
76 namespace openbmc_project
77 {
78 namespace Common
79 {
80 namespace Callout
81 {
82 namespace Error
83 {
84     struct Inventory;
85 } // namespace Error
86 } // namespace Callout
87 } // namespace Common
88 } // namespace openbmc_project
89 } // namespace xyz
90 } // namespace sdbusplus
91 
92 namespace sdbusplus
93 {
94 namespace xyz
95 {
96 namespace openbmc_project
97 {
98 namespace Common
99 {
100 namespace Callout
101 {
102 namespace Error
103 {
104     struct IIC;
105 } // namespace Error
106 } // namespace Callout
107 } // namespace Common
108 } // namespace openbmc_project
109 } // namespace xyz
110 } // namespace sdbusplus
111 
112 namespace sdbusplus
113 {
114 namespace xyz
115 {
116 namespace openbmc_project
117 {
118 namespace Power
119 {
120 namespace Fault
121 {
122 namespace Error
123 {
124     struct PowerSequencerPGOODFault;
125 } // namespace Error
126 } // namespace Fault
127 } // namespace Power
128 } // namespace openbmc_project
129 } // namespace xyz
130 } // namespace sdbusplus
131 
132 namespace sdbusplus
133 {
134 namespace xyz
135 {
136 namespace openbmc_project
137 {
138 namespace Common
139 {
140 namespace Callout
141 {
142 namespace Error
143 {
144     struct Device;
145 } // namespace Error
146 } // namespace Callout
147 } // namespace Common
148 } // namespace openbmc_project
149 } // namespace xyz
150 } // namespace sdbusplus
151 
152 namespace sdbusplus
153 {
154 namespace xyz
155 {
156 namespace openbmc_project
157 {
158 namespace Power
159 {
160 namespace Fault
161 {
162 namespace Error
163 {
164     struct PowerSupplyUnderVoltageFault;
165 } // namespace Error
166 } // namespace Fault
167 } // namespace Power
168 } // namespace openbmc_project
169 } // namespace xyz
170 } // namespace sdbusplus
171 
172 namespace sdbusplus
173 {
174 namespace xyz
175 {
176 namespace openbmc_project
177 {
178 namespace Power
179 {
180 namespace Fault
181 {
182 namespace Error
183 {
184     struct GPUPowerFault;
185 } // namespace Error
186 } // namespace Fault
187 } // namespace Power
188 } // namespace openbmc_project
189 } // namespace xyz
190 } // namespace sdbusplus
191 
192 namespace sdbusplus
193 {
194 namespace xyz
195 {
196 namespace openbmc_project
197 {
198 namespace Power
199 {
200 namespace Fault
201 {
202 namespace Error
203 {
204     struct GPUOverTemp;
205 } // namespace Error
206 } // namespace Fault
207 } // namespace Power
208 } // namespace openbmc_project
209 } // namespace xyz
210 } // namespace sdbusplus
211 
212 namespace sdbusplus
213 {
214 namespace xyz
215 {
216 namespace openbmc_project
217 {
218 namespace Common
219 {
220 namespace Callout
221 {
222 namespace Error
223 {
224     struct IPMISensor;
225 } // namespace Error
226 } // namespace Callout
227 } // namespace Common
228 } // namespace openbmc_project
229 } // namespace xyz
230 } // namespace sdbusplus
231 
232 namespace sdbusplus
233 {
234 namespace xyz
235 {
236 namespace openbmc_project
237 {
238 namespace Power
239 {
240 namespace Fault
241 {
242 namespace Error
243 {
244     struct PowerSequencerVoltageFault;
245 } // namespace Error
246 } // namespace Fault
247 } // namespace Power
248 } // namespace openbmc_project
249 } // namespace xyz
250 } // namespace sdbusplus
251 
252 namespace sdbusplus
253 {
254 namespace xyz
255 {
256 namespace openbmc_project
257 {
258 namespace Power
259 {
260 namespace Fault
261 {
262 namespace Error
263 {
264     struct Shutdown;
265 } // namespace Error
266 } // namespace Fault
267 } // namespace Power
268 } // namespace openbmc_project
269 } // namespace xyz
270 } // namespace sdbusplus
271 
272 
273 namespace phosphor
274 {
275 
276 namespace logging
277 {
278 
279 namespace xyz
280 {
281 namespace openbmc_project
282 {
283 namespace Common
284 {
285 namespace Callout
286 {
287 namespace _Device
288 {
289 
290 struct CALLOUT_ERRNO
291 {
292     static constexpr auto str = "CALLOUT_ERRNO=%d";
293     static constexpr auto str_short = "CALLOUT_ERRNO";
294     using type = std::tuple<std::decay_t<decltype(str)>,int32_t>;
295     explicit constexpr CALLOUT_ERRNO(int32_t a) : _entry(entry(str, a)) {};
296     type _entry;
297 };
298 struct CALLOUT_DEVICE_PATH
299 {
300     static constexpr auto str = "CALLOUT_DEVICE_PATH=%s";
301     static constexpr auto str_short = "CALLOUT_DEVICE_PATH";
302     using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
303     explicit constexpr CALLOUT_DEVICE_PATH(const char* a) : _entry(entry(str, a)) {};
304     type _entry;
305 };
306 
307 }  // namespace _Device
308 
309 struct Device
310 {
311     static constexpr auto L = level::ERR;
312     using CALLOUT_ERRNO = _Device::CALLOUT_ERRNO;
313     using CALLOUT_DEVICE_PATH = _Device::CALLOUT_DEVICE_PATH;
314     using metadata_types = std::tuple<CALLOUT_ERRNO, CALLOUT_DEVICE_PATH>;
315 
316 };
317 
318 } // namespace Callout
319 } // namespace Common
320 } // namespace openbmc_project
321 } // namespace xyz
322 
323 
324 namespace details
325 {
326 
327 template <>
328 struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Callout::Error::Device>
329 {
330     using type = xyz::openbmc_project::Common::Callout::Device;
331 };
332 
333 }
334 
335 namespace xyz
336 {
337 namespace openbmc_project
338 {
339 namespace Common
340 {
341 namespace Callout
342 {
343 namespace _GPIO
344 {
345 
346 struct CALLOUT_GPIO_NUM
347 {
348     static constexpr auto str = "CALLOUT_GPIO_NUM=%u";
349     static constexpr auto str_short = "CALLOUT_GPIO_NUM";
350     using type = std::tuple<std::decay_t<decltype(str)>,uint32_t>;
351     explicit constexpr CALLOUT_GPIO_NUM(uint32_t a) : _entry(entry(str, a)) {};
352     type _entry;
353 };
354 
355 }  // namespace _GPIO
356 
357 struct GPIO
358 {
359     static constexpr auto L = level::ERR;
360     using CALLOUT_GPIO_NUM = _GPIO::CALLOUT_GPIO_NUM;
361     using CALLOUT_ERRNO = xyz::openbmc_project::Common::Callout::Device::CALLOUT_ERRNO;
362     using CALLOUT_DEVICE_PATH = xyz::openbmc_project::Common::Callout::Device::CALLOUT_DEVICE_PATH;
363     using metadata_types = std::tuple<CALLOUT_GPIO_NUM, CALLOUT_ERRNO, CALLOUT_DEVICE_PATH>;
364 
365 };
366 
367 } // namespace Callout
368 } // namespace Common
369 } // namespace openbmc_project
370 } // namespace xyz
371 
372 
373 namespace details
374 {
375 
376 template <>
377 struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Callout::Error::GPIO>
378 {
379     using type = xyz::openbmc_project::Common::Callout::GPIO;
380 };
381 
382 }
383 
384 namespace xyz
385 {
386 namespace openbmc_project
387 {
388 namespace Common
389 {
390 namespace Callout
391 {
392 namespace _IIC
393 {
394 
395 struct CALLOUT_IIC_BUS
396 {
397     static constexpr auto str = "CALLOUT_IIC_BUS=%s";
398     static constexpr auto str_short = "CALLOUT_IIC_BUS";
399     using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
400     explicit constexpr CALLOUT_IIC_BUS(const char* a) : _entry(entry(str, a)) {};
401     type _entry;
402 };
403 struct CALLOUT_IIC_ADDR
404 {
405     static constexpr auto str = "CALLOUT_IIC_ADDR=0x%hx";
406     static constexpr auto str_short = "CALLOUT_IIC_ADDR";
407     using type = std::tuple<std::decay_t<decltype(str)>,uint16_t>;
408     explicit constexpr CALLOUT_IIC_ADDR(uint16_t a) : _entry(entry(str, a)) {};
409     type _entry;
410 };
411 
412 }  // namespace _IIC
413 
414 struct IIC
415 {
416     static constexpr auto L = level::ERR;
417     using CALLOUT_IIC_BUS = _IIC::CALLOUT_IIC_BUS;
418     using CALLOUT_IIC_ADDR = _IIC::CALLOUT_IIC_ADDR;
419     using CALLOUT_ERRNO = xyz::openbmc_project::Common::Callout::Device::CALLOUT_ERRNO;
420     using CALLOUT_DEVICE_PATH = xyz::openbmc_project::Common::Callout::Device::CALLOUT_DEVICE_PATH;
421     using metadata_types = std::tuple<CALLOUT_IIC_BUS, CALLOUT_IIC_ADDR, CALLOUT_ERRNO, CALLOUT_DEVICE_PATH>;
422 
423 };
424 
425 } // namespace Callout
426 } // namespace Common
427 } // namespace openbmc_project
428 } // namespace xyz
429 
430 
431 namespace details
432 {
433 
434 template <>
435 struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Callout::Error::IIC>
436 {
437     using type = xyz::openbmc_project::Common::Callout::IIC;
438 };
439 
440 }
441 
442 namespace xyz
443 {
444 namespace openbmc_project
445 {
446 namespace Common
447 {
448 namespace Callout
449 {
450 namespace _Inventory
451 {
452 
453 struct CALLOUT_INVENTORY_PATH
454 {
455     static constexpr auto str = "CALLOUT_INVENTORY_PATH=%s";
456     static constexpr auto str_short = "CALLOUT_INVENTORY_PATH";
457     using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
458     explicit constexpr CALLOUT_INVENTORY_PATH(const char* a) : _entry(entry(str, a)) {};
459     type _entry;
460 };
461 
462 }  // namespace _Inventory
463 
464 struct Inventory
465 {
466     static constexpr auto L = level::ERR;
467     using CALLOUT_INVENTORY_PATH = _Inventory::CALLOUT_INVENTORY_PATH;
468     using metadata_types = std::tuple<CALLOUT_INVENTORY_PATH>;
469 
470 };
471 
472 } // namespace Callout
473 } // namespace Common
474 } // namespace openbmc_project
475 } // namespace xyz
476 
477 
478 namespace details
479 {
480 
481 template <>
482 struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Callout::Error::Inventory>
483 {
484     using type = xyz::openbmc_project::Common::Callout::Inventory;
485 };
486 
487 }
488 
489 namespace xyz
490 {
491 namespace openbmc_project
492 {
493 namespace Common
494 {
495 namespace Callout
496 {
497 namespace _IPMISensor
498 {
499 
500 struct CALLOUT_IPMI_SENSOR_NUM
501 {
502     static constexpr auto str = "CALLOUT_IPMI_SENSOR_NUM=%u";
503     static constexpr auto str_short = "CALLOUT_IPMI_SENSOR_NUM";
504     using type = std::tuple<std::decay_t<decltype(str)>,uint32_t>;
505     explicit constexpr CALLOUT_IPMI_SENSOR_NUM(uint32_t a) : _entry(entry(str, a)) {};
506     type _entry;
507 };
508 
509 }  // namespace _IPMISensor
510 
511 struct IPMISensor
512 {
513     static constexpr auto L = level::ERR;
514     using CALLOUT_IPMI_SENSOR_NUM = _IPMISensor::CALLOUT_IPMI_SENSOR_NUM;
515     using metadata_types = std::tuple<CALLOUT_IPMI_SENSOR_NUM>;
516 
517 };
518 
519 } // namespace Callout
520 } // namespace Common
521 } // namespace openbmc_project
522 } // namespace xyz
523 
524 
525 namespace details
526 {
527 
528 template <>
529 struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Callout::Error::IPMISensor>
530 {
531     using type = xyz::openbmc_project::Common::Callout::IPMISensor;
532 };
533 
534 }
535 
536 namespace xyz
537 {
538 namespace openbmc_project
539 {
540 namespace Power
541 {
542 namespace Fault
543 {
544 namespace _PowerSupplyUnderVoltageFault
545 {
546 
547 
548 }  // namespace _PowerSupplyUnderVoltageFault
549 
550 struct PowerSupplyUnderVoltageFault
551 {
552     static constexpr auto L = level::ERR;
553     using metadata_types = std::tuple<>;
554 
555 };
556 
557 } // namespace Fault
558 } // namespace Power
559 } // namespace openbmc_project
560 } // namespace xyz
561 
562 
563 namespace details
564 {
565 
566 template <>
567 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::PowerSupplyUnderVoltageFault>
568 {
569     using type = xyz::openbmc_project::Power::Fault::PowerSupplyUnderVoltageFault;
570 };
571 
572 }
573 
574 namespace xyz
575 {
576 namespace openbmc_project
577 {
578 namespace Power
579 {
580 namespace Fault
581 {
582 namespace _Shutdown
583 {
584 
585 
586 }  // namespace _Shutdown
587 
588 struct Shutdown
589 {
590     static constexpr auto L = level::ERR;
591     using metadata_types = std::tuple<>;
592 
593 };
594 
595 } // namespace Fault
596 } // namespace Power
597 } // namespace openbmc_project
598 } // namespace xyz
599 
600 
601 namespace details
602 {
603 
604 template <>
605 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::Shutdown>
606 {
607     using type = xyz::openbmc_project::Power::Fault::Shutdown;
608 };
609 
610 }
611 
612 namespace xyz
613 {
614 namespace openbmc_project
615 {
616 namespace Power
617 {
618 namespace Fault
619 {
620 namespace _PowerOnFailure
621 {
622 
623 
624 }  // namespace _PowerOnFailure
625 
626 struct PowerOnFailure
627 {
628     static constexpr auto L = level::ERR;
629     using metadata_types = std::tuple<>;
630 
631 };
632 
633 } // namespace Fault
634 } // namespace Power
635 } // namespace openbmc_project
636 } // namespace xyz
637 
638 
639 namespace details
640 {
641 
642 template <>
643 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::PowerOnFailure>
644 {
645     using type = xyz::openbmc_project::Power::Fault::PowerOnFailure;
646 };
647 
648 }
649 
650 namespace xyz
651 {
652 namespace openbmc_project
653 {
654 namespace Power
655 {
656 namespace Fault
657 {
658 namespace _PowerSequencerVoltageFault
659 {
660 
661 struct RAIL
662 {
663     static constexpr auto str = "RAIL=%d";
664     static constexpr auto str_short = "RAIL";
665     using type = std::tuple<std::decay_t<decltype(str)>,uint16_t>;
666     explicit constexpr RAIL(uint16_t a) : _entry(entry(str, a)) {};
667     type _entry;
668 };
669 struct RAIL_NAME
670 {
671     static constexpr auto str = "RAIL_NAME=%s";
672     static constexpr auto str_short = "RAIL_NAME";
673     using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
674     explicit constexpr RAIL_NAME(const char* a) : _entry(entry(str, a)) {};
675     type _entry;
676 };
677 struct RAW_STATUS
678 {
679     static constexpr auto str = "RAW_STATUS=%s";
680     static constexpr auto str_short = "RAW_STATUS";
681     using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
682     explicit constexpr RAW_STATUS(const char* a) : _entry(entry(str, a)) {};
683     type _entry;
684 };
685 
686 }  // namespace _PowerSequencerVoltageFault
687 
688 struct PowerSequencerVoltageFault
689 {
690     static constexpr auto L = level::ERR;
691     using RAIL = _PowerSequencerVoltageFault::RAIL;
692     using RAIL_NAME = _PowerSequencerVoltageFault::RAIL_NAME;
693     using RAW_STATUS = _PowerSequencerVoltageFault::RAW_STATUS;
694     using metadata_types = std::tuple<RAIL, RAIL_NAME, RAW_STATUS>;
695 
696 };
697 
698 } // namespace Fault
699 } // namespace Power
700 } // namespace openbmc_project
701 } // namespace xyz
702 
703 
704 namespace details
705 {
706 
707 template <>
708 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::PowerSequencerVoltageFault>
709 {
710     using type = xyz::openbmc_project::Power::Fault::PowerSequencerVoltageFault;
711 };
712 
713 }
714 
715 namespace xyz
716 {
717 namespace openbmc_project
718 {
719 namespace Power
720 {
721 namespace Fault
722 {
723 namespace _PowerSequencerPGOODFault
724 {
725 
726 struct INPUT_NUM
727 {
728     static constexpr auto str = "INPUT_NUM=%d";
729     static constexpr auto str_short = "INPUT_NUM";
730     using type = std::tuple<std::decay_t<decltype(str)>,uint16_t>;
731     explicit constexpr INPUT_NUM(uint16_t a) : _entry(entry(str, a)) {};
732     type _entry;
733 };
734 struct INPUT_NAME
735 {
736     static constexpr auto str = "INPUT_NAME=%s";
737     static constexpr auto str_short = "INPUT_NAME";
738     using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
739     explicit constexpr INPUT_NAME(const char* a) : _entry(entry(str, a)) {};
740     type _entry;
741 };
742 struct RAW_STATUS
743 {
744     static constexpr auto str = "RAW_STATUS=%s";
745     static constexpr auto str_short = "RAW_STATUS";
746     using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
747     explicit constexpr RAW_STATUS(const char* a) : _entry(entry(str, a)) {};
748     type _entry;
749 };
750 
751 }  // namespace _PowerSequencerPGOODFault
752 
753 struct PowerSequencerPGOODFault
754 {
755     static constexpr auto L = level::ERR;
756     using INPUT_NUM = _PowerSequencerPGOODFault::INPUT_NUM;
757     using INPUT_NAME = _PowerSequencerPGOODFault::INPUT_NAME;
758     using RAW_STATUS = _PowerSequencerPGOODFault::RAW_STATUS;
759     using metadata_types = std::tuple<INPUT_NUM, INPUT_NAME, RAW_STATUS>;
760 
761 };
762 
763 } // namespace Fault
764 } // namespace Power
765 } // namespace openbmc_project
766 } // namespace xyz
767 
768 
769 namespace details
770 {
771 
772 template <>
773 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::PowerSequencerPGOODFault>
774 {
775     using type = xyz::openbmc_project::Power::Fault::PowerSequencerPGOODFault;
776 };
777 
778 }
779 
780 namespace xyz
781 {
782 namespace openbmc_project
783 {
784 namespace Power
785 {
786 namespace Fault
787 {
788 namespace _PowerSequencerFault
789 {
790 
791 struct RAW_STATUS
792 {
793     static constexpr auto str = "RAW_STATUS=%s";
794     static constexpr auto str_short = "RAW_STATUS";
795     using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
796     explicit constexpr RAW_STATUS(const char* a) : _entry(entry(str, a)) {};
797     type _entry;
798 };
799 
800 }  // namespace _PowerSequencerFault
801 
802 struct PowerSequencerFault
803 {
804     static constexpr auto L = level::ERR;
805     using RAW_STATUS = _PowerSequencerFault::RAW_STATUS;
806     using metadata_types = std::tuple<RAW_STATUS>;
807 
808 };
809 
810 } // namespace Fault
811 } // namespace Power
812 } // namespace openbmc_project
813 } // namespace xyz
814 
815 
816 namespace details
817 {
818 
819 template <>
820 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::PowerSequencerFault>
821 {
822     using type = xyz::openbmc_project::Power::Fault::PowerSequencerFault;
823 };
824 
825 }
826 
827 namespace xyz
828 {
829 namespace openbmc_project
830 {
831 namespace Power
832 {
833 namespace Fault
834 {
835 namespace _GPUPowerFault
836 {
837 
838 struct RAW_STATUS
839 {
840     static constexpr auto str = "RAW_STATUS=%s";
841     static constexpr auto str_short = "RAW_STATUS";
842     using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
843     explicit constexpr RAW_STATUS(const char* a) : _entry(entry(str, a)) {};
844     type _entry;
845 };
846 struct GPU
847 {
848     static constexpr auto str = "GPU=%s";
849     static constexpr auto str_short = "GPU";
850     using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
851     explicit constexpr GPU(const char* a) : _entry(entry(str, a)) {};
852     type _entry;
853 };
854 
855 }  // namespace _GPUPowerFault
856 
857 struct GPUPowerFault
858 {
859     static constexpr auto L = level::ERR;
860     using RAW_STATUS = _GPUPowerFault::RAW_STATUS;
861     using GPU = _GPUPowerFault::GPU;
862     using metadata_types = std::tuple<RAW_STATUS, GPU>;
863 
864 };
865 
866 } // namespace Fault
867 } // namespace Power
868 } // namespace openbmc_project
869 } // namespace xyz
870 
871 
872 namespace details
873 {
874 
875 template <>
876 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::GPUPowerFault>
877 {
878     using type = xyz::openbmc_project::Power::Fault::GPUPowerFault;
879 };
880 
881 }
882 
883 namespace xyz
884 {
885 namespace openbmc_project
886 {
887 namespace Power
888 {
889 namespace Fault
890 {
891 namespace _GPUOverTemp
892 {
893 
894 struct RAW_STATUS
895 {
896     static constexpr auto str = "RAW_STATUS=%s";
897     static constexpr auto str_short = "RAW_STATUS";
898     using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
899     explicit constexpr RAW_STATUS(const char* a) : _entry(entry(str, a)) {};
900     type _entry;
901 };
902 struct GPU
903 {
904     static constexpr auto str = "GPU=%s";
905     static constexpr auto str_short = "GPU";
906     using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
907     explicit constexpr GPU(const char* a) : _entry(entry(str, a)) {};
908     type _entry;
909 };
910 
911 }  // namespace _GPUOverTemp
912 
913 struct GPUOverTemp
914 {
915     static constexpr auto L = level::ERR;
916     using RAW_STATUS = _GPUOverTemp::RAW_STATUS;
917     using GPU = _GPUOverTemp::GPU;
918     using metadata_types = std::tuple<RAW_STATUS, GPU>;
919 
920 };
921 
922 } // namespace Fault
923 } // namespace Power
924 } // namespace openbmc_project
925 } // namespace xyz
926 
927 
928 namespace details
929 {
930 
931 template <>
932 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::GPUOverTemp>
933 {
934     using type = xyz::openbmc_project::Power::Fault::GPUOverTemp;
935 };
936 
937 }
938 
939 
940 } // namespace logging
941 
942 } // namespace phosphor
943