blob: 66a43d76f0cabbfd2a8ea817e10efaf98b848d65 [file] [log] [blame]
Ed Tanous3cd70722024-04-06 09:24:01 -07001#include "redfish.hpp"
2
Ed Tanous5b904292024-04-16 11:10:17 -07003#include "bmcweb_config.h"
4
Ed Tanous3cd70722024-04-06 09:24:01 -07005#include "account_service.hpp"
6#include "aggregation_service.hpp"
7#include "app.hpp"
8#include "bios.hpp"
9#include "cable.hpp"
10#include "certificate_service.hpp"
11#include "chassis.hpp"
12#include "environment_metrics.hpp"
13#include "ethernet.hpp"
14#include "event_service.hpp"
15#include "eventservice_sse.hpp"
16#include "fabric_adapters.hpp"
17#include "fan.hpp"
18#include "hypervisor_system.hpp"
19#include "log_services.hpp"
20#include "manager_diagnostic_data.hpp"
21#include "managers.hpp"
22#include "memory.hpp"
23#include "message_registries.hpp"
24#include "metric_report.hpp"
25#include "metric_report_definition.hpp"
26#include "network_protocol.hpp"
27#include "pcie.hpp"
Ed Tanous3cd70722024-04-06 09:24:01 -070028#include "power.hpp"
29#include "power_subsystem.hpp"
30#include "power_supply.hpp"
31#include "processor.hpp"
32#include "redfish_sessions.hpp"
33#include "redfish_v1.hpp"
34#include "roles.hpp"
35#include "sensors.hpp"
36#include "service_root.hpp"
37#include "storage.hpp"
38#include "systems.hpp"
39#include "task.hpp"
40#include "telemetry_service.hpp"
41#include "thermal.hpp"
42#include "thermal_metrics.hpp"
43#include "thermal_subsystem.hpp"
44#include "trigger.hpp"
45#include "update_service.hpp"
46#include "virtual_media.hpp"
47
48namespace redfish
49{
50
51RedfishService::RedfishService(App& app)
52{
53 requestAccountServiceRoutes(app);
54#ifdef BMCWEB_ENABLE_REDFISH_AGGREGATION
55 requestRoutesAggregationService(app);
56 requestRoutesAggregationSourceCollection(app);
57 requestRoutesAggregationSource(app);
58#endif
59 requestRoutesRoles(app);
60 requestRoutesRoleCollection(app);
61 requestRoutesServiceRoot(app);
62 requestRoutesNetworkProtocol(app);
63 requestRoutesSession(app);
64 requestEthernetInterfacesRoutes(app);
65#ifdef BMCWEB_ALLOW_DEPRECATED_POWER_THERMAL
66 requestRoutesThermal(app);
67 requestRoutesPower(app);
68#endif
69#ifdef BMCWEB_NEW_POWERSUBSYSTEM_THERMALSUBSYSTEM
70 requestRoutesEnvironmentMetrics(app);
71 requestRoutesPowerSubsystem(app);
72 requestRoutesPowerSupply(app);
73 requestRoutesPowerSupplyCollection(app);
74 requestRoutesThermalMetrics(app);
75 requestRoutesThermalSubsystem(app);
76 requestRoutesFan(app);
77 requestRoutesFanCollection(app);
78#endif
79 requestRoutesManagerCollection(app);
80 requestRoutesManager(app);
81 requestRoutesManagerResetAction(app);
82 requestRoutesManagerResetActionInfo(app);
83 requestRoutesManagerResetToDefaultsAction(app);
84 requestRoutesManagerDiagnosticData(app);
85 requestRoutesChassisCollection(app);
86 requestRoutesChassis(app);
87 requestRoutesChassisResetAction(app);
88 requestRoutesChassisResetActionInfo(app);
89 requestRoutesChassisDrive(app);
90 requestRoutesChassisDriveName(app);
91 requestRoutesUpdateService(app);
92 requestRoutesStorageCollection(app);
93 requestRoutesStorage(app);
94 requestRoutesStorageControllerCollection(app);
95 requestRoutesStorageController(app);
96 requestRoutesDrive(app);
97 requestRoutesCable(app);
98 requestRoutesCableCollection(app);
Ed Tanous3cd70722024-04-06 09:24:01 -070099
100 requestRoutesSystemLogServiceCollection(app);
101 requestRoutesEventLogService(app);
102 requestRoutesPostCodesEntryAdditionalData(app);
103
104 requestRoutesPostCodesLogService(app);
105 requestRoutesPostCodesClear(app);
106 requestRoutesPostCodesEntry(app);
107 requestRoutesPostCodesEntryCollection(app);
108
109#ifdef BMCWEB_ENABLE_REDFISH_DUMP_LOG
110 requestRoutesSystemDumpService(app);
111 requestRoutesSystemDumpEntryCollection(app);
112 requestRoutesSystemDumpEntry(app);
113 requestRoutesSystemDumpCreate(app);
114 requestRoutesSystemDumpClear(app);
115
116 requestRoutesBMCDumpService(app);
117 requestRoutesBMCDumpEntryCollection(app);
118 requestRoutesBMCDumpEntry(app);
119 requestRoutesBMCDumpEntryDownload(app);
120 requestRoutesBMCDumpCreate(app);
121 requestRoutesBMCDumpClear(app);
122
123 requestRoutesFaultLogDumpService(app);
124 requestRoutesFaultLogDumpEntryCollection(app);
125 requestRoutesFaultLogDumpEntry(app);
126 requestRoutesFaultLogDumpClear(app);
127#endif
128
129#ifndef BMCWEB_ENABLE_REDFISH_DBUS_LOG_ENTRIES
130 requestRoutesJournalEventLogEntryCollection(app);
131 requestRoutesJournalEventLogEntry(app);
132 requestRoutesJournalEventLogClear(app);
133#endif
134
135 requestRoutesBMCLogServiceCollection(app);
136#ifdef BMCWEB_ENABLE_REDFISH_BMC_JOURNAL
137 requestRoutesBMCJournalLogService(app);
138 requestRoutesBMCJournalLogEntryCollection(app);
139 requestRoutesBMCJournalLogEntry(app);
140#endif
141
142#ifdef BMCWEB_ENABLE_REDFISH_CPU_LOG
143 requestRoutesCrashdumpService(app);
144 requestRoutesCrashdumpEntryCollection(app);
145 requestRoutesCrashdumpEntry(app);
146 requestRoutesCrashdumpFile(app);
147 requestRoutesCrashdumpClear(app);
148 requestRoutesCrashdumpCollect(app);
149#endif // BMCWEB_ENABLE_REDFISH_CPU_LOG
150
151 requestRoutesProcessorCollection(app);
152 requestRoutesProcessor(app);
153 requestRoutesOperatingConfigCollection(app);
154 requestRoutesOperatingConfig(app);
155 requestRoutesMemoryCollection(app);
156 requestRoutesMemory(app);
157
158 requestRoutesSystems(app);
159
160 requestRoutesBiosService(app);
161 requestRoutesBiosReset(app);
162
163#ifdef BMCWEB_ENABLE_VM_NBDPROXY
164 requestNBDVirtualMediaRoutes(app);
165#endif // BMCWEB_ENABLE_VM_NBDPROXY
166
167#ifdef BMCWEB_ENABLE_REDFISH_DBUS_LOG_ENTRIES
168 requestRoutesDBusLogServiceActionsClear(app);
169 requestRoutesDBusEventLogEntryCollection(app);
170 requestRoutesDBusEventLogEntry(app);
171 requestRoutesDBusEventLogEntryDownload(app);
172#endif
173
174#ifdef BMCWEB_ENABLE_REDFISH_HOST_LOGGER
175 requestRoutesSystemHostLogger(app);
176 requestRoutesSystemHostLoggerCollection(app);
177 requestRoutesSystemHostLoggerLogEntry(app);
178#endif
179
180 requestRoutesMessageRegistryFileCollection(app);
181 requestRoutesMessageRegistryFile(app);
182 requestRoutesMessageRegistry(app);
183
184 requestRoutesCertificateService(app);
185 requestRoutesHTTPSCertificate(app);
186 requestRoutesLDAPCertificate(app);
187 requestRoutesTrustStoreCertificate(app);
188
189 requestRoutesSystemPCIeFunctionCollection(app);
190 requestRoutesSystemPCIeFunction(app);
191 requestRoutesSystemPCIeDeviceCollection(app);
192 requestRoutesSystemPCIeDevice(app);
193
194 requestRoutesSensorCollection(app);
195 requestRoutesSensor(app);
196
197 requestRoutesTaskMonitor(app);
198 requestRoutesTaskService(app);
199 requestRoutesTaskCollection(app);
200 requestRoutesTask(app);
201 requestRoutesEventService(app);
202 requestRoutesEventServiceSse(app);
203 requestRoutesEventDestinationCollection(app);
204 requestRoutesEventDestination(app);
205 requestRoutesFabricAdapters(app);
206 requestRoutesFabricAdapterCollection(app);
207 requestRoutesSubmitTestEvent(app);
208
209 requestRoutesHypervisorSystems(app);
210
211 requestRoutesTelemetryService(app);
212 requestRoutesMetricReportDefinitionCollection(app);
213 requestRoutesMetricReportDefinition(app);
214 requestRoutesMetricReportCollection(app);
215 requestRoutesMetricReport(app);
216 requestRoutesTriggerCollection(app);
217 requestRoutesTrigger(app);
218
219 // Note, this must be the last route registered
220 requestRoutesRedfish(app);
221}
222
223} // namespace redfish