internal static MetricSeriesGroupDetectionCondition DeserializeMetricSeriesGroupDetectionCondition(JsonElement element) { DimensionKey group = default; Optional <DetectionConditionsOperator> conditionOperator = default; Optional <SmartDetectionCondition> smartDetectionCondition = default; Optional <HardThresholdCondition> hardThresholdCondition = default; Optional <ChangeThresholdCondition> changeThresholdCondition = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("group")) { group = DimensionKey.DeserializeDimensionKey(property.Value); continue; } if (property.NameEquals("conditionOperator")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } conditionOperator = new DetectionConditionsOperator(property.Value.GetString()); continue; } if (property.NameEquals("smartDetectionCondition")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } smartDetectionCondition = Models.SmartDetectionCondition.DeserializeSmartDetectionCondition(property.Value); continue; } if (property.NameEquals("hardThresholdCondition")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } hardThresholdCondition = Models.HardThresholdCondition.DeserializeHardThresholdCondition(property.Value); continue; } if (property.NameEquals("changeThresholdCondition")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } changeThresholdCondition = Models.ChangeThresholdCondition.DeserializeChangeThresholdCondition(property.Value); continue; } } return(new MetricSeriesGroupDetectionCondition(Optional.ToNullable(conditionOperator), smartDetectionCondition.Value, hardThresholdCondition.Value, changeThresholdCondition.Value, group)); }
internal static MetricAnomalyAlertConfiguration DeserializeMetricAnomalyAlertConfiguration(JsonElement element) { string anomalyDetectionConfigurationId = default; MetricAnomalyAlertScopeType anomalyScopeType = default; Optional <bool> negationOperation = default; Optional <DimensionKey> dimensionAnomalyScope = default; Optional <TopNGroupScope> topNAnomalyScope = default; Optional <SeverityCondition> severityFilter = default; Optional <MetricAnomalyAlertSnoozeCondition> snoozeFilter = default; Optional <MetricBoundaryCondition> valueFilter = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("anomalyDetectionConfigurationId")) { anomalyDetectionConfigurationId = property.Value.GetString(); continue; } if (property.NameEquals("anomalyScopeType")) { anomalyScopeType = new MetricAnomalyAlertScopeType(property.Value.GetString()); continue; } if (property.NameEquals("negationOperation")) { negationOperation = property.Value.GetBoolean(); continue; } if (property.NameEquals("dimensionAnomalyScope")) { dimensionAnomalyScope = DimensionKey.DeserializeDimensionKey(property.Value); continue; } if (property.NameEquals("topNAnomalyScope")) { topNAnomalyScope = TopNGroupScope.DeserializeTopNGroupScope(property.Value); continue; } if (property.NameEquals("severityFilter")) { severityFilter = SeverityCondition.DeserializeSeverityCondition(property.Value); continue; } if (property.NameEquals("snoozeFilter")) { snoozeFilter = MetricAnomalyAlertSnoozeCondition.DeserializeMetricAnomalyAlertSnoozeCondition(property.Value); continue; } if (property.NameEquals("valueFilter")) { valueFilter = MetricBoundaryCondition.DeserializeMetricBoundaryCondition(property.Value); continue; } } return(new MetricAnomalyAlertConfiguration(anomalyDetectionConfigurationId, anomalyScopeType, Optional.ToNullable(negationOperation), dimensionAnomalyScope.Value, topNAnomalyScope.Value, severityFilter.Value, snoozeFilter.Value, valueFilter.Value)); }
internal static IncidentRootCause DeserializeIncidentRootCause(JsonElement element) { DimensionKey rootCause = default; IReadOnlyList <string> path = default; double score = default; string description = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("rootCause")) { rootCause = DimensionKey.DeserializeDimensionKey(property.Value); continue; } if (property.NameEquals("path")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } path = array; continue; } if (property.NameEquals("score")) { score = property.Value.GetDouble(); continue; } if (property.NameEquals("description")) { description = property.Value.GetString(); continue; } } return(new IncidentRootCause(rootCause, path, score, description)); }