Try to fix the lambda formatting issue

clang-tidy has a setting, LambdaBodyIndentation, which it says:
"For callback-heavy code, it may improve readability to have the
signature indented two levels and to use OuterScope."

bmcweb is very callback heavy code.  Try to enable it and see if that
improves things.  There are many cases where the length of a lambda call
will change, and reindent the entire lambda function.  This is really
bad for code reviews, as it's difficult to see the lines changed.  This
commit should resolve it.  This does have the downside of reindenting a
lot of functions, which is unfortunate, but probably worth it in the
long run.

All changes except for the .clang-format file were made by the robot.

Tested: Code compiles, whitespace changes only.

Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Ib4aa2f1391fada981febd25b67dcdb9143827f43
diff --git a/redfish-core/lib/pcie.hpp b/redfish-core/lib/pcie.hpp
index 740e393..df01afd 100644
--- a/redfish-core/lib/pcie.hpp
+++ b/redfish-core/lib/pcie.hpp
@@ -38,36 +38,35 @@
         [asyncResp, name](const boost::system::error_code ec,
                           const dbus::utility::MapperGetSubTreePathsResponse&
                               pcieDevicePaths) {
-            if (ec)
+        if (ec)
+        {
+            BMCWEB_LOG_DEBUG << "no PCIe device paths found ec: "
+                             << ec.message();
+            // Not an error, system just doesn't have PCIe info
+            return;
+        }
+        nlohmann::json& pcieDeviceList = asyncResp->res.jsonValue[name];
+        pcieDeviceList = nlohmann::json::array();
+        for (const std::string& pcieDevicePath : pcieDevicePaths)
+        {
+            size_t devStart = pcieDevicePath.rfind('/');
+            if (devStart == std::string::npos)
             {
-                BMCWEB_LOG_DEBUG << "no PCIe device paths found ec: "
-                                 << ec.message();
-                // Not an error, system just doesn't have PCIe info
-                return;
+                continue;
             }
-            nlohmann::json& pcieDeviceList = asyncResp->res.jsonValue[name];
-            pcieDeviceList = nlohmann::json::array();
-            for (const std::string& pcieDevicePath : pcieDevicePaths)
-            {
-                size_t devStart = pcieDevicePath.rfind('/');
-                if (devStart == std::string::npos)
-                {
-                    continue;
-                }
 
-                std::string devName = pcieDevicePath.substr(devStart + 1);
-                if (devName.empty())
-                {
-                    continue;
-                }
-                nlohmann::json::object_t pcieDevice;
-                pcieDevice["@odata.id"] =
-                    "/redfish/v1/Systems/system/PCIeDevices/" + devName;
-                pcieDeviceList.push_back(std::move(pcieDevice));
+            std::string devName = pcieDevicePath.substr(devStart + 1);
+            if (devName.empty())
+            {
+                continue;
             }
-            asyncResp->res.jsonValue[name + "@odata.count"] =
-                pcieDeviceList.size();
-        };
+            nlohmann::json::object_t pcieDevice;
+            pcieDevice["@odata.id"] =
+                "/redfish/v1/Systems/system/PCIeDevices/" + devName;
+            pcieDeviceList.push_back(std::move(pcieDevice));
+        }
+        asyncResp->res.jsonValue[name + "@odata.count"] = pcieDeviceList.size();
+    };
     crow::connections::systemBus->async_method_call(
         std::move(getPCIeMapCallback), "xyz.openbmc_project.ObjectMapper",
         "/xyz/openbmc_project/object_mapper",
@@ -85,22 +84,21 @@
         .methods(boost::beast::http::verb::get)(
             [&app](const crow::Request& req,
                    const std::shared_ptr<bmcweb::AsyncResp>& asyncResp) {
-                if (!redfish::setUpRedfishRoute(app, req, asyncResp->res))
-                {
-                    return;
-                }
+        if (!redfish::setUpRedfishRoute(app, req, asyncResp->res))
+        {
+            return;
+        }
 
-                asyncResp->res.jsonValue["@odata.type"] =
-                    "#PCIeDeviceCollection.PCIeDeviceCollection";
-                asyncResp->res.jsonValue["@odata.id"] =
-                    "/redfish/v1/Systems/system/PCIeDevices";
-                asyncResp->res.jsonValue["Name"] = "PCIe Device Collection";
-                asyncResp->res.jsonValue["Description"] =
-                    "Collection of PCIe Devices";
-                asyncResp->res.jsonValue["Members"] = nlohmann::json::array();
-                asyncResp->res.jsonValue["Members@odata.count"] = 0;
-                getPCIeDeviceList(asyncResp, "Members");
-            });
+        asyncResp->res.jsonValue["@odata.type"] =
+            "#PCIeDeviceCollection.PCIeDeviceCollection";
+        asyncResp->res.jsonValue["@odata.id"] =
+            "/redfish/v1/Systems/system/PCIeDevices";
+        asyncResp->res.jsonValue["Name"] = "PCIe Device Collection";
+        asyncResp->res.jsonValue["Description"] = "Collection of PCIe Devices";
+        asyncResp->res.jsonValue["Members"] = nlohmann::json::array();
+        asyncResp->res.jsonValue["Members@odata.count"] = 0;
+        getPCIeDeviceList(asyncResp, "Members");
+        });
 }
 
 inline std::optional<std::string>
