xref: /openbmc/bmcweb/redfish-core/src/redfish.cpp (revision 003301a2)
1 #include "redfish.hpp"
2 
3 #include "bmcweb_config.h"
4 
5 #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"
28 #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 
48 namespace redfish
49 {
50 
51 RedfishService::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);
99 
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
224