diff --git a/redfish-core/include/redfish.hpp b/redfish-core/include/redfish.hpp
index e56996d..2397df6 100644
--- a/redfish-core/include/redfish.hpp
+++ b/redfish-core/include/redfish.hpp
@@ -208,6 +208,7 @@
         requestRoutesMetricReportCollection(app);
         requestRoutesMetricReport(app);
         requestRoutesTriggerCollection(app);
+        requestRoutesTrigger(app);
     }
 };
 
diff --git a/redfish-core/include/utils/time_utils.hpp b/redfish-core/include/utils/time_utils.hpp
index ee21fd7..d4c65de 100644
--- a/redfish-core/include/utils/time_utils.hpp
+++ b/redfish-core/include/utils/time_utils.hpp
@@ -208,5 +208,25 @@
     return fmt;
 }
 
+inline std::optional<std::string>
+    toDurationStringFromUint(const uint64_t timeMs)
+{
+    static const uint64_t maxTimeMs =
+        static_cast<uint64_t>(std::chrono::milliseconds::max().count());
+
+    if (maxTimeMs < timeMs)
+    {
+        return std::nullopt;
+    }
+
+    std::string duration = toDurationString(std::chrono::milliseconds(timeMs));
+    if (duration.empty())
+    {
+        return std::nullopt;
+    }
+
+    return std::make_optional(duration);
+}
+
 } // namespace time_utils
 } // namespace redfish
diff --git a/redfish-core/lib/trigger.hpp b/redfish-core/lib/trigger.hpp
index bbe0887..c3d1448 100644
--- a/redfish-core/lib/trigger.hpp
+++ b/redfish-core/lib/trigger.hpp
@@ -6,6 +6,10 @@
 #include <app.hpp>
 #include <registries/privilege_registry.hpp>
 
+#include <tuple>
+#include <variant>
+#include <vector>
+
 namespace redfish
 {
 namespace telemetry
@@ -14,6 +18,265 @@
     "xyz.openbmc_project.Telemetry.Trigger";
 constexpr const char* triggerUri = "/redfish/v1/TelemetryService/Triggers";
 
+using NumericThresholdParams =
+    std::tuple<std::string, uint64_t, std::string, double>;
+
+using DiscreteThresholdParams =
+    std::tuple<std::string, std::string, uint64_t, std::string>;
+
+using TriggerThresholdParamsExt =
+    std::variant<std::monostate, std::vector<NumericThresholdParams>,
+                 std::vector<DiscreteThresholdParams>>;
+
+using TriggerSensorsParams =
+    std::vector<std::pair<sdbusplus::message::object_path, std::string>>;
+
+using TriggerGetParamsVariant =
+    std::variant<std::monostate, bool, std::string, TriggerThresholdParamsExt,
+                 TriggerSensorsParams, std::vector<std::string>>;
+
+inline std::optional<std::string>
+    getRedfishFromDbusAction(const std::string& dbusAction)
+{
+    std::optional<std::string> redfishAction = std::nullopt;
+    if (dbusAction == "UpdateReport")
+    {
+        redfishAction = "RedfishMetricReport";
+    }
+    if (dbusAction == "RedfishEvent")
+    {
+        redfishAction = "RedfishEvent";
+    }
+    if (dbusAction == "LogToLogService")
+    {
+        redfishAction = "LogToLogService";
+    }
+    return redfishAction;
+}
+
+inline std::optional<std::vector<std::string>>
+    getTriggerActions(const std::vector<std::string>& dbusActions)
+{
+    std::vector<std::string> triggerActions;
+    for (const std::string& dbusAction : dbusActions)
+    {
+        std::optional<std::string> redfishAction =
+            getRedfishFromDbusAction(dbusAction);
+
+        if (!redfishAction)
+        {
+            return std::nullopt;
+        }
+
+        triggerActions.push_back(*redfishAction);
+    }
+
+    return std::make_optional(triggerActions);
+}
+
+inline std::optional<nlohmann::json>
+    getDiscreteTriggers(const TriggerThresholdParamsExt& thresholdParams)
+{
+    const std::vector<DiscreteThresholdParams>* discreteParams =
+        std::get_if<std::vector<DiscreteThresholdParams>>(&thresholdParams);
+
+    if (!discreteParams)
+    {
+        return std::nullopt;
+    }
+
+    nlohmann::json triggers = nlohmann::json::array();
+    for (const auto& [name, severity, dwellTime, value] : *discreteParams)
+    {
+        std::optional<std::string> duration =
+            time_utils::toDurationStringFromUint(dwellTime);
+
+        if (!duration)
+        {
+            return std::nullopt;
+        }
+
+        triggers.push_back({
+            {"Name", name},
+            {"Severity", severity},
+            {"DwellTime", *duration},
+            {"Value", value},
+        });
+    }
+
+    return std::make_optional(triggers);
+}
+
+inline std::optional<nlohmann::json>
+    getNumericThresholds(const TriggerThresholdParamsExt& thresholdParams)
+{
+    const std::vector<NumericThresholdParams>* numericParams =
+        std::get_if<std::vector<NumericThresholdParams>>(&thresholdParams);
+
+    if (!numericParams)
+    {
+        return std::nullopt;
+    }
+
+    nlohmann::json thresholds;
+    for (const auto& [type, dwellTime, activation, reading] : *numericParams)
+    {
+        std::optional<std::string> duration =
+            time_utils::toDurationStringFromUint(dwellTime);
+
+        if (!duration)
+        {
+            return std::nullopt;
+        }
+
+        thresholds[type] = {{"Reading", reading},
+                            {"Activation", activation},
+                            {"DwellTime", *duration}};
+    }
+
+    return std::make_optional(thresholds);
+}
+
+nlohmann::json
+    getMetricReportDefinitions(const std::vector<std::string>& reportNames)
+{
+    nlohmann::json reports = nlohmann::json::array();
+    for (const std::string& name : reportNames)
+    {
+        reports.push_back({
+            {"@odata.id", metricReportDefinitionUri + std::string("/") + name},
+        });
+    }
+
+    return reports;
+}
+
+inline std::vector<std::string>
+    getMetricProperties(const TriggerSensorsParams& sensors)
+{
+    std::vector<std::string> metricProperties;
+    metricProperties.reserve(sensors.size());
+    for (const auto& [_, metadata] : sensors)
+    {
+        metricProperties.emplace_back(metadata);
+    }
+
+    return metricProperties;
+}
+
+inline bool fillTrigger(
+    nlohmann::json& json, const std::string& id,
+    const std::vector<std::pair<std::string, TriggerGetParamsVariant>>&
+        properties)
+{
+    const std::string* name = nullptr;
+    const bool* discrete = nullptr;
+    const TriggerSensorsParams* sensors = nullptr;
+    const std::vector<std::string>* reports = nullptr;
+    const std::vector<std::string>* actions = nullptr;
+    const TriggerThresholdParamsExt* thresholds = nullptr;
+
+    for (const auto& [key, var] : properties)
+    {
+        if (key == "Name")
+        {
+            name = std::get_if<std::string>(&var);
+        }
+        else if (key == "Discrete")
+        {
+            discrete = std::get_if<bool>(&var);
+        }
+        else if (key == "Sensors")
+        {
+            sensors = std::get_if<TriggerSensorsParams>(&var);
+        }
+        else if (key == "ReportNames")
+        {
+            reports = std::get_if<std::vector<std::string>>(&var);
+        }
+        else if (key == "TriggerActions")
+        {
+            actions = std::get_if<std::vector<std::string>>(&var);
+        }
+        else if (key == "Thresholds")
+        {
+            thresholds = std::get_if<TriggerThresholdParamsExt>(&var);
+        }
+    }
+
+    if (!name || !discrete || !sensors || !reports || !actions || !thresholds)
+    {
+        BMCWEB_LOG_ERROR
+            << "Property type mismatch or property is missing in Trigger: "
+            << id;
+        return false;
+    }
+
+    json["@odata.type"] = "#Triggers.v1_2_0.Triggers";
+    json["@odata.id"] = triggerUri + std::string("/") + id;
+    json["Id"] = id;
+    json["Name"] = *name;
+
+    if (*discrete)
+    {
+        std::optional<nlohmann::json> discreteTriggers =
+            getDiscreteTriggers(*thresholds);
+
+        if (!discreteTriggers)
+        {
+            BMCWEB_LOG_ERROR << "Property Thresholds is invalid for discrete "
+                                "triggers in Trigger: "
+                             << id;
+            return false;
+        }
+
+        json["DiscreteTriggers"] = *discreteTriggers;
+        json["DiscreteTriggerCondition"] =
+            discreteTriggers->empty() ? "Changed" : "Specified";
+        json["MetricType"] = "Discrete";
+    }
+    else
+    {
+        std::optional<nlohmann::json> numericThresholds =
+            getNumericThresholds(*thresholds);
+
+        if (!numericThresholds)
+        {
+            BMCWEB_LOG_ERROR << "Property Thresholds is invalid for numeric "
+                                "thresholds in Trigger: "
+                             << id;
+            return false;
+        }
+
+        json["NumericThresholds"] = *numericThresholds;
+        json["MetricType"] = "Numeric";
+    }
+
+    std::optional<std::vector<std::string>> triggerActions =
+        getTriggerActions(*actions);
+
+    if (!triggerActions)
+    {
+        BMCWEB_LOG_ERROR << "Property TriggerActions is invalid in Trigger: "
+                         << id;
+        return false;
+    }
+
+    json["TriggerActions"] = *triggerActions;
+    json["MetricProperties"] = getMetricProperties(*sensors);
+    json["Links"]["MetricReportDefinitions"] =
+        getMetricReportDefinitions(*reports);
+
+    return true;
+}
+
+inline std::string getDbusTriggerPath(const std::string& id)
+{
+    sdbusplus::message::object_path path(
+        "/xyz/openbmc_project/Telemetry/Triggers/TelemetryService");
+    return {path / id};
+}
+
 } // namespace telemetry
 
 inline void requestRoutesTriggerCollection(App& app)
