/// <summary> /// Initializes a new instance of the <see cref="DeadmanCheck" /> class. /// </summary> /// <param name="type">type.</param> /// <param name="timeSince">string duration before deadman triggers..</param> /// <param name="staleTime">string duration for time that a series is considered stale and should not trigger deadman..</param> /// <param name="reportZero">If only zero values reported since time, trigger an alert.</param> /// <param name="level">level.</param> public DeadmanCheck(TypeEnum?type = default(TypeEnum?), string timeSince = default(string), string staleTime = default(string), bool?reportZero = default(bool?), CheckStatusLevel level = default(CheckStatusLevel), string name = default(string), string orgID = default(string), DashboardQuery query = default(DashboardQuery), TaskStatusType?status = default(TaskStatusType?), string every = default(string), string offset = default(string), List <CheckBaseTags> tags = default(List <CheckBaseTags>), string description = default(string), string statusMessageTemplate = default(string), List <Label> labels = default(List <Label>), CheckBaseLinks links = default(CheckBaseLinks)) : base(name, orgID, query, status, every, offset, tags, description, statusMessageTemplate, labels, links) { this.Type = type; this.TimeSince = timeSince; this.StaleTime = staleTime; this.ReportZero = reportZero; this.Level = level; }
/// <summary> /// Add new Deadman check. /// </summary> /// <param name="name">the check name</param> /// <param name="query">The text of the flux query</param> /// <param name="every">Check repetition interval</param> /// <param name="timeSince">string duration before deadman triggers</param> /// <param name="staleTime">string duration for time that a series is considered stale and should not trigger deadman</param> /// <param name="messageTemplate">template that is used to generate and write a status message</param> /// <param name="level">the state to record if check matches a criteria</param> /// <param name="orgId">the organization that owns this check</param> /// <returns>DeadmanCheck created</returns> public async Task <DeadmanCheck> CreateDeadmanCheckAsync(string name, string query, string every, string timeSince, string staleTime, string messageTemplate, CheckStatusLevel level, string orgId) { Arguments.CheckNonEmptyString(name, nameof(name)); Arguments.CheckNonEmptyString(query, nameof(query)); Arguments.CheckNonEmptyString(every, nameof(every)); Arguments.CheckNonEmptyString(timeSince, nameof(timeSince)); Arguments.CheckNonEmptyString(staleTime, nameof(staleTime)); Arguments.CheckNonEmptyString(messageTemplate, nameof(messageTemplate)); Arguments.CheckNonEmptyString(orgId, nameof(orgId)); Arguments.CheckNotNull(level, nameof(level)); var check = new DeadmanCheck(level: level, staleTime: staleTime, timeSince: timeSince, name: name, every: every, type: DeadmanCheck.TypeEnum.Deadman, orgID: orgId, query: CreateDashboardQuery(query), statusMessageTemplate: messageTemplate, status: TaskStatusType.Active); return((DeadmanCheck) await CreateCheckAsync(check)); }