internal static AnomalyDetectionConfigurationList DeserializeAnomalyDetectionConfigurationList(JsonElement element) { Optional <IReadOnlyList <AnomalyDetectionConfiguration> > value = default; Optional <string> nextLink = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("value")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <AnomalyDetectionConfiguration> array = new List <AnomalyDetectionConfiguration>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(AnomalyDetectionConfiguration.DeserializeAnomalyDetectionConfiguration(item)); } value = array; continue; } if (property.NameEquals("@nextLink")) { nextLink = property.Value.GetString(); continue; } } return(new AnomalyDetectionConfigurationList(Optional.ToList(value), nextLink.Value)); }
internal MetricAnomalyFeedback(FeedbackType type, string id, DateTimeOffset?createdTime, string userPrincipal, string metricId, FeedbackDimensionFilter dimensionFilter, DateTimeOffset startTime, DateTimeOffset endTime, AnomalyFeedbackValue valueInternal, string anomalyDetectionConfigurationId, AnomalyDetectionConfiguration anomalyDetectionConfigurationSnapshot) : base(type, id, createdTime, userPrincipal, metricId, dimensionFilter) { StartTime = startTime; EndTime = endTime; ValueInternal = valueInternal; AnomalyDetectionConfigurationId = anomalyDetectionConfigurationId; AnomalyDetectionConfigurationSnapshot = anomalyDetectionConfigurationSnapshot; Type = type; }
internal static AnomalyDetectionConfigurationList DeserializeAnomalyDetectionConfigurationList(JsonElement element) { IReadOnlyList <AnomalyDetectionConfiguration> value = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("value")) { List <AnomalyDetectionConfiguration> array = new List <AnomalyDetectionConfiguration>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(AnomalyDetectionConfiguration.DeserializeAnomalyDetectionConfiguration(item)); } value = array; continue; } } return(new AnomalyDetectionConfigurationList(value)); }
/// <summary> /// Initializes a new instance of <see cref="MetricsAdvisor.MetricAnomalyFeedback"/> for mocking purposes. /// </summary> /// <param name="id">Sets the <see cref="MetricFeedback.Id"/> property.</param> /// <param name="createdOn">Sets the <see cref="MetricFeedback.CreatedOn"/> property.</param> /// <param name="userPrincipal">Sets the <see cref="MetricFeedback.UserPrincipal"/> property.</param> /// <param name="metricId">Sets the <see cref="MetricFeedback.MetricId"/> property.</param> /// <param name="dimensionKey">Sets the <see cref="MetricFeedback.DimensionKey"/> property.</param> /// <param name="startsOn">Sets the <see cref="MetricAnomalyFeedback.StartsOn"/> property.</param> /// <param name="endsOn">Sets the <see cref="MetricAnomalyFeedback.EndsOn"/> property.</param> /// <param name="anomalyValue">Sets the <see cref="MetricAnomalyFeedback.AnomalyValue"/> property.</param> /// <param name="detectionConfigurationId">Sets the <see cref="MetricAnomalyFeedback.DetectionConfigurationId"/> property.</param> /// <param name="detectionConfigurationSnapshot">Sets the <see cref="MetricAnomalyFeedback.DetectionConfigurationSnapshot"/> property.</param> /// <returns>A new instance of <see cref="MetricsAdvisor.MetricAnomalyFeedback"/> for mocking purposes.</returns> public static MetricAnomalyFeedback MetricAnomalyFeedback(string id = null, DateTimeOffset?createdOn = null, string userPrincipal = null, string metricId = null, DimensionKey dimensionKey = null, DateTimeOffset startsOn = default, DateTimeOffset endsOn = default, AnomalyValue anomalyValue = default, string detectionConfigurationId = null, AnomalyDetectionConfiguration detectionConfigurationSnapshot = null) { Dictionary <string, string> dimensions = dimensionKey?.ToDictionary(key => key.Key, key => key.Value); FeedbackFilter filter = new FeedbackFilter(dimensions); AnomalyFeedbackValue feedbackValue = new AnomalyFeedbackValue(anomalyValue); return(new MetricAnomalyFeedback(MetricFeedbackKind.Anomaly, id, createdOn, userPrincipal, metricId, filter, startsOn, endsOn, feedbackValue, detectionConfigurationId, detectionConfigurationSnapshot)); }
internal static MetricAnomalyFeedback DeserializeMetricAnomalyFeedback(JsonElement element) { Optional <DateTimeOffset> startTime = default; Optional <DateTimeOffset> endTime = default; Optional <AnomalyFeedbackValue> value = default; Optional <string> anomalyDetectionConfigurationId = default; Optional <AnomalyDetectionConfiguration> anomalyDetectionConfigurationSnapshot = default; FeedbackType feedbackType = default; Optional <string> feedbackId = default; Optional <DateTimeOffset> createdTime = default; Optional <string> userPrincipal = default; string metricId = default; FeedbackDimensionFilter dimensionFilter = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("startTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } startTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("endTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } endTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("value")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } value = AnomalyFeedbackValue.DeserializeAnomalyFeedbackValue(property.Value); continue; } if (property.NameEquals("anomalyDetectionConfigurationId")) { if (property.Value.ValueKind == JsonValueKind.Null) { anomalyDetectionConfigurationId = null; continue; } anomalyDetectionConfigurationId = property.Value.GetString(); continue; } if (property.NameEquals("anomalyDetectionConfigurationSnapshot")) { if (property.Value.ValueKind == JsonValueKind.Null) { anomalyDetectionConfigurationSnapshot = null; continue; } anomalyDetectionConfigurationSnapshot = AnomalyDetectionConfiguration.DeserializeAnomalyDetectionConfiguration(property.Value); continue; } if (property.NameEquals("feedbackType")) { feedbackType = new FeedbackType(property.Value.GetString()); continue; } if (property.NameEquals("feedbackId")) { feedbackId = property.Value.GetString(); continue; } if (property.NameEquals("createdTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } createdTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("userPrincipal")) { userPrincipal = property.Value.GetString(); continue; } if (property.NameEquals("metricId")) { metricId = property.Value.GetString(); continue; } if (property.NameEquals("dimensionFilter")) { dimensionFilter = FeedbackDimensionFilter.DeserializeFeedbackDimensionFilter(property.Value); continue; } } return(new MetricAnomalyFeedback(feedbackType, feedbackId.Value, Optional.ToNullable(createdTime), userPrincipal.Value, metricId, dimensionFilter, startTime, endTime, value.Value, anomalyDetectionConfigurationId.Value, anomalyDetectionConfigurationSnapshot.Value)); }