/// <summary> /// Gets the object from Json properties. /// </summary> /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from.</param> /// <returns>The object Value.</returns> internal static HealthEvaluation GetFromJsonProperties(JsonReader reader) { HealthEvaluation obj = null; var propName = reader.ReadPropertyName(); if (!propName.Equals("Kind", StringComparison.Ordinal)) { throw new JsonReaderException($"Incorrect discriminator property name {propName}, Expected discriminator property name is Kind."); } var propValue = reader.ReadValueAsString(); if (propValue.Equals("Application", StringComparison.Ordinal)) { obj = ApplicationHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("Applications", StringComparison.Ordinal)) { obj = ApplicationsHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("ApplicationTypeApplications", StringComparison.Ordinal)) { obj = ApplicationTypeApplicationsHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("DeltaNodesCheck", StringComparison.Ordinal)) { obj = DeltaNodesCheckHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("DeployedApplication", StringComparison.Ordinal)) { obj = DeployedApplicationHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("DeployedApplications", StringComparison.Ordinal)) { obj = DeployedApplicationsHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("DeployedServicePackage", StringComparison.Ordinal)) { obj = DeployedServicePackageHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("DeployedServicePackages", StringComparison.Ordinal)) { obj = DeployedServicePackagesHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("Event", StringComparison.Ordinal)) { obj = EventHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("Node", StringComparison.Ordinal)) { obj = NodeHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("Nodes", StringComparison.Ordinal)) { obj = NodesHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("Partition", StringComparison.Ordinal)) { obj = PartitionHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("Partitions", StringComparison.Ordinal)) { obj = PartitionsHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("Replica", StringComparison.Ordinal)) { obj = ReplicaHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("Replicas", StringComparison.Ordinal)) { obj = ReplicasHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("Service", StringComparison.Ordinal)) { obj = ServiceHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("Services", StringComparison.Ordinal)) { obj = ServicesHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("SystemApplication", StringComparison.Ordinal)) { obj = SystemApplicationHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("UpgradeDomainDeltaNodesCheck", StringComparison.Ordinal)) { obj = UpgradeDomainDeltaNodesCheckHealthEvaluationConverter.GetFromJsonProperties(reader); } else if (propValue.Equals("UpgradeDomainNodes", StringComparison.Ordinal)) { obj = UpgradeDomainNodesHealthEvaluationConverter.GetFromJsonProperties(reader); } else { throw new InvalidOperationException("Unknown Kind."); } return(obj); }