internal static MetricAlertSingleResourceMultipleMetricCriteria DeserializeMetricAlertSingleResourceMultipleMetricCriteria(JsonElement element) { Optional <IList <MetricCriteria> > allOf = default; Odatatype odataType = default; IDictionary <string, BinaryData> additionalProperties = default; Dictionary <string, BinaryData> additionalPropertiesDictionary = new Dictionary <string, BinaryData>(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("allOf")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <MetricCriteria> array = new List <MetricCriteria>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(MetricCriteria.DeserializeMetricCriteria(item)); } allOf = array; continue; } if (property.NameEquals("odata.type")) { odataType = new Odatatype(property.Value.GetString()); continue; } additionalPropertiesDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); } additionalProperties = additionalPropertiesDictionary; return(new MetricAlertSingleResourceMultipleMetricCriteria(odataType, additionalProperties, Optional.ToList(allOf))); }
internal static MetricAlertCriteria DeserializeMetricAlertCriteria(JsonElement element) { if (element.TryGetProperty("odata.type", out JsonElement discriminator)) { switch (discriminator.GetString()) { case "Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria": return(MetricAlertMultipleResourceMultipleMetricCriteria.DeserializeMetricAlertMultipleResourceMultipleMetricCriteria(element)); case "Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria": return(MetricAlertSingleResourceMultipleMetricCriteria.DeserializeMetricAlertSingleResourceMultipleMetricCriteria(element)); case "Microsoft.Azure.Monitor.WebtestLocationAvailabilityCriteria": return(WebtestLocationAvailabilityCriteria.DeserializeWebtestLocationAvailabilityCriteria(element)); } } Odatatype odataType = default; IDictionary <string, BinaryData> additionalProperties = default; Dictionary <string, BinaryData> additionalPropertiesDictionary = new Dictionary <string, BinaryData>(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("odata.type")) { odataType = new Odatatype(property.Value.GetString()); continue; } additionalPropertiesDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); } additionalProperties = additionalPropertiesDictionary; return(new MetricAlertCriteria(odataType, additionalProperties)); }
internal WebtestLocationAvailabilityCriteria(Odatatype odataType, IDictionary <string, BinaryData> additionalProperties, string webTestId, string componentId, float failedLocationCount) : base(odataType, additionalProperties) { WebTestId = webTestId; ComponentId = componentId; FailedLocationCount = failedLocationCount; OdataType = odataType; }
internal static WebtestLocationAvailabilityCriteria DeserializeWebtestLocationAvailabilityCriteria(JsonElement element) { string webTestId = default; string componentId = default; float failedLocationCount = default; Odatatype odataType = default; IDictionary <string, BinaryData> additionalProperties = default; Dictionary <string, BinaryData> additionalPropertiesDictionary = new Dictionary <string, BinaryData>(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("webTestId")) { webTestId = property.Value.GetString(); continue; } if (property.NameEquals("componentId")) { componentId = property.Value.GetString(); continue; } if (property.NameEquals("failedLocationCount")) { failedLocationCount = property.Value.GetSingle(); continue; } if (property.NameEquals("odata.type")) { odataType = new Odatatype(property.Value.GetString()); continue; } additionalPropertiesDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); } additionalProperties = additionalPropertiesDictionary; return(new WebtestLocationAvailabilityCriteria(odataType, additionalProperties, webTestId, componentId, failedLocationCount)); }
internal MetricAlertMultipleResourceMultipleMetricCriteria(Odatatype odataType, IDictionary <string, BinaryData> additionalProperties, IList <MultiMetricCriteria> allOf) : base(odataType, additionalProperties) { AllOf = allOf; OdataType = odataType; }
internal MetricAlertCriteria(Odatatype odataType, IDictionary <string, BinaryData> additionalProperties) { OdataType = odataType; AdditionalProperties = additionalProperties; }