/* * 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 { /// /// BuilderConfig /// [DataContract] public partial class BuilderConfig : IEquatable { /// /// Initializes a new instance of the class. /// /// buckets. /// tags. /// functions. /// aggregateWindow. public BuilderConfig(List buckets = default, List tags = default, List functions = default, BuilderConfigAggregateWindow aggregateWindow = default) { Buckets = buckets; Tags = tags; Functions = functions; AggregateWindow = aggregateWindow; } /// /// Gets or Sets Buckets /// [DataMember(Name = "buckets", EmitDefaultValue = false)] public List Buckets { get; set; } /// /// Gets or Sets Tags /// [DataMember(Name = "tags", EmitDefaultValue = false)] public List Tags { get; set; } /// /// Gets or Sets Functions /// [DataMember(Name = "functions", EmitDefaultValue = false)] public List Functions { get; set; } /// /// Gets or Sets AggregateWindow /// [DataMember(Name = "aggregateWindow", EmitDefaultValue = false)] public BuilderConfigAggregateWindow AggregateWindow { 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 BuilderConfig {\n"); sb.Append(" Buckets: ").Append(Buckets).Append("\n"); sb.Append(" Tags: ").Append(Tags).Append("\n"); sb.Append(" Functions: ").Append(Functions).Append("\n"); sb.Append(" AggregateWindow: ").Append(AggregateWindow).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 BuilderConfig); } /// /// Returns true if BuilderConfig instances are equal /// /// Instance of BuilderConfig to be compared /// Boolean public bool Equals(BuilderConfig input) { if (input == null) { return false; } return ( Buckets == input.Buckets || Buckets != null && Buckets.SequenceEqual(input.Buckets) ) && ( Tags == input.Tags || Tags != null && Tags.SequenceEqual(input.Tags) ) && ( Functions == input.Functions || Functions != null && Functions.SequenceEqual(input.Functions) ) && AggregateWindow != null && AggregateWindow.Equals(input.AggregateWindow); } /// /// Gets the hash code /// /// Hash code public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; if (Buckets != null) { hashCode = hashCode * 59 + Buckets.GetHashCode(); } if (Tags != null) { hashCode = hashCode * 59 + Tags.GetHashCode(); } if (Functions != null) { hashCode = hashCode * 59 + Functions.GetHashCode(); } if (AggregateWindow != null) { hashCode = hashCode * 59 + AggregateWindow.GetHashCode(); } return hashCode; } } } }