/* * 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 { /// /// RangeThreshold /// [DataContract] public partial class RangeThreshold : Threshold, IEquatable { /// /// Defines Type /// [JsonConverter(typeof(StringEnumConverter))] public enum TypeEnum { /// /// Enum Range for value: range /// [EnumMember(Value = "range")] Range = 1 } /// /// Gets or Sets Type /// [DataMember(Name = "type", EmitDefaultValue = false)] public TypeEnum Type { get; set; } /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] protected RangeThreshold() { } /// /// Initializes a new instance of the class. /// /// type (required) (default to TypeEnum.Range). /// min (required). /// max (required). /// within (required). public RangeThreshold(TypeEnum type = TypeEnum.Range, float? min = default, float? max = default, bool? within = default, CheckStatusLevel? level = default, bool? allValues = default) : base(level, allValues) { // to ensure "type" is required (not null) Type = type; // to ensure "min" is required (not null) if (min == null) { throw new InvalidDataException("min is a required property for RangeThreshold and cannot be null"); } Min = min; // to ensure "max" is required (not null) if (max == null) { throw new InvalidDataException("max is a required property for RangeThreshold and cannot be null"); } Max = max; // to ensure "within" is required (not null) if (within == null) { throw new InvalidDataException("within is a required property for RangeThreshold and cannot be null"); } Within = within; } /// /// Gets or Sets Min /// [DataMember(Name = "min", EmitDefaultValue = false)] public float? Min { get; set; } /// /// Gets or Sets Max /// [DataMember(Name = "max", EmitDefaultValue = false)] public float? Max { get; set; } /// /// Gets or Sets Within /// [DataMember(Name = "within", EmitDefaultValue = false)] public bool? Within { 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 RangeThreshold {\n"); sb.Append(" ").Append(base.ToString().Replace("\n", "\n ")).Append("\n"); sb.Append(" Type: ").Append(Type).Append("\n"); sb.Append(" Min: ").Append(Min).Append("\n"); sb.Append(" Max: ").Append(Max).Append("\n"); sb.Append(" Within: ").Append(Within).Append("\n"); sb.Append("}\n"); return sb.ToString(); } /// /// Returns the JSON string presentation of the object /// /// JSON string presentation of the object public override 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 RangeThreshold); } /// /// Returns true if RangeThreshold instances are equal /// /// Instance of RangeThreshold to be compared /// Boolean public bool Equals(RangeThreshold input) { if (input == null) { return false; } return base.Equals(input) && ( Type == input.Type || Type.Equals(input.Type) ) && base.Equals(input) && ( Min == input.Min || Min != null && Min.Equals(input.Min) ) && base.Equals(input) && ( Max == input.Max || Max != null && Max.Equals(input.Max) ) && base.Equals(input) && ( Within == input.Within || Within != null && Within.Equals(input.Within) ); } /// /// Gets the hash code /// /// Hash code public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = base.GetHashCode(); hashCode = hashCode * 59 + Type.GetHashCode(); if (Min != null) { hashCode = hashCode * 59 + Min.GetHashCode(); } if (Max != null) { hashCode = hashCode * 59 + Max.GetHashCode(); } if (Within != null) { hashCode = hashCode * 59 + Within.GetHashCode(); } return hashCode; } } } }