internal AzureDataExplorerDataFeed(DataFeedSourceType dataSourceType, string dataFeedId, string dataFeedName, string dataFeedDescription, DataFeedGranularityType granularityName, int? granularityAmount, IList<DataFeedMetric> metrics, IList<MetricDimension> dimension, string timestampColumn, DateTimeOffset dataStartFrom, long? startOffsetInSeconds, int? maxConcurrency, long? minRetryIntervalInSeconds, long? stopRetryAfterInSeconds, DataFeedRollupType? needRollup, DataFeedAutoRollupMethod? rollUpMethod, IList<string> rollUpColumns, string allUpIdentification, DataFeedMissingDataPointFillType? fillMissingPointType, double? fillMissingPointValue, DataFeedAccessMode? viewMode, IList<string> admins, IList<string> viewers, bool? isAdmin, string creator, DataFeedStatus? status, DateTimeOffset? createdTime, string actionLinkTemplate, SqlSourceParameter dataSourceParameter) : base(dataSourceType, dataFeedId, dataFeedName, dataFeedDescription, granularityName, granularityAmount, metrics, dimension, timestampColumn, dataStartFrom, startOffsetInSeconds, maxConcurrency, minRetryIntervalInSeconds, stopRetryAfterInSeconds, needRollup, rollUpMethod, rollUpColumns, allUpIdentification, fillMissingPointType, fillMissingPointValue, viewMode, admins, viewers, isAdmin, creator, status, createdTime, actionLinkTemplate) { DataSourceParameter = dataSourceParameter; DataSourceType = dataSourceType; }
internal static MySqlDataFeed DeserializeMySqlDataFeed(JsonElement element) { Optional <SqlSourceParameter> dataSourceParameter = default; DataFeedSourceType dataSourceType = default; Optional <string> dataFeedId = default; string dataFeedName = default; Optional <string> dataFeedDescription = default; DataFeedGranularityType granularityName = default; Optional <int?> granularityAmount = default; IList <DataFeedMetric> metrics = default; Optional <IList <DataFeedDimension> > dimension = default; Optional <string> timestampColumn = default; DateTimeOffset dataStartFrom = default; Optional <long> startOffsetInSeconds = default; Optional <int> maxConcurrency = default; Optional <long> minRetryIntervalInSeconds = default; Optional <long> stopRetryAfterInSeconds = default; Optional <DataFeedRollupType> needRollup = default; Optional <DataFeedAutoRollupMethod> rollUpMethod = default; Optional <IList <string> > rollUpColumns = default; Optional <string> allUpIdentification = default; Optional <DataFeedMissingDataPointFillType> fillMissingPointType = default; Optional <double> fillMissingPointValue = default; Optional <DataFeedAccessMode> viewMode = default; Optional <IList <string> > admins = default; Optional <IList <string> > viewers = default; Optional <bool> isAdmin = default; Optional <string> creator = default; Optional <DataFeedStatus> status = default; Optional <DateTimeOffset> createdTime = default; Optional <string> actionLinkTemplate = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("dataSourceParameter")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } dataSourceParameter = SqlSourceParameter.DeserializeSqlSourceParameter(property.Value); continue; } if (property.NameEquals("dataSourceType")) { dataSourceType = new DataFeedSourceType(property.Value.GetString()); continue; } if (property.NameEquals("dataFeedId")) { dataFeedId = property.Value.GetString(); continue; } if (property.NameEquals("dataFeedName")) { dataFeedName = property.Value.GetString(); continue; } if (property.NameEquals("dataFeedDescription")) { dataFeedDescription = property.Value.GetString(); continue; } if (property.NameEquals("granularityName")) { granularityName = new DataFeedGranularityType(property.Value.GetString()); continue; } if (property.NameEquals("granularityAmount")) { if (property.Value.ValueKind == JsonValueKind.Null) { granularityAmount = null; continue; } granularityAmount = property.Value.GetInt32(); continue; } if (property.NameEquals("metrics")) { List <DataFeedMetric> array = new List <DataFeedMetric>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(DataFeedMetric.DeserializeDataFeedMetric(item)); } metrics = array; continue; } if (property.NameEquals("dimension")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <DataFeedDimension> array = new List <DataFeedDimension>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(DataFeedDimension.DeserializeDataFeedDimension(item)); } dimension = array; continue; } if (property.NameEquals("timestampColumn")) { timestampColumn = property.Value.GetString(); continue; } if (property.NameEquals("dataStartFrom")) { dataStartFrom = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("startOffsetInSeconds")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } startOffsetInSeconds = property.Value.GetInt64(); continue; } if (property.NameEquals("maxConcurrency")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } maxConcurrency = property.Value.GetInt32(); continue; } if (property.NameEquals("minRetryIntervalInSeconds")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } minRetryIntervalInSeconds = property.Value.GetInt64(); continue; } if (property.NameEquals("stopRetryAfterInSeconds")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } stopRetryAfterInSeconds = property.Value.GetInt64(); continue; } if (property.NameEquals("needRollup")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } needRollup = new DataFeedRollupType(property.Value.GetString()); continue; } if (property.NameEquals("rollUpMethod")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } rollUpMethod = new DataFeedAutoRollupMethod(property.Value.GetString()); continue; } if (property.NameEquals("rollUpColumns")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } rollUpColumns = array; continue; } if (property.NameEquals("allUpIdentification")) { allUpIdentification = property.Value.GetString(); continue; } if (property.NameEquals("fillMissingPointType")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } fillMissingPointType = new DataFeedMissingDataPointFillType(property.Value.GetString()); continue; } if (property.NameEquals("fillMissingPointValue")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } fillMissingPointValue = property.Value.GetDouble(); continue; } if (property.NameEquals("viewMode")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } viewMode = new DataFeedAccessMode(property.Value.GetString()); continue; } if (property.NameEquals("admins")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } admins = array; continue; } if (property.NameEquals("viewers")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } viewers = array; continue; } if (property.NameEquals("isAdmin")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isAdmin = property.Value.GetBoolean(); continue; } if (property.NameEquals("creator")) { creator = property.Value.GetString(); continue; } if (property.NameEquals("status")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } status = new DataFeedStatus(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("actionLinkTemplate")) { actionLinkTemplate = property.Value.GetString(); continue; } } return(new MySqlDataFeed(dataSourceType, dataFeedId.Value, dataFeedName, dataFeedDescription.Value, granularityName, Optional.ToNullable(granularityAmount), metrics, Optional.ToList(dimension), timestampColumn.Value, dataStartFrom, Optional.ToNullable(startOffsetInSeconds), Optional.ToNullable(maxConcurrency), Optional.ToNullable(minRetryIntervalInSeconds), Optional.ToNullable(stopRetryAfterInSeconds), Optional.ToNullable(needRollup), Optional.ToNullable(rollUpMethod), Optional.ToList(rollUpColumns), allUpIdentification.Value, Optional.ToNullable(fillMissingPointType), Optional.ToNullable(fillMissingPointValue), Optional.ToNullable(viewMode), Optional.ToList(admins), Optional.ToList(viewers), Optional.ToNullable(isAdmin), creator.Value, Optional.ToNullable(status), Optional.ToNullable(createdTime), actionLinkTemplate.Value, dataSourceParameter.Value)); }
internal static DataFeedDetail DeserializeDataFeedDetail(JsonElement element) { if (element.TryGetProperty("dataSourceType", out JsonElement discriminator)) { switch (discriminator.GetString()) { case "AzureApplicationInsights": return(AzureApplicationInsightsDataFeed.DeserializeAzureApplicationInsightsDataFeed(element)); case "AzureBlob": return(AzureBlobDataFeed.DeserializeAzureBlobDataFeed(element)); case "AzureCosmosDB": return(AzureCosmosDBDataFeed.DeserializeAzureCosmosDBDataFeed(element)); case "AzureDataExplorer": return(AzureDataExplorerDataFeed.DeserializeAzureDataExplorerDataFeed(element)); case "AzureDataLakeStorageGen2": return(AzureDataLakeStorageGen2DataFeed.DeserializeAzureDataLakeStorageGen2DataFeed(element)); case "AzureTable": return(AzureTableDataFeed.DeserializeAzureTableDataFeed(element)); case "Elasticsearch": return(ElasticsearchDataFeed.DeserializeElasticsearchDataFeed(element)); case "HttpRequest": return(HttpRequestDataFeed.DeserializeHttpRequestDataFeed(element)); case "InfluxDB": return(InfluxDBDataFeed.DeserializeInfluxDBDataFeed(element)); case "MongoDB": return(MongoDBDataFeed.DeserializeMongoDBDataFeed(element)); case "MySql": return(MySqlDataFeed.DeserializeMySqlDataFeed(element)); case "PostgreSql": return(PostgreSqlDataFeed.DeserializePostgreSqlDataFeed(element)); case "SqlServer": return(SQLServerDataFeed.DeserializeSQLServerDataFeed(element)); } } DataFeedSourceType dataSourceType = default; Optional <string> dataFeedId = default; string dataFeedName = default; Optional <string> dataFeedDescription = default; DataFeedGranularityType granularityName = default; Optional <int?> granularityAmount = default; IList <DataFeedMetric> metrics = default; Optional <IList <DataFeedDimension> > dimension = default; Optional <string> timestampColumn = default; DateTimeOffset dataStartFrom = default; Optional <long> startOffsetInSeconds = default; Optional <int> maxConcurrency = default; Optional <long> minRetryIntervalInSeconds = default; Optional <long> stopRetryAfterInSeconds = default; Optional <DataFeedRollupType> needRollup = default; Optional <DataFeedAutoRollupMethod> rollUpMethod = default; Optional <IList <string> > rollUpColumns = default; Optional <string> allUpIdentification = default; Optional <DataFeedMissingDataPointFillType> fillMissingPointType = default; Optional <double> fillMissingPointValue = default; Optional <DataFeedAccessMode> viewMode = default; Optional <IList <string> > admins = default; Optional <IList <string> > viewers = default; Optional <bool> isAdmin = default; Optional <string> creator = default; Optional <DataFeedStatus> status = default; Optional <DateTimeOffset> createdTime = default; Optional <string> actionLinkTemplate = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("dataSourceType")) { dataSourceType = new DataFeedSourceType(property.Value.GetString()); continue; } if (property.NameEquals("dataFeedId")) { dataFeedId = property.Value.GetString(); continue; } if (property.NameEquals("dataFeedName")) { dataFeedName = property.Value.GetString(); continue; } if (property.NameEquals("dataFeedDescription")) { dataFeedDescription = property.Value.GetString(); continue; } if (property.NameEquals("granularityName")) { granularityName = new DataFeedGranularityType(property.Value.GetString()); continue; } if (property.NameEquals("granularityAmount")) { if (property.Value.ValueKind == JsonValueKind.Null) { granularityAmount = null; continue; } granularityAmount = property.Value.GetInt32(); continue; } if (property.NameEquals("metrics")) { List <DataFeedMetric> array = new List <DataFeedMetric>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(DataFeedMetric.DeserializeDataFeedMetric(item)); } metrics = array; continue; } if (property.NameEquals("dimension")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <DataFeedDimension> array = new List <DataFeedDimension>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(DataFeedDimension.DeserializeDataFeedDimension(item)); } dimension = array; continue; } if (property.NameEquals("timestampColumn")) { timestampColumn = property.Value.GetString(); continue; } if (property.NameEquals("dataStartFrom")) { dataStartFrom = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("startOffsetInSeconds")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } startOffsetInSeconds = property.Value.GetInt64(); continue; } if (property.NameEquals("maxConcurrency")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } maxConcurrency = property.Value.GetInt32(); continue; } if (property.NameEquals("minRetryIntervalInSeconds")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } minRetryIntervalInSeconds = property.Value.GetInt64(); continue; } if (property.NameEquals("stopRetryAfterInSeconds")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } stopRetryAfterInSeconds = property.Value.GetInt64(); continue; } if (property.NameEquals("needRollup")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } needRollup = new DataFeedRollupType(property.Value.GetString()); continue; } if (property.NameEquals("rollUpMethod")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } rollUpMethod = new DataFeedAutoRollupMethod(property.Value.GetString()); continue; } if (property.NameEquals("rollUpColumns")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } rollUpColumns = array; continue; } if (property.NameEquals("allUpIdentification")) { allUpIdentification = property.Value.GetString(); continue; } if (property.NameEquals("fillMissingPointType")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } fillMissingPointType = new DataFeedMissingDataPointFillType(property.Value.GetString()); continue; } if (property.NameEquals("fillMissingPointValue")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } fillMissingPointValue = property.Value.GetDouble(); continue; } if (property.NameEquals("viewMode")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } viewMode = new DataFeedAccessMode(property.Value.GetString()); continue; } if (property.NameEquals("admins")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } admins = array; continue; } if (property.NameEquals("viewers")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } viewers = array; continue; } if (property.NameEquals("isAdmin")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isAdmin = property.Value.GetBoolean(); continue; } if (property.NameEquals("creator")) { creator = property.Value.GetString(); continue; } if (property.NameEquals("status")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } status = new DataFeedStatus(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("actionLinkTemplate")) { actionLinkTemplate = property.Value.GetString(); continue; } } return(new DataFeedDetail(dataSourceType, dataFeedId.Value, dataFeedName, dataFeedDescription.Value, granularityName, Optional.ToNullable(granularityAmount), metrics, Optional.ToList(dimension), timestampColumn.Value, dataStartFrom, Optional.ToNullable(startOffsetInSeconds), Optional.ToNullable(maxConcurrency), Optional.ToNullable(minRetryIntervalInSeconds), Optional.ToNullable(stopRetryAfterInSeconds), Optional.ToNullable(needRollup), Optional.ToNullable(rollUpMethod), Optional.ToList(rollUpColumns), allUpIdentification.Value, Optional.ToNullable(fillMissingPointType), Optional.ToNullable(fillMissingPointValue), Optional.ToNullable(viewMode), Optional.ToList(admins), Optional.ToList(viewers), Optional.ToNullable(isAdmin), creator.Value, Optional.ToNullable(status), Optional.ToNullable(createdTime), actionLinkTemplate.Value)); }
internal DataFeedDetail(DataFeedSourceKind dataSourceType, string dataFeedId, string dataFeedName, string dataFeedDescription, DataFeedGranularityType granularityName, int?granularityAmount, IList <DataFeedMetric> metrics, IList <DataFeedDimension> dimension, string timestampColumn, DateTimeOffset dataStartFrom, long?startOffsetInSeconds, int?maxConcurrency, long?minRetryIntervalInSeconds, long?stopRetryAfterInSeconds, DataFeedRollupType?needRollup, DataFeedAutoRollupMethod?rollUpMethod, IList <string> rollUpColumns, string allUpIdentification, DataFeedMissingDataPointFillType?fillMissingPointType, double?fillMissingPointValue, DataFeedAccessMode?viewMode, IList <string> admins, IList <string> viewers, bool?isAdmin, string creator, DataFeedStatus?status, DateTimeOffset?createdTime, string actionLinkTemplate, AuthenticationTypeEnum?authenticationType, string credentialId) { DataSourceType = dataSourceType; DataFeedId = dataFeedId; DataFeedName = dataFeedName; DataFeedDescription = dataFeedDescription; GranularityName = granularityName; GranularityAmount = granularityAmount; Metrics = metrics; Dimension = dimension; TimestampColumn = timestampColumn; DataStartFrom = dataStartFrom; StartOffsetInSeconds = startOffsetInSeconds; MaxConcurrency = maxConcurrency; MinRetryIntervalInSeconds = minRetryIntervalInSeconds; StopRetryAfterInSeconds = stopRetryAfterInSeconds; NeedRollup = needRollup; RollUpMethod = rollUpMethod; RollUpColumns = rollUpColumns; AllUpIdentification = allUpIdentification; FillMissingPointType = fillMissingPointType; FillMissingPointValue = fillMissingPointValue; ViewMode = viewMode; Admins = admins; Viewers = viewers; IsAdmin = isAdmin; Creator = creator; Status = status; CreatedTime = createdTime; ActionLinkTemplate = actionLinkTemplate; AuthenticationType = authenticationType; CredentialId = credentialId; }
internal DataFeedDetail(DataFeedSourceType dataSourceType, string dataFeedId, string dataFeedName, string dataFeedDescription, DataFeedGranularityType granularityName, int?granularityAmount, IList <DataFeedMetric> metrics, IList <MetricDimension> dimension, string timestampColumn, DateTimeOffset dataStartFrom, long?startOffsetInSeconds, int?maxConcurrency, long?minRetryIntervalInSeconds, long?stopRetryAfterInSeconds, DataFeedRollupType?needRollup, DataFeedAutoRollupMethod?rollUpMethod, IList <string> rollUpColumns, string allUpIdentification, DataFeedMissingDataPointFillType?fillMissingPointType, double?fillMissingPointValue, AccessMode?viewMode, IList <string> admins, IList <string> viewers, bool?isAdmin, string creator, DataFeedStatus?status, DateTimeOffset?createdTime, string actionLinkTemplate) { Argument.AssertNotNullOrEmpty(dataFeedName, nameof(dataFeedName)); Argument.AssertNotNullOrEmpty(metrics, nameof(metrics)); DataSourceType = dataSourceType; DataFeedId = dataFeedId; DataFeedName = dataFeedName; DataFeedDescription = dataFeedDescription; GranularityName = granularityName; GranularityAmount = granularityAmount; Metrics = metrics; Dimension = dimension ?? new ChangeTrackingList <MetricDimension>(); TimestampColumn = timestampColumn; DataStartFrom = dataStartFrom; StartOffsetInSeconds = startOffsetInSeconds; MaxConcurrency = maxConcurrency; MinRetryIntervalInSeconds = minRetryIntervalInSeconds; StopRetryAfterInSeconds = stopRetryAfterInSeconds; NeedRollup = needRollup; RollUpMethod = rollUpMethod; RollUpColumns = rollUpColumns ?? new ChangeTrackingList <string>(); AllUpIdentification = allUpIdentification; FillMissingPointType = fillMissingPointType; FillMissingPointValue = fillMissingPointValue; ViewMode = viewMode; Admins = admins ?? new ChangeTrackingList <string>(); Viewers = viewers ?? new ChangeTrackingList <string>(); IsAdmin = isAdmin; Creator = creator; Status = status; CreatedTime = createdTime; ActionLinkTemplate = actionLinkTemplate; }