@@ -146,102 +144,97 @@
 {
     BMCWEB_ROUTE(app, "/redfish/v1/Systems/system/PCIeDevices/<str>/")
         .privileges(redfish::privileges::getPCIeDevice)
-        .methods(
-            boost::beast::http::verb::
-                get)([&app](const crow::Request& req,
-                            const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
-                            const std::string& device) {
-            if (!redfish::setUpRedfishRoute(app, req, asyncResp->res))
+        .methods(boost::beast::http::verb::get)(
+            [&app](const crow::Request& req,
+                   const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
+                   const std::string& device) {
+        if (!redfish::setUpRedfishRoute(app, req, asyncResp->res))
+        {
+            return;
+        }
+        auto getPCIeDeviceCallback =
+            [asyncResp, device](
+                const boost::system::error_code ec,
+                const dbus::utility::DBusPropertiesMap& pcieDevProperties) {
+            if (ec)
             {
+                BMCWEB_LOG_DEBUG
+                    << "failed to get PCIe Device properties ec: " << ec.value()
+                    << ": " << ec.message();
+                if (ec.value() ==
+                    boost::system::linux_error::bad_request_descriptor)
+                {
+                    messages::resourceNotFound(asyncResp->res, "PCIeDevice",
+                                               device);
+                }
+                else
+                {
+                    messages::internalError(asyncResp->res);
+                }
                 return;
             }
-            auto getPCIeDeviceCallback =
-                [asyncResp, device](
-                    const boost::system::error_code ec,
-                    const dbus::utility::DBusPropertiesMap& pcieDevProperties) {
-                    if (ec)
+
+            asyncResp->res.jsonValue["@odata.type"] =
+                "#PCIeDevice.v1_4_0.PCIeDevice";
+            asyncResp->res.jsonValue["@odata.id"] =
+                "/redfish/v1/Systems/system/PCIeDevices/" + device;
+            asyncResp->res.jsonValue["Name"] = "PCIe Device";
+            asyncResp->res.jsonValue["Id"] = device;
+
+            asyncResp->res.jsonValue["PCIeFunctions"]["@odata.id"] =
+                "/redfish/v1/Systems/system/PCIeDevices/" + device +
+                "/PCIeFunctions";
+            for (const auto& property : pcieDevProperties)
+            {
+                const std::string* propertyString =
+                    std::get_if<std::string>(&property.second);
+                if (property.first == "Manufacturer")
+                {
+                    if (propertyString == nullptr)
                     {
-                        BMCWEB_LOG_DEBUG
-                            << "failed to get PCIe Device properties ec: "
-                            << ec.value() << ": " << ec.message();
-                        if (ec.value() ==
-                            boost::system::linux_error::bad_request_descriptor)
-                        {
-                            messages::resourceNotFound(asyncResp->res,
-                                                       "PCIeDevice", device);
-                        }
-                        else
-                        {
-                            messages::internalError(asyncResp->res);
-                        }
+                        messages::internalError(asyncResp->res);
                         return;
                     }
-
-                    asyncResp->res.jsonValue["@odata.type"] =
-                        "#PCIeDevice.v1_4_0.PCIeDevice";
-                    asyncResp->res.jsonValue["@odata.id"] =
-                        "/redfish/v1/Systems/system/PCIeDevices/" + device;
-                    asyncResp->res.jsonValue["Name"] = "PCIe Device";
-                    asyncResp->res.jsonValue["Id"] = device;
-
-                    asyncResp->res.jsonValue["PCIeFunctions"]["@odata.id"] =
-                        "/redfish/v1/Systems/system/PCIeDevices/" + device +
-                        "/PCIeFunctions";
-                    for (const auto& property : pcieDevProperties)
+                    asyncResp->res.jsonValue["Manufacturer"] = *propertyString;
+                }
+                if (property.first == "DeviceType")
+                {
+                    if (propertyString == nullptr)
                     {
-                        const std::string* propertyString =
-                            std::get_if<std::string>(&property.second);
-                        if (property.first == "Manufacturer")
-                        {
-                            if (propertyString == nullptr)
-                            {
-                                messages::internalError(asyncResp->res);
-                                return;
-                            }
-                            asyncResp->res.jsonValue["Manufacturer"] =
-                                *propertyString;
-                        }
-                        if (property.first == "DeviceType")
-                        {
-                            if (propertyString == nullptr)
-                            {
-                                messages::internalError(asyncResp->res);
-                                return;
-                            }
-                            asyncResp->res.jsonValue["DeviceType"] =
-                                *propertyString;
-                        }
-                        if (property.first == "GenerationInUse")
-                        {
-                            if (propertyString == nullptr)
-                            {
-                                messages::internalError(asyncResp->res);
-                                return;
-                            }
-                            std::optional<std::string> generationInUse =
-                                redfishPcieGenerationFromDbus(*propertyString);
-                            if (!generationInUse)
-                            {
-                                messages::internalError(asyncResp->res);
-                                return;
-                            }
-                            if (generationInUse->empty())
-                            {
-                                // unknown, no need to handle
-                                return;
-                            }
-                            asyncResp->res
-                                .jsonValue["PCIeInterface"]["PCIeType"] =
-                                *generationInUse;
-                        }
+                        messages::internalError(asyncResp->res);
+                        return;
                     }
-                };
-            std::string escapedPath = std::string(pciePath) + "/" + device;
-            dbus::utility::escapePathForDbus(escapedPath);
-            crow::connections::systemBus->async_method_call(
-                std::move(getPCIeDeviceCallback), pcieService, escapedPath,
-                "org.freedesktop.DBus.Properties", "GetAll",
-                pcieDeviceInterface);
+                    asyncResp->res.jsonValue["DeviceType"] = *propertyString;
+                }
+                if (property.first == "GenerationInUse")
+                {
+                    if (propertyString == nullptr)
+                    {
+                        messages::internalError(asyncResp->res);
+                        return;
+                    }
+                    std::optional<std::string> generationInUse =
+                        redfishPcieGenerationFromDbus(*propertyString);
+                    if (!generationInUse)
+                    {
+                        messages::internalError(asyncResp->res);
+                        return;
+                    }
+                    if (generationInUse->empty())
+                    {
+                        // unknown, no need to handle
+                        return;
+                    }
+                    asyncResp->res.jsonValue["PCIeInterface"]["PCIeType"] =
+                        *generationInUse;
+                }
+            }
+        };
+        std::string escapedPath = std::string(pciePath) + "/" + device;
+        dbus::utility::escapePathForDbus(escapedPath);
+        crow::connections::systemBus->async_method_call(
+            std::move(getPCIeDeviceCallback), pcieService, escapedPath,
+            "org.freedesktop.DBus.Properties", "GetAll", pcieDeviceInterface);
         });
 }
 
@@ -253,87 +246,83 @@
     BMCWEB_ROUTE(app,
                  "/redfish/v1/Systems/system/PCIeDevices/<str>/PCIeFunctions/")
         .privileges(redfish::privileges::getPCIeFunctionCollection)
-        .methods(
-            boost::beast::http::verb::
-                get)([&app](const crow::Request& req,
-                            const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
-                            const std::string& device) {
-            if (!redfish::setUpRedfishRoute(app, req, asyncResp->res))
+        .methods(boost::beast::http::verb::get)(
+            [&app](const crow::Request& req,
+                   const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
+                   const std::string& device) {
+        if (!redfish::setUpRedfishRoute(app, req, asyncResp->res))
+        {
+            return;
+        }
+
+        asyncResp->res.jsonValue["@odata.type"] =
+            "#PCIeFunctionCollection.PCIeFunctionCollection";
+        asyncResp->res.jsonValue["@odata.id"] =
+            "/redfish/v1/Systems/system/PCIeDevices/" + device +
+            "/PCIeFunctions";
+        asyncResp->res.jsonValue["Name"] = "PCIe Function Collection";
+        asyncResp->res.jsonValue["Description"] =
+            "Collection of PCIe Functions for PCIe Device " + device;
+
+        auto getPCIeDeviceCallback =
+            [asyncResp, device](
+                const boost::system::error_code ec,
+                const dbus::utility::DBusPropertiesMap& pcieDevProperties) {
+            if (ec)
             {
+                BMCWEB_LOG_DEBUG
+                    << "failed to get PCIe Device properties ec: " << ec.value()
+                    << ": " << ec.message();
+                if (ec.value() ==
+                    boost::system::linux_error::bad_request_descriptor)
+                {
+                    messages::resourceNotFound(asyncResp->res, "PCIeDevice",
+                                               device);
+                }
+                else
+                {
+                    messages::internalError(asyncResp->res);
+                }
                 return;
             }
 
-            asyncResp->res.jsonValue["@odata.type"] =
-                "#PCIeFunctionCollection.PCIeFunctionCollection";
-            asyncResp->res.jsonValue["@odata.id"] =
-                "/redfish/v1/Systems/system/PCIeDevices/" + device +
-                "/PCIeFunctions";
-            asyncResp->res.jsonValue["Name"] = "PCIe Function Collection";
-            asyncResp->res.jsonValue["Description"] =
-                "Collection of PCIe Functions for PCIe Device " + device;
-
-            auto getPCIeDeviceCallback =
-                [asyncResp, device](
-                    const boost::system::error_code ec,
-                    const dbus::utility::DBusPropertiesMap& pcieDevProperties) {
-                    if (ec)
+            nlohmann::json& pcieFunctionList =
+                asyncResp->res.jsonValue["Members"];
+            pcieFunctionList = nlohmann::json::array();
+            static constexpr const int maxPciFunctionNum = 8;
+            for (int functionNum = 0; functionNum < maxPciFunctionNum;
+                 functionNum++)
+            {
+                // Check if this function exists by looking for a
+                // device ID
+                std::string devIDProperty =
+                    "Function" + std::to_string(functionNum) + "DeviceId";
+                const std::string* property = nullptr;
+                for (const auto& propEntry : pcieDevProperties)
+                {
+                    if (propEntry.first == devIDProperty)
                     {
-                        BMCWEB_LOG_DEBUG
-                            << "failed to get PCIe Device properties ec: "
-                            << ec.value() << ": " << ec.message();
-                        if (ec.value() ==
-                            boost::system::linux_error::bad_request_descriptor)
-                        {
-                            messages::resourceNotFound(asyncResp->res,
-                                                       "PCIeDevice", device);
-                        }
-                        else
-                        {
-                            messages::internalError(asyncResp->res);
-                        }
-                        return;
+                        property = std::get_if<std::string>(&propEntry.second);
                     }
-
-                    nlohmann::json& pcieFunctionList =
-                        asyncResp->res.jsonValue["Members"];
-                    pcieFunctionList = nlohmann::json::array();
-                    static constexpr const int maxPciFunctionNum = 8;
-                    for (int functionNum = 0; functionNum < maxPciFunctionNum;
-                         functionNum++)
-                    {
-                        // Check if this function exists by looking for a
-                        // device ID
-                        std::string devIDProperty =
-                            "Function" + std::to_string(functionNum) +
-                            "DeviceId";
-                        const std::string* property = nullptr;
-                        for (const auto& propEntry : pcieDevProperties)
-                        {
-                            if (propEntry.first == devIDProperty)
-                            {
-                                property =
-                                    std::get_if<std::string>(&propEntry.second);
-                            }
-                        }
-                        if (property == nullptr || !property->empty())
-                        {
-                            return;
-                        }
-                        nlohmann::json::object_t pcieFunction;
-                        pcieFunction["@odata.id"] =
-                            "/redfish/v1/Systems/system/PCIeDevices/" + device +
-                            "/PCIeFunctions/" + std::to_string(functionNum);
-                        pcieFunctionList.push_back(std::move(pcieFunction));
-                    }
-                    asyncResp->res.jsonValue["Members@odata.count"] =
-                        pcieFunctionList.size();
-                };
-            std::string escapedPath = std::string(pciePath) + "/" + device;
-            dbus::utility::escapePathForDbus(escapedPath);
-            crow::connections::systemBus->async_method_call(
-                std::move(getPCIeDeviceCallback), pcieService, escapedPath,
-                "org.freedesktop.DBus.Properties", "GetAll",
-                pcieDeviceInterface);
+                }
+                if (property == nullptr || !property->empty())
+                {
+                    return;
+                }
+                nlohmann::json::object_t pcieFunction;
+                pcieFunction["@odata.id"] =
+                    "/redfish/v1/Systems/system/PCIeDevices/" + device +
+                    "/PCIeFunctions/" + std::to_string(functionNum);
+                pcieFunctionList.push_back(std::move(pcieFunction));
+            }
+            asyncResp->res.jsonValue["Members@odata.count"] =
+                pcieFunctionList.size();
+        };
+        std::string escapedPath = std::string(pciePath) + "/" + device;
+        dbus::utility::escapePathForDbus(escapedPath);
+        crow::connections::systemBus->async_method_call(
+            std::move(getPCIeDeviceCallback), pcieService, escapedPath,
+            "org.freedesktop.DBus.Properties", "GetAll", pcieDeviceInterface);
         });
 }
 
@@ -343,124 +332,112 @@
         app,
         "/redfish/v1/Systems/system/PCIeDevices/<str>/PCIeFunctions/<str>/")
         .privileges(redfish::privileges::getPCIeFunction)
-        .methods(
-            boost::beast::http::verb::
-                get)([&app](const crow::Request& req,
-                            const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
-                            const std::string& device,
-                            const std::string& function) {
-            if (!redfish::setUpRedfishRoute(app, req, asyncResp->res))
+        .methods(boost::beast::http::verb::get)(
+            [&app](const crow::Request& req,
+                   const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
+                   const std::string& device, const std::string& function) {
+        if (!redfish::setUpRedfishRoute(app, req, asyncResp->res))
+        {
+            return;
+        }
+        auto getPCIeDeviceCallback =
+            [asyncResp, device, function](
+                const boost::system::error_code ec,
+                const dbus::utility::DBusPropertiesMap& pcieDevProperties) {
+            if (ec)
             {
+                BMCWEB_LOG_DEBUG
+                    << "failed to get PCIe Device properties ec: " << ec.value()
+                    << ": " << ec.message();
+                if (ec.value() ==
+                    boost::system::linux_error::bad_request_descriptor)
+                {
+                    messages::resourceNotFound(asyncResp->res, "PCIeDevice",
+                                               device);
+                }
+                else
+                {
+                    messages::internalError(asyncResp->res);
+                }
                 return;
             }
-            auto getPCIeDeviceCallback =
-                [asyncResp, device, function](
-                    const boost::system::error_code ec,
-                    const dbus::utility::DBusPropertiesMap& pcieDevProperties) {
-                    if (ec)
-                    {
-                        BMCWEB_LOG_DEBUG
-                            << "failed to get PCIe Device properties ec: "
-                            << ec.value() << ": " << ec.message();
-                        if (ec.value() ==
-                            boost::system::linux_error::bad_request_descriptor)
-                        {
-                            messages::resourceNotFound(asyncResp->res,
-                                                       "PCIeDevice", device);
-                        }
-                        else
-                        {
-                            messages::internalError(asyncResp->res);
-                        }
-                        return;
-                    }
 
-                    // Check if this function exists by looking for a device
-                    // ID
-                    std::string functionName = "Function" + function;
-                    std::string devIDProperty = functionName + "DeviceId";
+            // Check if this function exists by looking for a device
+            // ID
+            std::string functionName = "Function" + function;
+            std::string devIDProperty = functionName + "DeviceId";
 
-                    const std::string* devIdProperty = nullptr;
-                    for (const auto& property : pcieDevProperties)
-                    {
-                        if (property.first == devIDProperty)
-                        {
-                            devIdProperty =
-                                std::get_if<std::string>(&property.second);
-                            continue;
-                        }
-                    }
-                    if (devIdProperty == nullptr || !devIdProperty->empty())
-                    {
-                        messages::resourceNotFound(asyncResp->res,
-                                                   "PCIeFunction", function);
-                        return;
-                    }
+            const std::string* devIdProperty = nullptr;
+            for (const auto& property : pcieDevProperties)
+            {
+                if (property.first == devIDProperty)
+                {
+                    devIdProperty = std::get_if<std::string>(&property.second);
+                    continue;
+                }
+            }
+            if (devIdProperty == nullptr || !devIdProperty->empty())
+            {
+                messages::resourceNotFound(asyncResp->res, "PCIeFunction",
+                                           function);
+                return;
+            }
 
-                    asyncResp->res.jsonValue["@odata.type"] =
-                        "#PCIeFunction.v1_2_0.PCIeFunction";
-                    asyncResp->res.jsonValue["@odata.id"] =
-                        "/redfish/v1/Systems/system/PCIeDevices/" + device +
-                        "/PCIeFunctions/" + function;
-                    asyncResp->res.jsonValue["Name"] = "PCIe Function";
-                    asyncResp->res.jsonValue["Id"] = function;
-                    asyncResp->res.jsonValue["FunctionId"] =
-                        std::stoi(function);
-                    asyncResp->res
-                        .jsonValue["Links"]["PCIeDevice"]["@odata.id"] =
-                        "/redfish/v1/Systems/system/PCIeDevices/" + device;
+            asyncResp->res.jsonValue["@odata.type"] =
+                "#PCIeFunction.v1_2_0.PCIeFunction";
+            asyncResp->res.jsonValue["@odata.id"] =
+                "/redfish/v1/Systems/system/PCIeDevices/" + device +
+                "/PCIeFunctions/" + function;
+            asyncResp->res.jsonValue["Name"] = "PCIe Function";
+            asyncResp->res.jsonValue["Id"] = function;
+            asyncResp->res.jsonValue["FunctionId"] = std::stoi(function);
+            asyncResp->res.jsonValue["Links"]["PCIeDevice"]["@odata.id"] =
+                "/redfish/v1/Systems/system/PCIeDevices/" + device;
 
-                    for (const auto& property : pcieDevProperties)
-                    {
-                        const std::string* strProperty =
-                            std::get_if<std::string>(&property.second);
-                        if (property.first == functionName + "DeviceId")
-                        {
-                            asyncResp->res.jsonValue["DeviceId"] = *strProperty;
-                        }
-                        if (property.first == functionName + "VendorId")
-                        {
-                            asyncResp->res.jsonValue["VendorId"] = *strProperty;
-                        }
-                        if (property.first == functionName + "FunctionType")
-                        {
-                            asyncResp->res.jsonValue["FunctionType"] =
-                                *strProperty;
-                        }
-                        if (property.first == functionName + "DeviceClass")
-                        {
-                            asyncResp->res.jsonValue["DeviceClass"] =
-                                *strProperty;
-                        }
-                        if (property.first == functionName + "ClassCode")
-                        {
-                            asyncResp->res.jsonValue["ClassCode"] =
-                                *strProperty;
-                        }
-                        if (property.first == functionName + "RevisionId")
-                        {
-                            asyncResp->res.jsonValue["RevisionId"] =
-                                *strProperty;
-                        }
-                        if (property.first == functionName + "SubsystemId")
-                        {
-                            asyncResp->res.jsonValue["SubsystemId"] =
-                                *strProperty;
-                        }
-                        if (property.first ==
-                            functionName + "SubsystemVendorId")
-                        {
-                            asyncResp->res.jsonValue["SubsystemVendorId"] =
-                                *strProperty;
-                        }
-                    }
-                };
-            std::string escapedPath = std::string(pciePath) + "/" + device;
-            dbus::utility::escapePathForDbus(escapedPath);
-            crow::connections::systemBus->async_method_call(
-                std::move(getPCIeDeviceCallback), pcieService, escapedPath,
-                "org.freedesktop.DBus.Properties", "GetAll",
-                pcieDeviceInterface);
+            for (const auto& property : pcieDevProperties)
+            {
+                const std::string* strProperty =
+                    std::get_if<std::string>(&property.second);
+                if (property.first == functionName + "DeviceId")
+                {
+                    asyncResp->res.jsonValue["DeviceId"] = *strProperty;
+                }
+                if (property.first == functionName + "VendorId")
+                {
+                    asyncResp->res.jsonValue["VendorId"] = *strProperty;
+                }
+                if (property.first == functionName + "FunctionType")
+                {
+                    asyncResp->res.jsonValue["FunctionType"] = *strProperty;
+                }
+                if (property.first == functionName + "DeviceClass")
+                {
+                    asyncResp->res.jsonValue["DeviceClass"] = *strProperty;
+                }
+                if (property.first == functionName + "ClassCode")
+                {
+                    asyncResp->res.jsonValue["ClassCode"] = *strProperty;
+                }
+                if (property.first == functionName + "RevisionId")
+                {
+                    asyncResp->res.jsonValue["RevisionId"] = *strProperty;
+                }
+                if (property.first == functionName + "SubsystemId")
+                {
+                    asyncResp->res.jsonValue["SubsystemId"] = *strProperty;
+                }
+                if (property.first == functionName + "SubsystemVendorId")
+                {
+                    asyncResp->res.jsonValue["SubsystemVendorId"] =
+                        *strProperty;
+                }
+            }
+        };
+        std::string escapedPath = std::string(pciePath) + "/" + device;
+        dbus::utility::escapePathForDbus(escapedPath);
+        crow::connections::systemBus->async_method_call(
+            std::move(getPCIeDeviceCallback), pcieService, escapedPath,
+            "org.freedesktop.DBus.Properties", "GetAll", pcieDeviceInterface);
         });
 }