{
  "schema": {
    "title": "Alarm Configuration",
    "type": "object",
    "properties": {
      "newAlarmExpression": {
        "title": "Alarm trigger expression",
        "type": "string",
        "default": ""
      },
      "clearAlarmExpression": {
        "title": "Alarm clear expression",
        "type": "string",
        "default": ""
      },
      "alarmTypeTemplate": {
        "title": "Alarm type",
        "type": "string"
      },
      "alarmSeverity": {
        "title": "Severity",
        "type": "string"
      },
      "alarmStatus": {
        "title": "Status",
        "type": "string"
      },
      "alarmPropagateFlag": {
        "title": "Propagate Alarm",
        "type": "boolean",
        "default": true
      },
      "newAlarmFlag": {
        "title": "New Alarm on each event",
        "type": "boolean",
        "default": false
      },
      "alarmDetailsTemplate": {
        "title": "Alarm details (JSON)",
        "type": "string",
        "default": "{}"
      }
    },
    "required": [
      "newAlarmExpression",
      "clearAlarmExpression",
      "alarmSeverity",
      "alarmStatus",
      "alarmTypeTemplate",
      "alarmDetailsTemplate"
    ]
  },
  "form": [
    {
      "key": "newAlarmExpression",
      "type": "javascript"
    },
    {
      "key": "clearAlarmExpression",
      "type": "javascript"
    },
    {
      "key": "alarmSeverity",
      "type": "rc-select",
      "multiple": false,
      "items": [
        {
          "value": "CRITICAL",
          "label": "Critical"
        },
        {
          "value": "MAJOR",
          "label": "Major"
        },
        {
          "value": "MINOR",
          "label": "Minor"
        },
        {
          "value": "WARNING",
          "label": "Warning"
        },
        {
          "value": "INDETERMINATE",
          "label": "Indeterminate"
        }
      ]
    },
    {
      "key": "alarmStatus",
      "type": "rc-select",
      "multiple": false,
      "items": [
        {
          "value": "ACTIVE_UNACK",
          "label": "Active Unacknowledged"
        },
        {
          "value": "ACTIVE_ACK",
          "label": "Active Acknowledged"
        },
        {
          "value": "CLEARED_UNACK",
          "label": "Cleared Unacknowledged"
        },
        {
          "value": "CLEARED_ACK",
          "label": "Cleared Acknowledged"
        }
      ]
    },
    "alarmTypeTemplate",
    "alarmPropagateFlag",
    "newAlarmFlag",
    {
      "key": "alarmDetailsTemplate",
      "type": "textarea",
      "rows": 5
    }
  ]
}