/* * 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 { /// /// TagRule /// [DataContract] public partial class TagRule : IEquatable { /// /// Defines Operator /// [JsonConverter(typeof(StringEnumConverter))] public enum OperatorEnum { /// /// Enum Equal for value: equal /// [EnumMember(Value = "equal")] Equal = 1, /// /// Enum Notequal for value: notequal /// [EnumMember(Value = "notequal")] Notequal = 2, /// /// Enum Equalregex for value: equalregex /// [EnumMember(Value = "equalregex")] Equalregex = 3, /// /// Enum Notequalregex for value: notequalregex /// [EnumMember(Value = "notequalregex")] Notequalregex = 4 } /// /// Gets or Sets Operator /// [DataMember(Name = "operator", EmitDefaultValue = false)] public OperatorEnum? Operator { get; set; } /// /// Initializes a new instance of the class. /// /// key. /// value. /// _operator. public TagRule(string key = default, string value = default, OperatorEnum? _operator = default) { Key = key; Value = value; Operator = _operator; } /// /// Gets or Sets Key /// [DataMember(Name = "key", EmitDefaultValue = false)] public string Key { get; set; } /// /// Gets or Sets Value /// [DataMember(Name = "value", EmitDefaultValue = false)] public string Value { 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 TagRule {\n"); sb.Append(" Key: ").Append(Key).Append("\n"); sb.Append(" Value: ").Append(Value).Append("\n"); sb.Append(" Operator: ").Append(Operator).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 TagRule); } /// /// Returns true if TagRule instances are equal /// /// Instance of TagRule to be compared /// Boolean public bool Equals(TagRule input) { if (input == null) { return false; } return ( Key == input.Key || Key != null && Key.Equals(input.Key) ) && ( Value == input.Value || Value != null && Value.Equals(input.Value) ) && ( Operator == input.Operator || Operator.Equals(input.Operator) ); } /// /// Gets the hash code /// /// Hash code public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; if (Key != null) { hashCode = hashCode * 59 + Key.GetHashCode(); } if (Value != null) { hashCode = hashCode * 59 + Value.GetHashCode(); } hashCode = hashCode * 59 + Operator.GetHashCode(); return hashCode; } } } }