@@ -36,4 +299,44 @@
             });
 }
 
+inline void requestRoutesTrigger(App& app)
+{
+    BMCWEB_ROUTE(app, "/redfish/v1/TelemetryService/Triggers/<str>/")
+        .privileges(redfish::privileges::getTriggers)
+        .methods(boost::beast::http::verb::get)(
+            [](const crow::Request&,
+               const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
+               const std::string& id) {
+                crow::connections::systemBus->async_method_call(
+                    [asyncResp,
+                     id](const boost::system::error_code ec,
+                         const std::vector<std::pair<
+                             std::string, telemetry::TriggerGetParamsVariant>>&
+                             ret) {
+                        if (ec.value() == EBADR ||
+                            ec == boost::system::errc::host_unreachable)
+                        {
+                            messages::resourceNotFound(asyncResp->res,
+                                                       "Triggers", id);
+                            return;
+                        }
+                        if (ec)
+                        {
+                            BMCWEB_LOG_ERROR << "respHandler DBus error " << ec;
+                            messages::internalError(asyncResp->res);
+                            return;
+                        }
+
+                        if (!telemetry::fillTrigger(asyncResp->res.jsonValue,
+                                                    id, ret))
+                        {
+                            messages::internalError(asyncResp->res);
+                        }
+                    },
+                    telemetry::service, telemetry::getDbusTriggerPath(id),
+                    "org.freedesktop.DBus.Properties", "GetAll",
+                    telemetry::triggerInterface);
+            });
+}
+
 } // namespace redfish
diff --git a/redfish-core/ut/time_utils_test.cpp b/redfish-core/ut/time_utils_test.cpp
index d03c316..0a88e65 100644
--- a/redfish-core/ut/time_utils_test.cpp
+++ b/redfish-core/ut/time_utils_test.cpp
@@ -50,3 +50,27 @@
     using std::chrono::milliseconds;
     EXPECT_EQ(toDurationString(milliseconds(-250)), "");
 }
