#pragma once
/****************************************************************
 *                 READ THIS WARNING FIRST
 * This is an auto-generated header which contains definitions
 *  for Redfish DMTF defined messages and BMCWeb codes.
 * DO NOT modify this library outside of running the uri_to_entity.py script.
 ***************************************************************/
#include <map>
#include <string_view>
// clang-format off
namespace redfish::privileges
{
namespace details {
static inline const std::map<std::string_view, std::string_view> uriToEntityType = {
    {"/redfish/","ServiceRoot"},
    {"/redfish/<path>","Undefined"},
    {"/redfish/v1/","ServiceRoot"},
    {"/redfish/v1/AccountService/","AccountService"},
    {"/redfish/v1/AccountService/Accounts/","ManagerAccountCollection"},
    {"/redfish/v1/AccountService/Accounts/<str>/","ManagerAccount"},
    {"/redfish/v1/AccountService/LDAP/Certificates/","CertificateCollection"},
    {"/redfish/v1/AccountService/LDAP/Certificates/<str>/","Certificate"},
    {"/redfish/v1/AccountService/Roles/","RoleCollection"},
    {"/redfish/v1/AccountService/Roles/<str>/","Role"},
    {"/redfish/v1/Cables/","CableCollection"},
    {"/redfish/v1/Cables/<str>/","Cable"},
    {"/redfish/v1/CertificateService/","CertificateService"},
    {"/redfish/v1/CertificateService/Actions/CertificateService.GenerateCSR/","CertificateService"},
    {"/redfish/v1/CertificateService/Actions/CertificateService.ReplaceCertificate/","CertificateService"},
    {"/redfish/v1/CertificateService/CertificateLocations/","CertificateLocations"},
    {"/redfish/v1/Chassis/","ChassisCollection"},
    {"/redfish/v1/Chassis/<str>/","Chassis"},
    {"/redfish/v1/Chassis/<str>/Actions/Chassis.Reset/","Chassis"},
    {"/redfish/v1/Chassis/<str>/Assembly/","Assembly"},
    {"/redfish/v1/Chassis/<str>/Drives/","DriveCollection"},
    {"/redfish/v1/Chassis/<str>/Drives/<str>/","Chassis"},
    {"/redfish/v1/Chassis/<str>/Drives/<str>/Actions/Drive.Reset/","Drive"},
    {"/redfish/v1/Chassis/<str>/Drives/<str>/ResetActionInfo/","ActionInfo"},
    {"/redfish/v1/Chassis/<str>/EnvironmentMetrics/","EnvironmentMetrics"},
    {"/redfish/v1/Chassis/<str>/LogServices/","LogServiceCollection"},
    {"/redfish/v1/Chassis/<str>/LogServices/ChassisLog/","LogService"},
    {"/redfish/v1/Chassis/<str>/LogServices/ChassisLog/Entries/","LogEntryCollection"},
    {"/redfish/v1/Chassis/<str>/LogServices/ChassisLog/Entries/<str>/","LogEntry"},
    {"/redfish/v1/Chassis/<str>/PCIeSlots/","PCIeSlots"},
    {"/redfish/v1/Chassis/<str>/Power/","Power"},
    {"/redfish/v1/Chassis/<str>/PowerSubsystem/","PowerSubsystem"},
    {"/redfish/v1/Chassis/<str>/ResetActionInfo/","ActionInfo"},
    {"/redfish/v1/Chassis/<str>/Sensors/","SensorCollection"},
    {"/redfish/v1/Chassis/<str>/Sensors/<str>/","Sensor"},
    {"/redfish/v1/Chassis/<str>/Thermal/","Thermal"},
    {"/redfish/v1/Chassis/<str>/ThermalSubsystem/","ThermalSubsystem"},
    {"/redfish/v1/Chassis/<str>/ThermalSubsystem/Fans/","FanCollection"},
    {"/redfish/v1/Chassis/<str>/ThermalSubsystem/Fans/<str>/","Fan"},
    {"/redfish/v1/EventService/","EventService"},
    {"/redfish/v1/EventService/Actions/EventService.SubmitTestEvent/","EventService"},
    {"/redfish/v1/EventService/Subscriptions/","EventDestinationCollection"},
    {"/redfish/v1/EventService/Subscriptions/<str>/","EventDestination"},
    {"/redfish/v1/JsonSchemas/","JsonSchemaFile"},
    {"/redfish/v1/JsonSchemas/<str>/","JsonSchemaFileCollection"},
    {"/redfish/v1/Managers/","ManagerCollection"},
    {"/redfish/v1/Managers/<str>/VirtualMedia/","VirtualMediaCollection"},
    {"/redfish/v1/Managers/<str>/VirtualMedia/<str>/","VirtualMedia"},
    {"/redfish/v1/Managers/<str>/VirtualMedia/<str>/Actions/VirtualMedia.EjectMedia","VirtualMedia"},
    {"/redfish/v1/Managers/<str>/VirtualMedia/<str>/Actions/VirtualMedia.InsertMedia","VirtualMedia"},
    {"/redfish/v1/Managers/bmc/","Manager"},
    {"/redfish/v1/Managers/bmc/Actions/Manager.FanMode.Change/","Manager"},
    {"/redfish/v1/Managers/bmc/Actions/Manager.Reset/","Manager"},
    {"/redfish/v1/Managers/bmc/Actions/Manager.ResetToDefaults/","Manager"},
    {"/redfish/v1/Managers/bmc/EthernetInterfaces/","EthernetInterfaceCollection"},
    {"/redfish/v1/Managers/bmc/EthernetInterfaces/<str>/","EthernetInterface"},
    {"/redfish/v1/Managers/bmc/EthernetInterfaces/<str>/VLANs/","VLanNetworkInterfaceCollection"},
    {"/redfish/v1/Managers/bmc/EthernetInterfaces/<str>/VLANs/<str>/","VLanNetworkInterface"},
    {"/redfish/v1/Managers/bmc/FanMode.Change.ActionInfo/","ActionInfo"},
    {"/redfish/v1/Managers/bmc/LogServices/","LogServiceCollection"},
    {"/redfish/v1/Managers/bmc/LogServices/Dump/","LogService"},
    {"/redfish/v1/Managers/bmc/LogServices/Dump/Actions/LogService.ClearLog/","LogService"},
    {"/redfish/v1/Managers/bmc/LogServices/Dump/Actions/LogService.CollectDiagnosticData/","LogService"},
    {"/redfish/v1/Managers/bmc/LogServices/Dump/Entries/","LogEntryCollection"},
    {"/redfish/v1/Managers/bmc/LogServices/Dump/Entries/<str>/","LogEntry"},
    {"/redfish/v1/Managers/bmc/LogServices/FaultLog/","LogService"},
    {"/redfish/v1/Managers/bmc/LogServices/FaultLog/Actions/LogService.ClearLog/","LogService"},
    {"/redfish/v1/Managers/bmc/LogServices/FaultLog/Entries/","LogEntryCollection"},
    {"/redfish/v1/Managers/bmc/LogServices/FaultLog/Entries/<str>/","LogEntry"},
    {"/redfish/v1/Managers/bmc/LogServices/Journal/","LogService"},
    {"/redfish/v1/Managers/bmc/LogServices/Journal/Entries/","LogEntryCollection"},
    {"/redfish/v1/Managers/bmc/LogServices/Journal/Entries/<str>/","LogEntry"},
    {"/redfish/v1/Managers/bmc/ManagerDiagnosticData","ManagerDiagnosticData"},
    {"/redfish/v1/Managers/bmc/NetworkProtocol/","ManagerNetworkProtocol"},
    {"/redfish/v1/Managers/bmc/NetworkProtocol/HTTPS/Certificates/","CertificateCollection"},
    {"/redfish/v1/Managers/bmc/NetworkProtocol/HTTPS/Certificates/<str>/","Certificate"},
    {"/redfish/v1/Managers/bmc/ResetActionInfo/","ActionInfo"},
    {"/redfish/v1/Managers/bmc/Truststore/Certificates/","Certificate"},
    {"/redfish/v1/Managers/bmc/Truststore/Certificates/<str>/","Certificate"},
    {"/redfish/v1/Registries/","MessageRegistryFileCollection"},
    {"/redfish/v1/Registries/<str>/","MessageRegistryFile"},
    {"/redfish/v1/Registries/<str>/<str>/","MessageRegistryFile"},
    {"/redfish/v1/SessionService/","SessionService"},
    {"/redfish/v1/SessionService/Sessions/","SessionCollection"},
    {"/redfish/v1/SessionService/Sessions/<str>/","Session"},
    {"/redfish/v1/SessionService/Sessions/Members/","SessionCollection"},
    {"/redfish/v1/Storage/","StorageCollection"},
    {"/redfish/v1/Storage/<str>/","Storage"},
    {"/redfish/v1/Systems/","ComputerSystemCollection"},
    {"/redfish/v1/Systems/<str>/","ComputerSystem"},
    {"/redfish/v1/Systems/<str>/Bios/","Bios"},
    {"/redfish/v1/Systems/<str>/Bios/Actions/Bios.ResetBios/","Bios"},
    {"/redfish/v1/Systems/<str>/LogServices/","LogServiceCollection"},
    {"/redfish/v1/Systems/<str>/LogServices/Crashdump/","LogService"},
    {"/redfish/v1/Systems/<str>/LogServices/Crashdump/Actions/LogService.ClearLog/","LogService"},
    {"/redfish/v1/Systems/<str>/LogServices/Crashdump/Actions/LogService.CollectDiagnosticData/","LogService"},
    {"/redfish/v1/Systems/<str>/LogServices/Crashdump/Entries/","LogEntryCollection"},
    {"/redfish/v1/Systems/<str>/LogServices/Crashdump/Entries/<str>/","LogEntry"},
    {"/redfish/v1/Systems/<str>/LogServices/Crashdump/Entries/<str>/<str>/","LogEntry"},
    {"/redfish/v1/Systems/<str>/LogServices/Dump/","LogService"},
    {"/redfish/v1/Systems/<str>/LogServices/Dump/Actions/LogService.ClearLog/","LogService"},
    {"/redfish/v1/Systems/<str>/LogServices/Dump/Actions/LogService.CollectDiagnosticData/","LogService"},
    {"/redfish/v1/Systems/<str>/LogServices/Dump/Entries/","LogEntryCollection"},
    {"/redfish/v1/Systems/<str>/LogServices/Dump/Entries/<str>/","LogEntry"},
    {"/redfish/v1/Systems/<str>/LogServices/EventLog/","LogService"},
    {"/redfish/v1/Systems/<str>/LogServices/EventLog/Actions/LogService.ClearLog/","LogService"},
    {"/redfish/v1/Systems/<str>/LogServices/EventLog/Entries/","LogEntryCollection"},
    {"/redfish/v1/Systems/<str>/LogServices/EventLog/Entries/<str>/","LogEntry"},
    {"/redfish/v1/Systems/<str>/LogServices/EventLog/Entries/<str>/attachment","LogEntry"},
    {"/redfish/v1/Systems/<str>/LogServices/HostLogger/","LogService"},
    {"/redfish/v1/Systems/<str>/LogServices/HostLogger/Entries/","LogEntry"},
    {"/redfish/v1/Systems/<str>/LogServices/HostLogger/Entries/<str>/","LogEntry"},
    {"/redfish/v1/Systems/<str>/LogServices/PostCodes/","LogService"},
    {"/redfish/v1/Systems/<str>/LogServices/PostCodes/Actions/LogService.ClearLog/","LogService"},
    {"/redfish/v1/Systems/<str>/LogServices/PostCodes/Entries/","LogEntryCollection"},
    {"/redfish/v1/Systems/<str>/LogServices/PostCodes/Entries/<str>/","LogEntry"},
    {"/redfish/v1/Systems/<str>/LogServices/PostCodes/Entries/<str>/attachment/","LogEntry"},
    {"/redfish/v1/Systems/<str>/Memory/","MemoryCollection"},
    {"/redfish/v1/Systems/<str>/Memory/<str>/","Memory"},
    {"/redfish/v1/Systems/<str>/PCIeDevices/","PCIeDeviceCollection"},
    {"/redfish/v1/Systems/<str>/PCIeDevices/<str>/","PCIeDevice"},
    {"/redfish/v1/Systems/<str>/Processors/","ProcessorCollection"},
    {"/redfish/v1/Systems/<str>/Processors/<str>/","Processor"},
    {"/redfish/v1/Systems/<str>/Processors/<str>/SubProcessors","ProcessorCollection"},
    {"/redfish/v1/Systems/<str>/Processors/<str>/SubProcessors/","ProcessorCollection"},
    {"/redfish/v1/Systems/<str>/Processors/<str>/SubProcessors/<str>","Processor"},
    {"/redfish/v1/Systems/<str>/Processors/<str>/SubProcessors/<str>/","Processor"},
    {"/redfish/v1/Systems/<str>/Processors/<str>/SubProcessors/<str>/SubProcessors","ProcessorCollection"},
    {"/redfish/v1/Systems/<str>/Processors/<str>/SubProcessors/<str>/SubProcessors/<str>","Processor"},
    {"/redfish/v1/Systems/<str>/ResetActionInfo/","ActionInfo"},
    {"/redfish/v1/Systems/<str>/Storage/","StorageCollection"},
    {"/redfish/v1/Systems/<str>/Storage/1/Drives/<str>/","Drive"},
    {"/redfish/v1/Systems/<str>/Storage/<str>/","Storage"},
    {"/redfish/v1/Systems/hypervisor/","ComputerSystem"},
    {"/redfish/v1/Systems/hypervisor/Actions/ComputerSystem.Reset/","ComputerSystem"},
    {"/redfish/v1/Systems/hypervisor/EthernetInterfaces/","EthernetInterfaceCollection"},
    {"/redfish/v1/Systems/hypervisor/EthernetInterfaces/<str>/","EthernetInterface"},
    {"/redfish/v1/Systems/hypervisor/ResetActionInfo/","ActionInfo"},
    {"/redfish/v1/Systems/system/","ComputerSystem"},
    {"/redfish/v1/Systems/system/Actions/ComputerSystem.Reset/","ComputerSystem"},
    {"/redfish/v1/Systems/system/LogServices/","LogService"},
    {"/redfish/v1/Systems/system/LogServices/<str>/","LogService"},
    {"/redfish/v1/Systems/system/LogServices/<str>/<str>/","LogService"},
    {"/redfish/v1/Systems/system/LogServices/<str>/<str>/<str>/","LogService"},
    {"/redfish/v1/Systems/system/Memory/<str>/MemoryMetrics/","MemoryMetrics"},
    {"/redfish/v1/Systems/system/PCIeDevices/<str>/PCIeFunctions/","PCIeFunctionCollection"},
    {"/redfish/v1/Systems/system/PCIeDevices/<str>/PCIeFunctions/<str>/","PCIeFunction"},
    {"/redfish/v1/Systems/system/Processors/<str>/OperatingConfigs/","OperatingConfigCollection"},
    {"/redfish/v1/Systems/system/Processors/<str>/OperatingConfigs/<str>/","OperatingConfig"},
    {"/redfish/v1/Systems/system/Processors/<str>/ProcessorMetrics/","Processor"},
    {"/redfish/v1/Systems/system/Processors/<str>/SubProcessors/<str>/SubProcessors/<str>/ProcessorMetrics/","Processor"},
    {"/redfish/v1/Systems/system/ResetActionInfo/","ActionInfo"},
    {"/redfish/v1/TaskService/","TaskService"},
    {"/redfish/v1/TaskService/Tasks/","TaskCollection"},
    {"/redfish/v1/TaskService/Tasks/<str>/","Task"},
    {"/redfish/v1/TaskService/Tasks/<str>/Monitor/","Task"},
    {"/redfish/v1/TelemetryService/","TelemetryService"},
    {"/redfish/v1/TelemetryService/MetricReportDefinitions/","MetricReportDefinitionCollection"},
    {"/redfish/v1/TelemetryService/MetricReportDefinitions/<str>/","MetricReportDefinition"},
    {"/redfish/v1/TelemetryService/MetricReports/","MetricReportCollection"},
    {"/redfish/v1/TelemetryService/MetricReports/<str>/","MetricReport"},
    {"/redfish/v1/TelemetryService/Triggers/","TriggersCollection"},
    {"/redfish/v1/TelemetryService/Triggers/<str>/","Triggers"},
    {"/redfish/v1/UpdateService/","UpdateService"},
    {"/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate/","UpdateService"},
    {"/redfish/v1/UpdateService/FirmwareInventory/","SoftwareInventoryCollection"},
    {"/redfish/v1/UpdateService/FirmwareInventory/<str>/","SoftwareInventory"},
    {"/redfish/v1/UpdateService/update/","UpdateService"},
};
} // namespace details

inline std::string_view uriToEntity(std::string_view uri) {
    auto it = details::uriToEntityType.find(uri);
    if (it == details::uriToEntityType.end()) {
        return "";
    }
    return it->second;
}
} // namespace redfish::privileges
// clang-format on
