{
  "$udmi_version": "1.5.7",
  "title": "Notifs Config",
  "description": "[Notifs Config Documentation](../docs/messages/notifs.md#config)",
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false,
  "properties": {
    "timestamp": {
      "description": "RFC 3339 UTC timestamp the configuration was generated",
      "type": "string",
      "format": "date-time",
      "examples": ["2019-01-17T14:02:29.364Z"]
    },
    "version": {
      "description": "Version of the UDMI schema",
      "type": "string"
    },
    "state_etag": {
      "description": "The `state_etag` of the last _state_ message sent by the device. [Writeback documentation](../docs/specs/sequences/writeback.md)",
      "type": "string",
      "maxLength": 32
    },
    "set_value_expiry": {
      "description": "An expiry for the the device to revert to baseline (no set value). [Writeback documentation](../docs/specs/sequences/writeback.md)",
      "type": "string",
      "format": "date-time"
    },
    "sample_limit_sec": {
      "description": "Minimum time between sample updates for the device (including complete and COV updates). Updates more frequent than this should be coalesced into one update.",
      "type": "integer",
      "minimum": 0,
      "maximum": 86400
    },
    "sample_rate_sec": {
      "description": "Maximum time between samples for the device to send out a complete update. It can send out updates more frequently than this. Default to 300.",
      "type": "integer",
      "minimum": 1,
      "maximum": 86400,
      "default": 300
    },
    "notifs": {
      "description": "The notifications defined in this dictionary indicate the configured notification targets for the device. [Notifs documentation](../docs/messages/notifs.md)",
      "additionalProperties": false,
      "existingJavaType": "java.util.HashMap<String, NotifNotifsConfig>",
      "patternProperties": {
        "^[0-9a-f]{8}$": {
          "$ref": "file:config_notifs_notif.json#"
        }
      }
    }
  }
}