+
+TEST(ToDurationStringFromUintTest, PositiveTests)
+{
+    using redfish::time_utils::toDurationStringFromUint;
+    uint64_t maxAcceptedTimeMs =
+        static_cast<uint64_t>(std::chrono::milliseconds::max().count());
+
+    EXPECT_THAT(toDurationStringFromUint(maxAcceptedTimeMs),
+                ::testing::Ne(std::nullopt));
+    EXPECT_EQ(toDurationStringFromUint(0), "PT");
+    EXPECT_EQ(toDurationStringFromUint(250), "PT0.250S");
+    EXPECT_EQ(toDurationStringFromUint(5000), "PT5.000S");
+}
+
+TEST(ToDurationStringFromUintTest, NegativeTests)
+{
+    using redfish::time_utils::toDurationStringFromUint;
+    uint64_t minNotAcceptedTimeMs =
+        static_cast<uint64_t>(std::chrono::milliseconds::max().count()) + 1;
+
+    EXPECT_EQ(toDurationStringFromUint(minNotAcceptedTimeMs), std::nullopt);
+    EXPECT_EQ(toDurationStringFromUint(static_cast<uint64_t>(-1)),
+              std::nullopt);
+}
diff --git a/scripts/update_schemas.py b/scripts/update_schemas.py
index 63b441e..eb6318f 100755
--- a/scripts/update_schemas.py
+++ b/scripts/update_schemas.py
@@ -93,6 +93,7 @@
     'TaskService',
     'TelemetryService',
     'Thermal',
+    'Triggers',
     'TriggersCollection',
     'UpdateService',
     'VLanNetworkInterfaceCollection',
diff --git a/static/redfish/v1/$metadata/index.xml b/static/redfish/v1/$metadata/index.xml
index 4750602..445af04 100644
--- a/static/redfish/v1/$metadata/index.xml
+++ b/static/redfish/v1/$metadata/index.xml
@@ -2344,6 +2344,22 @@
         <edmx:Include Namespace="Thermal.v1_7_0"/>
         <edmx:Include Namespace="Thermal.v1_7_1"/>
     </edmx:Reference>
+    <edmx:Reference Uri="/redfish/v1/schema/Triggers_v1.xml">
+        <edmx:Include Namespace="Triggers"/>
+        <edmx:Include Namespace="Triggers.v1_0_0"/>
+        <edmx:Include Namespace="Triggers.v1_0_1"/>
+        <edmx:Include Namespace="Triggers.v1_0_2"/>
+        <edmx:Include Namespace="Triggers.v1_0_3"/>
+        <edmx:Include Namespace="Triggers.v1_0_4"/>
+        <edmx:Include Namespace="Triggers.v1_0_5"/>
+        <edmx:Include Namespace="Triggers.v1_0_6"/>
+        <edmx:Include Namespace="Triggers.v1_1_0"/>
+        <edmx:Include Namespace="Triggers.v1_1_1"/>
+        <edmx:Include Namespace="Triggers.v1_1_2"/>
+        <edmx:Include Namespace="Triggers.v1_1_3"/>
+        <edmx:Include Namespace="Triggers.v1_1_4"/>
+        <edmx:Include Namespace="Triggers.v1_2_0"/>
+    </edmx:Reference>
     <edmx:Reference Uri="/redfish/v1/schema/TriggersCollection_v1.xml">
         <edmx:Include Namespace="TriggersCollection"/>
     </edmx:Reference>
