/* * 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 OpenAPIDateConverter = InfluxDB.Client.Api.Client.OpenAPIDateConverter; namespace InfluxDB.Client.Api.Domain { /// /// StatusRule /// [DataContract] public partial class StatusRule : IEquatable { /// /// Gets or Sets CurrentLevel /// [DataMember(Name = "currentLevel", EmitDefaultValue = false)] public RuleStatusLevel? CurrentLevel { get; set; } /// /// Gets or Sets PreviousLevel /// [DataMember(Name = "previousLevel", EmitDefaultValue = false)] public RuleStatusLevel? PreviousLevel { get; set; } /// /// Initializes a new instance of the class. /// /// currentLevel. /// previousLevel. /// count. /// period. public StatusRule(RuleStatusLevel? currentLevel = default, RuleStatusLevel? previousLevel = default, int? count = default, string period = default) { CurrentLevel = currentLevel; PreviousLevel = previousLevel; Count = count; Period = period; } /// /// Gets or Sets Count /// [DataMember(Name = "count", EmitDefaultValue = false)] public int? Count { get; set; } /// /// Gets or Sets Period /// [DataMember(Name = "period", EmitDefaultValue = false)] public string Period { get; set; } /// /// Returns the string presentation of the object /// /// String presentation of the object public override string ToString() { var sb = new StringBuilder(); sb.Append("class StatusRule {\n"); sb.Append(" CurrentLevel: ").Append(CurrentLevel).Append("\n"); sb.Append(" PreviousLevel: ").Append(PreviousLevel).Append("\n"); sb.Append(" Count: ").Append(Count).Append("\n"); sb.Append(" Period: ").Append(Period).Append("\n"); sb.Append("}\n"); return sb.ToString(); } /// /// Returns the JSON string presentation of the object /// /// JSON string presentation of the object public virtual string ToJson() { return JsonConvert.SerializeObject(this, Formatting.Indented); } /// /// Returns true if objects are equal /// /// Object to be compared /// Boolean public override bool Equals(object input) { return Equals(input as StatusRule); } /// /// Returns true if StatusRule instances are equal /// /// Instance of StatusRule to be compared /// Boolean public bool Equals(StatusRule input) { if (input == null) { return false; } return ( CurrentLevel == input.CurrentLevel || CurrentLevel.Equals(input.CurrentLevel) ) && ( PreviousLevel == input.PreviousLevel || PreviousLevel.Equals(input.PreviousLevel) ) && ( Count == input.Count || Count != null && Count.Equals(input.Count) ) && ( Period == input.Period || Period != null && Period.Equals(input.Period) ); } /// /// Gets the hash code /// /// Hash code public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; hashCode = hashCode * 59 + CurrentLevel.GetHashCode(); hashCode = hashCode * 59 + PreviousLevel.GetHashCode(); if (Count != null) { hashCode = hashCode * 59 + Count.GetHashCode(); } if (Period != null) { hashCode = hashCode * 59 + Period.GetHashCode(); } return hashCode; } } } }