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