An Alarm defines a policy that applies to a set of entities that are monitored, such as virtual machines in a project. A notification is generated when the condition of an Alarm is observed for a given entity.

A user may configure an Alarm to post notifications to an external HTTP endpoint. AppFormix will POST a JSON payload to the endpoint for each notification. The schema of the payload is the following. (Note: "string" and 0 are generic placeholders to indicate type of value; string and number, respectively.)

    "apiVersion": "v1",
    "kind": "Alarm",
    "spec": {
        "name": "string",
        "eventRuleId": "string",
        "severity": "string",
        "metricType": "string",
        "mode": "string",
        "module": "string",
        "aggregationFunction": "string",
        "comparisonFunction": "string",
        "threshold": 0,
        "intervalDuration": 0,
        "intervalCount": 0,
        "intervalsWithException": 0
    "status": {
        "timestamp": 0,
        "state": "string",
        "entityType": "string",
        "entityId": "string",
        "entityDetails": {}

The "spec" object describes the Alarm configuration for which this notification is generated. The "status" object describes the temporal event information for this particular notification, such as the time when the condition was observed and the entity on which the condition was observed.