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