diff --git a/static/redfish/v1/JsonSchemas/Triggers/Triggers.json b/static/redfish/v1/JsonSchemas/Triggers/Triggers.json
new file mode 100644
index 0000000..6d0ee92
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Triggers/Triggers.json
@@ -0,0 +1,557 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/Triggers.v1_2_0.json",
+    "$ref": "#/definitions/Triggers",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "definitions": {
+        "Actions": {
+            "additionalProperties": false,
+            "description": "The available actions for this resource.",
+            "longDescription": "This type shall contain the available actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "DirectionOfCrossingEnum": {
+            "description": "The direction of crossing that corresponds to a trigger.",
+            "enum": [
+                "Increasing",
+                "Decreasing"
+            ],
+            "enumDescriptions": {
+                "Decreasing": "A trigger is met when the metric value crosses the trigger value while decreasing.",
+                "Increasing": "A trigger condition is met when the metric value crosses the trigger value while increasing."
+            },
+            "longDescription": "The value shall indicate the direction of crossing that corresponds to a trigger.",
+            "type": "string"
+        },
+        "DiscreteTrigger": {
+            "additionalProperties": false,
+            "description": "The characteristics of the discrete trigger.",
+            "longDescription": "This object shall contain the characteristics of the discrete trigger.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "DwellTime": {
+                    "description": "The amount of time that a trigger event persists before the metric action is performed.",
+                    "longDescription": "This property shall contain the amount of time that a trigger event persists before the TriggerActions are performed.",
+                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Name": {
+                    "description": "The name of trigger.",
+                    "longDescription": "This property shall contain a name for the trigger.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Severity": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Health"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The severity of the event message.",
+                    "longDescription": "This property shall contain the Severity property to be used in the event message.",
+                    "readonly": false
+                },
+                "Value": {
+                    "description": "The discrete metric value that constitutes a trigger event.",
+                    "longDescription": "This property shall contain the value discrete metric that constitutes a trigger event.  The DwellTime shall be measured from this point in time.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        },
+        "DiscreteTriggerConditionEnum": {
+            "description": "The condition, in relationship to the discrete trigger values, which constitutes a trigger.",
+            "enum": [
+                "Specified",
+                "Changed"
+            ],
+            "enumDescriptions": {
+                "Changed": "A discrete trigger condition is met whenever the metric value changes.",
+                "Specified": "A discrete trigger condition is met when the metric value becomes one of the values that the DiscreteTriggers property lists."
+            },
+            "longDescription": "This type shall specify the condition, in relationship to the discrete trigger values, which constitutes a trigger.",
+            "type": "string"
+        },
+        "Links": {
+            "additionalProperties": false,
+            "description": "The links to other resources that are related to this resource.",
+            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "MetricReportDefinitions": {
+                    "description": "The metric report definitions that generate new metric reports when a trigger condition is met and when the TriggerActions property contains `RedfishMetricReport`.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/MetricReportDefinition.json#/definitions/MetricReportDefinition"
+                    },
+                    "longDescription": "This property shall contain a set of links to metric report definitions that generate new metric reports when a trigger condition is met and when the TriggerActions property contains `RedfishMetricReport`.",
+                    "readonly": false,
+                    "type": "array",
+                    "versionAdded": "v1_1_0"
+                },
+                "MetricReportDefinitions@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
+                }
+            },
+            "type": "object"
+        },
+        "MetricTypeEnum": {
+            "description": "The type of metric for which the trigger is configured.",
+            "enum": [
+                "Numeric",
+                "Discrete"
+            ],
+            "enumDescriptions": {
+                "Discrete": "The trigger is for a discrete sensor.",
+                "Numeric": "The trigger is for numeric sensor."
+            },
+            "longDescription": "This type shall specify the type of metric for which the trigger is configured.",
+            "type": "string"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        },
+        "Threshold": {
+            "additionalProperties": false,
+            "description": "A threshold definition for a sensor.",
+            "longDescription": "This type shall contain the properties for an individual threshold for this sensor.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Activation": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/ThresholdActivation"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The direction of crossing that activates this threshold.",
+                    "longDescription": "This property shall indicate the direction of crossing of the reading for this sensor that activates the threshold.",
+                    "readonly": false
+                },
+                "DwellTime": {
+                    "description": "The duration the sensor value must violate the threshold before the threshold is activated.",
+                    "longDescription": "This property shall indicate the duration the sensor value violates the threshold before the threshold is activated.",
+                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Reading": {
+                    "description": "The threshold value.",
+                    "longDescription": "This property shall indicate the reading for this sensor that activates the threshold.  The value of the property shall use the same units as the MetricProperties property.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        },
+        "ThresholdActivation": {
+            "enum": [
+                "Increasing",
+                "Decreasing",
+                "Either"
+            ],
+            "enumDescriptions": {
+                "Decreasing": "Value decreases below the threshold.",
+                "Either": "Value crosses the threshold in either direction.",
+                "Increasing": "Value increases above the threshold."
+            },
+            "enumLongDescriptions": {
+                "Decreasing": "This threshold is activated when the reading changes from a value higher than the threshold to a value lower than the threshold.",
+                "Either": "This threshold is activated when either the Increasing or Decreasing conditions are met.",
+                "Increasing": "This threshold is activated when the reading changes from a value lower than the threshold to a value higher than the threshold."
+            },
+            "type": "string"
+        },
+        "Thresholds": {
+            "additionalProperties": false,
+            "description": "The set of thresholds for a sensor.",
+            "longDescription": "This type shall contain a set of thresholds for a sensor.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "LowerCritical": {
+                    "$ref": "#/definitions/Threshold",
+                    "description": "The value at which the reading is below normal range and requires attention.",
+                    "longDescription": "This property shall contain the value at which the MetricProperties property is below the normal range and may require attention.  The value of the property shall use the same units as the MetricProperties property."
+                },
+                "LowerWarning": {
+                    "$ref": "#/definitions/Threshold",
+                    "description": "The value at which the reading is below normal range.",
+                    "longDescription": "This property shall contain the value at which the MetricProperties property is below the normal range.  The value of the property shall use the same units as the MetricProperties property."
+                },
+                "UpperCritical": {
+                    "$ref": "#/definitions/Threshold",
+                    "description": "The value at which the reading is above normal range and requires attention.",
+                    "longDescription": "This property shall contain the value at which the MetricProperties property is above the normal range and may require attention.  The value of the property shall use the same units as the MetricProperties property."
+                },
+                "UpperWarning": {
+                    "$ref": "#/definitions/Threshold",
+                    "description": "The value at which the reading is above normal range.",
+                    "longDescription": "This property shall contain the value at which the MetricProperties property is above the normal range.  The value of the property shall use the same units as the MetricProperties property."
+                }
+            },
+            "type": "object"
+        },
+        "TriggerActionEnum": {
+            "description": "The actions to perform when a trigger condition is met.",
+            "enum": [
+                "LogToLogService",
+                "RedfishEvent",
+                "RedfishMetricReport"
+            ],
+            "enumDescriptions": {
+                "LogToLogService": "When a trigger condition is met, record in a log.",
+                "RedfishEvent": "When a trigger condition is met, the service sends an event to subscribers.",
+                "RedfishMetricReport": "When a trigger condition is met, force an update of the specified metric reports."
+            },
+            "enumLongDescriptions": {
+                "LogToLogService": "This value indicates that when a trigger condition is met, the service shall log the occurrence of the condition to the log that the LogService property in the telemetry service resource describes.",
+                "RedfishEvent": "This value indicates that when a trigger condition is met, the service shall send an event to subscribers.",
+                "RedfishMetricReport": "This value indicates that when a trigger condition is met, the service shall force the metric reports managed by the MetricReportDefinitions specified by the MetricReportDefinitions property to be updated, regardless of the MetricReportDefinitionType property value.  The actions specified in the ReportActions property of each MetricReportDefinition shall be performed."
+            },
+            "enumVersionAdded": {
+                "RedfishMetricReport": "v1_1_0"
+            },
+            "longDescription": "This type shall specify the actions to perform when a trigger condition is met.",
+            "type": "string"
+        },
+        "Triggers": {
+            "additionalProperties": false,
+            "description": "The Triggers schema describes a trigger that applies to metrics.",
+            "longDescription": "This resource shall contain a trigger that applies to metrics.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "This property shall contain the available actions for this resource."
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "DiscreteTriggerCondition": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/DiscreteTriggerConditionEnum"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The conditions when a discrete metric triggers.",
+                    "longDescription": "This property shall contain the conditions when a discrete metric triggers.",
+                    "readonly": true
+                },
+                "DiscreteTriggers": {
+                    "description": "The list of discrete triggers.",
+                    "items": {
+                        "$ref": "#/definitions/DiscreteTrigger"
+                    },
+                    "longDescription": "This property shall contain a list of values to which to compare a metric reading.  This property shall be present when the DiscreteTriggerCondition property is `Specified`.",
+                    "type": "array"
+                },
+                "EventTriggers": {
+                    "description": "The array of MessageIds that specify when a trigger condition is met based on an event.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "This property shall contain an array of MessageIds that specify when a trigger condition is met based on an event.  When the service generates an event and if it contains a MessageId within this array, a trigger condition shall be met.  The MetricType property should not be present if this resource is configured for event-based triggers.",
+                    "pattern": "^[A-Za-z0-9]+\\.\\d+\\.\\d+\\.[A-Za-z0-9.]+$",
+                    "readonly": false,
+                    "type": "array",
+                    "versionAdded": "v1_1_0"
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "Links": {
+                    "$ref": "#/definitions/Links",
+                    "description": "The links to other resources that are related to this resource.",
+                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
+                    "versionAdded": "v1_1_0"
+                },
+                "MetricIds": {
+                    "description": "The label for the metric definitions that contain the property identifiers for this trigger.  It matches the Id property of the corresponding metric definition.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "This property shall contain the labels for the metric definitions that contain the property identifiers for this trigger.  This property shall match the value of the Id property of the corresponding metric definitions.",
+                    "readonly": false,
+                    "type": "array",
+                    "versionAdded": "v1_2_0"
+                },
+                "MetricProperties": {
+                    "description": "An array of URIs with wildcards and property identifiers for this trigger.  Each wildcard shall be replaced with its corresponding entry in the Wildcard array property.",
+                    "format": "uri-reference",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "This property shall contain an array of URIs with wildcards and property identifiers for this trigger.  Use a set of curly braces to delimit each wildcard in the URI.  Replace each wildcard with its corresponding entry in the Wildcard array property.  A URI that contains wildcards shall link to a resource property to which the metric definition applies after all wildcards are replaced with their corresponding entries in the Wildcard array property.  The property identifiers portion of the URI shall follow the RFC6901-defined JSON fragment notation rules.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "MetricType": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/MetricTypeEnum"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The metric type of the trigger.",
+                    "longDescription": "This property shall contain the metric type of the trigger.",
+                    "readonly": true
+                },
+                "Name": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
+                    "readonly": true
+                },
+                "NumericThresholds": {
+                    "$ref": "#/definitions/Thresholds",
+                    "description": "The thresholds when a numeric metric triggers.",
+                    "longDescription": "This property shall contain the list of thresholds to which to compare a numeric metric value."
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "The status and health of the resource and its subordinate or dependent resources.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                },
+                "TriggerActions": {
+                    "description": "The actions that the trigger initiates.",
+                    "items": {
+                        "$ref": "#/definitions/TriggerActionEnum"
+                    },
+                    "longDescription": "This property shall contain the actions that the trigger initiates.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "Wildcards": {
+                    "description": "The wildcards and their substitution values for the entries in the MetricProperties array property.",
+                    "items": {
+                        "$ref": "#/definitions/Wildcard"
+                    },
+                    "longDescription": "This property shall contain the wildcards and their substitution values for the entries in the MetricProperties array property.  Each wildcard shall have a corresponding entry in this array property.",
+                    "type": "array"
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "Wildcard": {
+            "additionalProperties": false,
+            "description": "The wildcard and its substitution values.",
+            "longDescription": "This property shall contain a wildcard and its substitution values.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Name": {
+                    "description": "The wildcard.",
+                    "longDescription": "This property shall contain the string used as a wildcard.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Values": {
+                    "description": "An array of values to substitute for the wildcard.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "This array property shall contain the list of values to substitute for the wildcard.",
+                    "readonly": true,
+                    "type": "array"
+                }
+            },
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2021.2",
+    "title": "#Triggers.v1_2_0.Triggers"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Triggers/index.json b/static/redfish/v1/JsonSchemas/Triggers/index.json
new file mode 100644
index 0000000..57ff11a
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Triggers/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/Triggers",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "Triggers Schema File",
+    "Schema": "#Triggers.Triggers",
+    "Description": "Triggers Schema File Location",
+    "Id": "Triggers",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/Triggers.json",
+            "Uri": "/redfish/v1/JsonSchemas/Triggers/Triggers.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/index.json b/static/redfish/v1/JsonSchemas/index.json
index 86c5342..8811f26 100644
--- a/static/redfish/v1/JsonSchemas/index.json
+++ b/static/redfish/v1/JsonSchemas/index.json
@@ -4,7 +4,7 @@
   "@odata.type": "#JsonSchemaFileCollection.JsonSchemaFileCollection",
   "Name": "JsonSchemaFile Collection",
   "Description": "Collection of JsonSchemaFiles",
-  "Members@odata.count": 57,
+  "Members@odata.count": 58,
   "Members": [
     {
       "@odata.id": "/redfish/v1/JsonSchemas/AccountService"
@@ -157,6 +157,9 @@
       "@odata.id": "/redfish/v1/JsonSchemas/Thermal"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/Triggers"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/UpdateService"
     },
     {
diff --git a/static/redfish/v1/schema/Triggers_v1.xml b/static/redfish/v1/schema/Triggers_v1.xml
new file mode 100644
index 0000000..fa19539
--- /dev/null
+++ b/static/redfish/v1/schema/Triggers_v1.xml
@@ -0,0 +1,393 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!---->
+<!--################################################################################       -->
+<!--# Redfish Schema:  Triggers v1.2.0                                                     -->
+<!--#                                                                                      -->
+<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,      -->
+<!--# available at http://www.dmtf.org/standards/redfish                                   -->
+<!--# Copyright 2014-2021 DMTF.                                                            -->
+<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
+<!--################################################################################       -->
+<!---->
+<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
+
+  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
+    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
+  </edmx:Reference>
+  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
+    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
+  </edmx:Reference>
+  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
+    <edmx:Include Namespace="Resource"/>
+    <edmx:Include Namespace="Resource.v1_0_0"/>
+  </edmx:Reference>
+  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
+    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
+    <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
+  </edmx:Reference>
+  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/MetricReportDefinition_v1.xml">
+    <edmx:Include Namespace="MetricReportDefinition"/>
+  </edmx:Reference>
+
+  <edmx:DataServices>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Triggers">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+
+      <EntityType Name="Triggers" BaseType="Resource.v1_0_0.Resource" Abstract="true">
+        <Annotation Term="OData.Description" String="The Triggers schema describes a trigger that applies to metrics."/>
+        <Annotation Term="OData.LongDescription" String="This resource shall contain a trigger that applies to metrics."/>
+        <Annotation Term="Capabilities.InsertRestrictions">
+          <Record>
+            <PropertyValue Property="Insertable" Bool="false"/>
+          </Record>
+        </Annotation>
+        <Annotation Term="Capabilities.UpdateRestrictions">
+          <Record>
+            <PropertyValue Property="Updatable" Bool="true"/>
+            <Annotation Term="OData.Description" String="Triggers can be updated to configure them."/>
+          </Record>
+        </Annotation>
+        <Annotation Term="Capabilities.DeleteRestrictions">
+          <Record>
+            <PropertyValue Property="Deletable" Bool="true"/>
+            <Annotation Term="OData.Description" String="Triggers can be deleted."/>
+          </Record>
+        </Annotation>
+        <Annotation Term="Redfish.Uris">
+          <Collection>
+            <String>/redfish/v1/TelemetryService/Triggers/{TriggersId}</String>
+          </Collection>
+        </Annotation>
+      </EntityType>
+    </Schema>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Triggers.v1_0_0">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+      <Annotation Term="Redfish.Release" String="2018.2"/>
+
+      <EntityType Name="Triggers" BaseType="Triggers.Triggers">
+        <Property Name="MetricType" Type="Triggers.v1_0_0.MetricTypeEnum">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+          <Annotation Term="OData.Description" String="The metric type of the trigger."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the metric type of the trigger."/>
+        </Property>
+        <Property Name="TriggerActions" Type="Collection(Triggers.v1_0_0.TriggerActionEnum)" Nullable="false">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+          <Annotation Term="OData.Description" String="The actions that the trigger initiates."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the actions that the trigger initiates."/>
+        </Property>
+        <Property Name="NumericThresholds" Type="Triggers.v1_0_0.Thresholds" Nullable="false">
+          <Annotation Term="OData.Description" String="The thresholds when a numeric metric triggers."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the list of thresholds to which to compare a numeric metric value."/>
+        </Property>
+        <Property Name="DiscreteTriggerCondition" Type="Triggers.v1_0_0.DiscreteTriggerConditionEnum">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+          <Annotation Term="OData.Description" String="The conditions when a discrete metric triggers."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the conditions when a discrete metric triggers."/>
+        </Property>
+        <Property Name="DiscreteTriggers" Type="Collection(Triggers.v1_0_0.DiscreteTrigger)" Nullable="false">
+          <Annotation Term="OData.Description" String="The list of discrete triggers."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain a list of values to which to compare a metric reading.  This property shall be present when the DiscreteTriggerCondition property is `Specified`."/>
+        </Property>
+
+        <Property Name="Status" Type="Resource.Status" Nullable="false">
+          <Annotation Term="OData.Description" String="The status and health of the resource and its subordinate or dependent resources."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain any status or health properties of the resource."/>
+        </Property>
+
+        <Property Name="Wildcards" Type="Collection(Triggers.v1_0_0.Wildcard)" Nullable="false">
+          <Annotation Term="OData.Description" String="The wildcards and their substitution values for the entries in the MetricProperties array property."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the wildcards and their substitution values for the entries in the MetricProperties array property.  Each wildcard shall have a corresponding entry in this array property."/>
+        </Property>
+        <Property Name="MetricProperties" Type="Collection(Edm.String)">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
+          <Annotation Term="OData.Description" String="An array of URIs with wildcards and property identifiers for this trigger.  Each wildcard shall be replaced with its corresponding entry in the Wildcard array property."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain an array of URIs with wildcards and property identifiers for this trigger.  Use a set of curly braces to delimit each wildcard in the URI.  Replace each wildcard with its corresponding entry in the Wildcard array property.  A URI that contains wildcards shall link to a resource property to which the metric definition applies after all wildcards are replaced with their corresponding entries in the Wildcard array property.  The property identifiers portion of the URI shall follow the RFC6901-defined JSON fragment notation rules."/>
+          <Annotation Term="OData.IsURL"/>
+        </Property>
+        <Property Name="Actions" Type="Triggers.v1_0_0.Actions" Nullable="false">
+          <Annotation Term="OData.Description" String="The available actions for this resource."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
+        </Property>
+      </EntityType>
+
+      <EnumType Name="MetricTypeEnum">
+        <Annotation Term="OData.Description" String="The type of metric for which the trigger is configured."/>
+        <Annotation Term="OData.LongDescription" String="This type shall specify the type of metric for which the trigger is configured."/>
+        <Member Name="Numeric">
+          <Annotation Term="OData.Description" String="The trigger is for numeric sensor."/>
+        </Member>
+        <Member Name="Discrete">
+          <Annotation Term="OData.Description" String="The trigger is for a discrete sensor."/>
+        </Member>
+      </EnumType>
+
+      <EnumType Name="TriggerActionEnum">
+        <Annotation Term="OData.Description" String="The actions to perform when a trigger condition is met."/>
+        <Annotation Term="OData.LongDescription" String="This type shall specify the actions to perform when a trigger condition is met."/>
+        <Member Name="LogToLogService">
+          <Annotation Term="OData.Description" String="When a trigger condition is met, record in a log."/>
+          <Annotation Term="OData.LongDescription" String="This value indicates that when a trigger condition is met, the service shall log the occurrence of the condition to the log that the LogService property in the telemetry service resource describes."/>
+        </Member>
+        <Member Name="RedfishEvent">
+          <Annotation Term="OData.Description" String="When a trigger condition is met, the service sends an event to subscribers."/>
+          <Annotation Term="OData.LongDescription" String="This value indicates that when a trigger condition is met, the service shall send an event to subscribers."/>
+        </Member>
+        <Member Name="RedfishMetricReport">
+          <Annotation Term="OData.Description" String="When a trigger condition is met, force an update of the specified metric reports."/>
+          <Annotation Term="OData.LongDescription" String="This value indicates that when a trigger condition is met, the service shall force the metric reports managed by the MetricReportDefinitions specified by the MetricReportDefinitions property to be updated, regardless of the MetricReportDefinitionType property value.  The actions specified in the ReportActions property of each MetricReportDefinition shall be performed."/>
+          <Annotation Term="Redfish.Revisions">
+            <Collection>
+              <Record>
+                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
+                <PropertyValue Property="Version" String="v1_1_0"/>
+              </Record>
+            </Collection>
+          </Annotation>
+        </Member>
+      </EnumType>
+
+      <EnumType Name="DiscreteTriggerConditionEnum">
+        <Annotation Term="OData.Description" String="The condition, in relationship to the discrete trigger values, which constitutes a trigger."/>
+        <Annotation Term="OData.LongDescription" String="This type shall specify the condition, in relationship to the discrete trigger values, which constitutes a trigger."/>
+        <Member Name="Specified">
+          <Annotation Term="OData.Description" String="A discrete trigger condition is met when the metric value becomes one of the values that the DiscreteTriggers property lists."/>
+        </Member>
+        <Member Name="Changed">
+          <Annotation Term="OData.Description" String="A discrete trigger condition is met whenever the metric value changes."/>
+        </Member>
+      </EnumType>
+
+      <ComplexType Name="Thresholds">
+        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
+        <Annotation Term="OData.Description" String="The set of thresholds for a sensor."/>
+        <Annotation Term="OData.LongDescription" String="This type shall contain a set of thresholds for a sensor."/>
+        <Property Name="UpperWarning" Type="Triggers.v1_0_0.Threshold" Nullable="false">
+          <Annotation Term="OData.Description" String="The value at which the reading is above normal range."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the value at which the MetricProperties property is above the normal range.  The value of the property shall use the same units as the MetricProperties property."/>
+        </Property>
+        <Property Name="UpperCritical" Type="Triggers.v1_0_0.Threshold" Nullable="false">
+          <Annotation Term="OData.Description" String="The value at which the reading is above normal range and requires attention."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the value at which the MetricProperties property is above the normal range and may require attention.  The value of the property shall use the same units as the MetricProperties property."/>
+        </Property>
+        <Property Name="LowerWarning" Type="Triggers.v1_0_0.Threshold" Nullable="false">
+          <Annotation Term="OData.Description" String="The value at which the reading is below normal range."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the value at which the MetricProperties property is below the normal range.  The value of the property shall use the same units as the MetricProperties property."/>
+        </Property>
+        <Property Name="LowerCritical" Type="Triggers.v1_0_0.Threshold" Nullable="false">
+          <Annotation Term="OData.Description" String="The value at which the reading is below normal range and requires attention."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the value at which the MetricProperties property is below the normal range and may require attention.  The value of the property shall use the same units as the MetricProperties property."/>
+        </Property>
+      </ComplexType>
+
+      <ComplexType Name="Threshold">
+        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
+        <Annotation Term="OData.Description" String="A threshold definition for a sensor."/>
+        <Annotation Term="OData.LongDescription" String="This type shall contain the properties for an individual threshold for this sensor."/>
+        <Property Name="Reading" Type="Edm.Decimal">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
+          <Annotation Term="OData.Description" String="The threshold value."/>
+          <Annotation Term="OData.LongDescription" String="This property shall indicate the reading for this sensor that activates the threshold.  The value of the property shall use the same units as the MetricProperties property."/>
+        </Property>
+        <Property Name="Activation" Type="Triggers.v1_0_0.ThresholdActivation">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
+          <Annotation Term="OData.Description" String="The direction of crossing that activates this threshold."/>
+          <Annotation Term="OData.LongDescription" String="This property shall indicate the direction of crossing of the reading for this sensor that activates the threshold."/>
+        </Property>
+        <Property Name="DwellTime" Type="Edm.Duration">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
+          <Annotation Term="OData.Description" String="The duration the sensor value must violate the threshold before the threshold is activated."/>
+          <Annotation Term="OData.LongDescription" String="This property shall indicate the duration the sensor value violates the threshold before the threshold is activated."/>
+        </Property>
+      </ComplexType>
+
+      <ComplexType Name="Actions">
+        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
+        <Annotation Term="OData.Description" String="The available actions for this resource."/>
+        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
+        <Property Name="Oem" Type="Triggers.v1_0_0.OemActions" Nullable="false">
+          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
+        </Property>
+      </ComplexType>
+
+      <ComplexType Name="OemActions">
+        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
+        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
+        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
+      </ComplexType>
+
+      <EnumType Name="ThresholdActivation">
+        <Member Name="Increasing">
+          <Annotation Term="OData.Description" String="Value increases above the threshold."/>
+          <Annotation Term="OData.LongDescription" String="This threshold is activated when the reading changes from a value lower than the threshold to a value higher than the threshold."/>
+        </Member>
+        <Member Name="Decreasing">
+          <Annotation Term="OData.Description" String="Value decreases below the threshold."/>
+          <Annotation Term="OData.LongDescription" String="This threshold is activated when the reading changes from a value higher than the threshold to a value lower than the threshold."/>
+        </Member>
+        <Member Name="Either">
+          <Annotation Term="OData.Description" String="Value crosses the threshold in either direction."/>
+          <Annotation Term="OData.LongDescription" String="This threshold is activated when either the Increasing or Decreasing conditions are met."/>
+        </Member>
+      </EnumType>
+
+      <EnumType Name="DirectionOfCrossingEnum">
+        <Annotation Term="OData.Description" String="The direction of crossing that corresponds to a trigger."/>
+        <Annotation Term="OData.LongDescription" String="The value shall indicate the direction of crossing that corresponds to a trigger."/>
+        <Member Name="Increasing">
+          <Annotation Term="OData.Description" String="A trigger condition is met when the metric value crosses the trigger value while increasing."/>
+        </Member>
+        <Member Name="Decreasing">
+          <Annotation Term="OData.Description" String="A trigger is met when the metric value crosses the trigger value while decreasing."/>
+        </Member>
+      </EnumType>
+
+      <ComplexType Name="DiscreteTrigger">
+        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
+        <Annotation Term="OData.Description" String="The characteristics of the discrete trigger."/>
+        <Annotation Term="OData.LongDescription" String="This object shall contain the characteristics of the discrete trigger."/>
+        <Property Name="Name" Type="Edm.String">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+          <Annotation Term="OData.Description" String="The name of trigger."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain a name for the trigger."/>
+        </Property>
+        <Property Name="Value" Type="Edm.String">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
+          <Annotation Term="OData.Description" String="The discrete metric value that constitutes a trigger event."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the value discrete metric that constitutes a trigger event.  The DwellTime shall be measured from this point in time."/>
+        </Property>
+        <Property Name="DwellTime" Type="Edm.Duration">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
+          <Annotation Term="OData.Description" String="The amount of time that a trigger event persists before the metric action is performed."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the amount of time that a trigger event persists before the TriggerActions are performed."/>
+        </Property>
+        <Property Name="Severity" Type="Resource.Health">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
+          <Annotation Term="OData.Description" String="The severity of the event message."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the Severity property to be used in the event message."/>
+        </Property>
+      </ComplexType>
+
+      <ComplexType Name="Wildcard">
+        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
+        <Annotation Term="OData.Description" String="The wildcard and its substitution values."/>
+        <Annotation Term="OData.LongDescription" String="This property shall contain a wildcard and its substitution values."/>
+        <Property Name="Name" Type="Edm.String">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+          <Annotation Term="OData.Description" String="The wildcard."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the string used as a wildcard."/>
+        </Property>
+        <Property Name="Values" Type="Collection(Edm.String)">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+          <Annotation Term="OData.Description" String="An array of values to substitute for the wildcard."/>
+          <Annotation Term="OData.LongDescription" String="This array property shall contain the list of values to substitute for the wildcard."/>
+        </Property>
+      </ComplexType>
+    </Schema>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Triggers.v1_0_1">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+      <Annotation Term="OData.Description" String="This version was created to clarify descriptions of several properties."/>
+      <EntityType Name="Triggers" BaseType="Triggers.v1_0_0.Triggers"/>
+    </Schema>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Triggers.v1_0_2">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format, and to add a missing term to several properties to disallow them from being null."/>
+      <EntityType Name="Triggers" BaseType="Triggers.v1_0_1.Triggers"/>
+    </Schema>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Triggers.v1_0_3">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
+      <EntityType Name="Triggers" BaseType="Triggers.v1_0_2.Triggers"/>
+    </Schema>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Triggers.v1_0_4">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
+      <EntityType Name="Triggers" BaseType="Triggers.v1_0_3.Triggers"/>
+    </Schema>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Triggers.v1_0_5">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
+      <EntityType Name="Triggers" BaseType="Triggers.v1_0_4.Triggers"/>
+    </Schema>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Triggers.v1_0_6">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+      <Annotation Term="OData.Description" String="This version was created to correct various description to use proper normative terminology."/>
+      <EntityType Name="Triggers" BaseType="Triggers.v1_0_5.Triggers"/>
+    </Schema>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Triggers.v1_1_0">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+      <Annotation Term="Redfish.Release" String="2019.1"/>
+
+      <EntityType Name="Triggers" BaseType="Triggers.v1_0_2.Triggers">
+        <Property Name="EventTriggers" Type="Collection(Edm.String)">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
+          <Annotation Term="OData.Description" String="The array of MessageIds that specify when a trigger condition is met based on an event."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain an array of MessageIds that specify when a trigger condition is met based on an event.  When the service generates an event and if it contains a MessageId within this array, a trigger condition shall be met.  The MetricType property should not be present if this resource is configured for event-based triggers."/>
+          <Annotation Term="Validation.Pattern" String="^[A-Za-z0-9]+\.\d+\.\d+\.[A-Za-z0-9.]+$"/>
+        </Property>
+        <Property Name="Links" Type="Triggers.v1_1_0.Links" Nullable="false">
+          <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
+        </Property>
+      </EntityType>
+
+      <ComplexType Name="Links" BaseType="Resource.Links">
+        <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
+        <Annotation Term="OData.LongDescription" String="This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
+        <NavigationProperty Name="MetricReportDefinitions" Type="Collection(MetricReportDefinition.MetricReportDefinition)">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
+          <Annotation Term="OData.Description" String="The metric report definitions that generate new metric reports when a trigger condition is met and when the TriggerActions property contains `RedfishMetricReport`."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain a set of links to metric report definitions that generate new metric reports when a trigger condition is met and when the TriggerActions property contains `RedfishMetricReport`."/>
+          <Annotation Term="OData.AutoExpandReferences"/>
+        </NavigationProperty>
+      </ComplexType>
+    </Schema>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Triggers.v1_1_1">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
+      <EntityType Name="Triggers" BaseType="Triggers.v1_1_0.Triggers"/>
+    </Schema>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Triggers.v1_1_2">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
+      <EntityType Name="Triggers" BaseType="Triggers.v1_1_1.Triggers"/>
+    </Schema>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Triggers.v1_1_3">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
+      <EntityType Name="Triggers" BaseType="Triggers.v1_1_2.Triggers"/>
+    </Schema>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Triggers.v1_1_4">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+      <Annotation Term="OData.Description" String="This version was created to correct various description to use proper normative terminology.  It was also created to clarify the usage of MetricType for event-based triggers."/>
+      <EntityType Name="Triggers" BaseType="Triggers.v1_1_3.Triggers"/>
+    </Schema>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Triggers.v1_2_0">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+      <Annotation Term="Redfish.Release" String="2021.2"/>
+
+      <EntityType Name="Triggers" BaseType="Triggers.v1_1_4.Triggers">
+        <Property Name="MetricIds" Type="Collection(Edm.String)">
+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
+          <Annotation Term="OData.Description" String="The label for the metric definitions that contain the property identifiers for this trigger.  It matches the Id property of the corresponding metric definition."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the labels for the metric definitions that contain the property identifiers for this trigger.  This property shall match the value of the Id property of the corresponding metric definitions."/>
+        </Property>
+      </EntityType>
+    </Schema>
+
+  </edmx:DataServices>
+</edmx:Edmx>
