pseq: Add is_power_supply_rail JSON file property

Enhance the JSON configuration file for the phosphor-power-sequencer
application.  Add an "is_power_supply_rail" property to the "rail"
object.

Update the config file documentation, config file parser, Rail class,
and the associated tests.

Change-Id: I3d0e8276324dd9cf25f386016c6f275b540515aa
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
diff --git a/phosphor-power-sequencer/src/config_file_parser.cpp b/phosphor-power-sequencer/src/config_file_parser.cpp
index db055d1..37c6b04 100644
--- a/phosphor-power-sequencer/src/config_file_parser.cpp
+++ b/phosphor-power-sequencer/src/config_file_parser.cpp
@@ -100,6 +100,15 @@
         ++propertyCount;
     }
 
+    // Optional is_power_supply_rail property
+    bool isPowerSupplyRail{false};
+    auto isPowerSupplyRailIt = element.find("is_power_supply_rail");
+    if (isPowerSupplyRailIt != element.end())
+    {
+        isPowerSupplyRail = parseBoolean(*isPowerSupplyRailIt);
+        ++propertyCount;
+    }
+
     // Optional check_status_vout property
     bool checkStatusVout{false};
     auto checkStatusVoutIt = element.find("check_status_vout");
@@ -137,8 +146,9 @@
     // Verify no invalid properties exist
     verifyPropertyCount(element, propertyCount);
 
-    return std::make_unique<Rail>(name, presence, page, checkStatusVout,
-                                  compareVoltageToLimits, gpio);
+    return std::make_unique<Rail>(name, presence, page, isPowerSupplyRail,
+                                  checkStatusVout, compareVoltageToLimits,
+                                  gpio);
 }
 
 std::vector<std::unique_ptr<Rail>> parseRailArray(const json& element)