type Alarm {
    items: [AlarmItem!]!
    total: Int!
}

type AlarmItem {
    id: ID!
    # Typical include: Application Code + cause type. This is a short description.
    title: String!
    # Include all related info to trigger this alarm.
    # such as: threshold, trigger value, relation(greater or lower), last time
    content: String!
    startTime: String!
    alarmType: AlarmType!
    causeType: CauseType!
}

enum AlarmType {
    APPLICATION,
    SERVER,
    SERVICE
}

enum CauseType {
    LOW_SUCCESS_RATE,
    SLOW_RESPONSE
}

extend type Query {
    loadAlarmList(keyword: String, alarmType: AlarmType, duration:Duration!, paging: Pagination!): Alarm
}
