/* * 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 { /// /// LabelCreateRequest /// [DataContract] public partial class LabelCreateRequest : IEquatable { /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] protected LabelCreateRequest() { } /// /// Initializes a new instance of the class. /// /// orgID (required). /// name (required). /// Key/Value pairs associated with this label. Keys can be removed by sending an update with an empty value.. public LabelCreateRequest(string orgID = default, string name = default, Dictionary properties = default) { // to ensure "orgID" is required (not null) if (orgID == null) { throw new InvalidDataException( "orgID is a required property for LabelCreateRequest and cannot be null"); } OrgID = orgID; // to ensure "name" is required (not null) if (name == null) { throw new InvalidDataException("name is a required property for LabelCreateRequest and cannot be null"); } Name = name; Properties = properties; } /// /// Gets or Sets OrgID /// [DataMember(Name = "orgID", EmitDefaultValue = false)] public string OrgID { get; set; } /// /// Gets or Sets Name /// [DataMember(Name = "name", EmitDefaultValue = false)] public string Name { get; set; } /// /// Key/Value pairs associated with this label. Keys can be removed by sending an update with an empty value. /// /// Key/Value pairs associated with this label. Keys can be removed by sending an update with an empty value. [DataMember(Name = "properties", EmitDefaultValue = false)] public Dictionary Properties { 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 LabelCreateRequest {\n"); sb.Append(" OrgID: ").Append(OrgID).Append("\n"); sb.Append(" Name: ").Append(Name).Append("\n"); sb.Append(" Properties: ").Append(Properties).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 LabelCreateRequest); } /// /// Returns true if LabelCreateRequest instances are equal /// /// Instance of LabelCreateRequest to be compared /// Boolean public bool Equals(LabelCreateRequest input) { if (input == null) { return false; } return ( OrgID == input.OrgID || OrgID != null && OrgID.Equals(input.OrgID) ) && ( Name == input.Name || Name != null && Name.Equals(input.Name) ) && ( Properties == input.Properties || Properties != null && Properties.SequenceEqual(input.Properties) ); } /// /// Gets the hash code /// /// Hash code public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; if (OrgID != null) { hashCode = hashCode * 59 + OrgID.GetHashCode(); } if (Name != null) { hashCode = hashCode * 59 + Name.GetHashCode(); } if (Properties != null) { hashCode = hashCode * 59 + Properties.GetHashCode(); } return hashCode; } } } }