/*
* InfluxDB OSS API Service
*
* The InfluxDB v2 API provides a programmatic interface for all interactions with InfluxDB. Access the InfluxDB API using the `/api/v2/` endpoint.
*
* OpenAPI spec version: 2.0.0
*
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Linq;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Runtime.Serialization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using JsonSubTypes;
using OpenAPIDateConverter = InfluxDB.Client.Api.Client.OpenAPIDateConverter;
namespace InfluxDB.Client.Api.Domain
{
///
/// NotificationRule
///
[DataContract]
[JsonConverter(typeof(JsonSubtypes), "type")]
[JsonSubtypes.KnownSubType(typeof(SlackNotificationRule), "slack")]
[JsonSubtypes.KnownSubType(typeof(PagerDutyNotificationRule), "pagerduty")]
[JsonSubtypes.KnownSubType(typeof(SMTPNotificationRule), "smtp")]
[JsonSubtypes.KnownSubType(typeof(HTTPNotificationRule), "http")]
[JsonSubtypes.KnownSubType(typeof(TelegramNotificationRule), "telegram")]
public partial class NotificationRule : NotificationRuleDiscriminator, IEquatable
{
///
/// Initializes a new instance of the class.
///
[JsonConstructorAttribute]
protected NotificationRule()
{
}
///
/// Initializes a new instance of the class.
///
public NotificationRule(string endpointID = default, string orgID = default, string taskID = default,
TaskStatusType status = default, string name = default, string sleepUntil = default, string every = default,
string offset = default, string runbookLink = default, int? limitEvery = default, int? limit = default,
List tagRules = default, string description = default, List statusRules = default,
List