diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/Deserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/Deserializer.cs index 7e428c934..3c5e9f3e8 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/Deserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/Deserializer.cs @@ -99,50 +99,6 @@ protected FieldDeserializationInfoBuilder Map(Express return builder; } - protected void MapRequired(Expression> accessorExpression, Func, IErrorReporter, object> customMapperFunc = null) - { - var builder = new FieldDeserializationInfoBuilder(); - builder.SetProperty(accessorExpression); - builder.IsRequired(); - builder.MapUsing(customMapperFunc); - - _fieldBuilders.Add(builder); - } - - protected void MapRequired( - Expression> accessorExpression, IDeserializer deserializer) - where TReturn: new() - { - var builder = new FieldDeserializationInfoBuilder(); - builder.SetProperty(accessorExpression); - builder.IsRequired(); - builder.MapUsingDeserializer(deserializer); - - _fieldBuilders.Add(builder); - } - - protected void MapOptional( - Expression> accessorExpression, TReturn defaultValue = default, Func, IErrorReporter, object> customMapperFunc = null) - { - var builder = new FieldDeserializationInfoBuilder(); - builder.SetProperty(accessorExpression); - builder.WithDefault(defaultValue); - builder.MapUsing(customMapperFunc); - - _fieldBuilders.Add(builder); - } - - protected void MapOptional( - Expression> accessorExpression, IDeserializer deserializer) - where TReturn: new() - { - var builder = new FieldDeserializationInfoBuilder(); - builder.SetProperty(accessorExpression); - builder.MapUsingDeserializer(deserializer); - - _fieldBuilders.Add(builder); - } - protected void IgnoreField(string fieldName) { _ignoredFields.Add(fieldName); diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ApiManagementDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ApiManagementDeserializer.cs index bdddcd7b5..96a5a5458 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ApiManagementDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ApiManagementDeserializer.cs @@ -14,8 +14,9 @@ public class ApiManagementDeserializer : ResourceDeserializerThe logger. public ApiManagementDeserializer(ILogger logger) : base(logger) { - MapRequired(resource => resource.InstanceName); - MapOptional(resource => resource.LocationName); + Map(resource => resource.InstanceName) + .IsRequired(); + Map(resource => resource.LocationName); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/AppPlanDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/AppPlanDeserializer.cs index 1b0cf70a3..097a74fb5 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/AppPlanDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/AppPlanDeserializer.cs @@ -7,7 +7,8 @@ public class AppPlanDeserializer : ResourceDeserializer { public AppPlanDeserializer(ILogger logger) : base(logger) { - MapRequired(resource => resource.AppPlanName); + Map(resource => resource.AppPlanName) + .IsRequired(); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/BlobStorageDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/BlobStorageDeserializer.cs index 252f3244c..6bd93ac6e 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/BlobStorageDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/BlobStorageDeserializer.cs @@ -7,7 +7,8 @@ public class BlobStorageDeserializer : ResourceDeserializer logger) : base(logger) { - MapRequired(resource => resource.AccountName); + Map(resource => resource.AccountName) + .IsRequired(); } } } \ No newline at end of file diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ContainerInstanceDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ContainerInstanceDeserializer.cs index fb5dac005..f4cfa8e8f 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ContainerInstanceDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ContainerInstanceDeserializer.cs @@ -7,7 +7,8 @@ public class ContainerInstanceDeserializer : ResourceDeserializer logger) : base(logger) { - MapRequired(resource => resource.ContainerGroup); + Map(resource => resource.ContainerGroup) + .IsRequired(); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ContainerRegistryDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ContainerRegistryDeserializer.cs index 072246514..741b703fd 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ContainerRegistryDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ContainerRegistryDeserializer.cs @@ -7,7 +7,8 @@ public class ContainerRegistryDeserializer : ResourceDeserializer logger) : base(logger) { - MapRequired(resource => resource.RegistryName); + Map(resource => resource.RegistryName) + .IsRequired(); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/CosmosDbDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/CosmosDbDeserializer.cs index 3a72b9dbd..d1308f039 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/CosmosDbDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/CosmosDbDeserializer.cs @@ -7,7 +7,8 @@ public class CosmosDbDeserializer : ResourceDeserializer { public CosmosDbDeserializer(ILogger logger) : base(logger) { - MapRequired(resource => resource.DbName); + Map(resource => resource.DbName) + .IsRequired(); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/DeviceProvisioningServiceDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/DeviceProvisioningServiceDeserializer.cs index e84de8861..cf48bc40b 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/DeviceProvisioningServiceDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/DeviceProvisioningServiceDeserializer.cs @@ -7,7 +7,8 @@ public class DeviceProvisioningServiceDeserializer : ResourceDeserializer logger) : base(logger) { - MapRequired(resource => resource.DeviceProvisioningServiceName); + Map(resource => resource.DeviceProvisioningServiceName) + .IsRequired(); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/FileStorageDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/FileStorageDeserializer.cs index 8b3657313..b5c1a559a 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/FileStorageDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/FileStorageDeserializer.cs @@ -7,7 +7,8 @@ public class FileStorageDeserializer : ResourceDeserializer logger) : base(logger) { - MapRequired(resource => resource.AccountName); + Map(resource => resource.AccountName) + .IsRequired(); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/FunctionAppDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/FunctionAppDeserializer.cs index 922fae8e8..735aec11c 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/FunctionAppDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/FunctionAppDeserializer.cs @@ -7,8 +7,9 @@ public class FunctionAppDeserializer : ResourceDeserializer logger) : base(logger) { - MapRequired(resource => resource.FunctionAppName); - MapOptional(resource => resource.SlotName); + Map(resource => resource.FunctionAppName) + .IsRequired(); + Map(resource => resource.SlotName); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/GenericResourceDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/GenericResourceDeserializer.cs index 241300d88..f18d69011 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/GenericResourceDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/GenericResourceDeserializer.cs @@ -7,8 +7,9 @@ public class GenericResourceDeserializer : ResourceDeserializer logger) : base(logger) { - MapRequired(resource => resource.ResourceUri); - MapOptional(resource => resource.Filter); + Map(resource => resource.ResourceUri) + .IsRequired(); + Map(resource => resource.Filter); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/IoTHubDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/IoTHubDeserializer.cs index e69888443..a291610d1 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/IoTHubDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/IoTHubDeserializer.cs @@ -7,7 +7,8 @@ public class IoTHubDeserializer : ResourceDeserializer { public IoTHubDeserializer(ILogger logger) : base(logger) { - MapRequired(resource => resource.IoTHubName); + Map(resource => resource.IoTHubName) + .IsRequired(); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/KeyVaultDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/KeyVaultDeserializer.cs index 498fa4e1d..38c00ee64 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/KeyVaultDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/KeyVaultDeserializer.cs @@ -7,7 +7,8 @@ public class KeyVaultDeserializer : ResourceDeserializer { public KeyVaultDeserializer(ILogger logger) : base(logger) { - MapRequired(resource => resource.VaultName); + Map(resource => resource.VaultName) + .IsRequired(); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/NetworkInterfaceDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/NetworkInterfaceDeserializer.cs index 883f09ba9..e01d98548 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/NetworkInterfaceDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/NetworkInterfaceDeserializer.cs @@ -7,7 +7,8 @@ public class NetworkInterfaceDeserializer : ResourceDeserializer logger) : base(logger) { - MapRequired(resource => resource.NetworkInterfaceName); + Map(resource => resource.NetworkInterfaceName) + .IsRequired(); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/PostgreSqlDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/PostgreSqlDeserializer.cs index 1034e6051..68391aeb9 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/PostgreSqlDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/PostgreSqlDeserializer.cs @@ -7,7 +7,8 @@ public class PostgreSqlDeserializer : ResourceDeserializer { public PostgreSqlDeserializer(ILogger logger) : base(logger) { - MapRequired(resource => resource.ServerName); + Map(resource => resource.ServerName) + .IsRequired(); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/RedisCacheDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/RedisCacheDeserializer.cs index 6c1593a94..eaa54eaa3 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/RedisCacheDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/RedisCacheDeserializer.cs @@ -7,7 +7,8 @@ public class RedisCacheDeserializer : ResourceDeserializer { public RedisCacheDeserializer(ILogger logger) : base(logger) { - MapRequired(resource => resource.CacheName); + Map(resource => resource.CacheName) + .IsRequired(); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ResourceDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ResourceDeserializer.cs index 3ac9a91e1..c89d81c48 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ResourceDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ResourceDeserializer.cs @@ -12,8 +12,8 @@ public abstract class ResourceDeserializer : Deserializer resource.SubscriptionId); - MapOptional(resource => resource.ResourceGroupName); + Map(resource => resource.SubscriptionId); + Map(resource => resource.ResourceGroupName); } } } \ No newline at end of file diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ServiceBusQueueDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ServiceBusQueueDeserializer.cs index 2193e3eeb..76d234748 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ServiceBusQueueDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/ServiceBusQueueDeserializer.cs @@ -7,8 +7,10 @@ public class ServiceBusQueueDeserializer : ResourceDeserializer logger) : base(logger) { - MapRequired(resource => resource.QueueName); - MapRequired(resource => resource.Namespace); + Map(resource => resource.QueueName) + .IsRequired(); + Map(resource => resource.Namespace) + .IsRequired(); } } } \ No newline at end of file diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/SqlDatabaseDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/SqlDatabaseDeserializer.cs index b39c2b927..b0169f039 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/SqlDatabaseDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/SqlDatabaseDeserializer.cs @@ -14,8 +14,10 @@ public class SqlDatabaseDeserializer : ResourceDeserializerThe logger. public SqlDatabaseDeserializer(ILogger logger) : base(logger) { - MapRequired(resource => resource.ServerName); - MapRequired(resource => resource.DatabaseName); + Map(resource => resource.ServerName) + .IsRequired(); + Map(resource => resource.DatabaseName) + .IsRequired(); } } } \ No newline at end of file diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/SqlManagedInstanceDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/SqlManagedInstanceDeserializer.cs index eea1c21ac..e8b0b045e 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/SqlManagedInstanceDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/SqlManagedInstanceDeserializer.cs @@ -14,7 +14,8 @@ public class SqlManagedInstanceDeserializer : ResourceDeserializerThe logger. public SqlManagedInstanceDeserializer(ILogger logger) : base(logger) { - MapRequired(resource => resource.InstanceName); + Map(resource => resource.InstanceName) + .IsRequired(); } } } \ No newline at end of file diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/SqlServerDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/SqlServerDeserializer.cs index f69f5a257..e25a5f29a 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/SqlServerDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/SqlServerDeserializer.cs @@ -14,7 +14,8 @@ public class SqlServerDeserializer : ResourceDeserializer /// The logger. public SqlServerDeserializer(ILogger logger) : base(logger) { - MapRequired(resource => resource.ServerName); + Map(resource => resource.ServerName) + .IsRequired(); } } } \ No newline at end of file diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/StorageAccountDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/StorageAccountDeserializer.cs index c0007eb5e..11605f0f3 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/StorageAccountDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/StorageAccountDeserializer.cs @@ -7,7 +7,8 @@ public class StorageAccountDeserializer : ResourceDeserializer logger) : base(logger) { - MapRequired(resource => resource.AccountName); + Map(resource => resource.AccountName) + .IsRequired(); } } } \ No newline at end of file diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/StorageQueueDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/StorageQueueDeserializer.cs index ebd8c80ca..a55206a24 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/StorageQueueDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/StorageQueueDeserializer.cs @@ -8,9 +8,13 @@ public class StorageQueueDeserializer : ResourceDeserializer secretDeserializer, ILogger logger) : base(logger) { - MapRequired(resource => resource.AccountName); - MapRequired(resource => resource.QueueName); - MapRequired(resource => resource.SasToken, secretDeserializer); + Map(resource => resource.AccountName) + .IsRequired(); + Map(resource => resource.QueueName) + .IsRequired(); + Map(resource => resource.SasToken) + .IsRequired() + .MapUsingDeserializer(secretDeserializer); } } } \ No newline at end of file diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/VirtualMachineDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/VirtualMachineDeserializer.cs index 927b22c08..423d8a0f9 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/VirtualMachineDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/VirtualMachineDeserializer.cs @@ -7,7 +7,8 @@ public class VirtualMachineDeserializer : ResourceDeserializer logger) : base(logger) { - MapRequired(resource => resource.VirtualMachineName); + Map(resource => resource.VirtualMachineName) + .IsRequired(); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/VirtualMachineScaleSetDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/VirtualMachineScaleSetDeserializer.cs index a270c1a77..174b9f77d 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/VirtualMachineScaleSetDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/VirtualMachineScaleSetDeserializer.cs @@ -7,7 +7,8 @@ public class VirtualMachineScaleSetDeserializer : ResourceDeserializer logger) : base(logger) { - MapRequired(resource => resource.ScaleSetName); + Map(resource => resource.ScaleSetName) + .IsRequired(); } } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/WebAppDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/WebAppDeserializer.cs index fb9fe3632..9faf27764 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/WebAppDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/v1/Providers/WebAppDeserializer.cs @@ -7,8 +7,9 @@ public class WebAppDeserializer : ResourceDeserializer { public WebAppDeserializer(ILogger logger) : base(logger) { - MapRequired(resource => resource.WebAppName); - MapOptional(resource => resource.SlotName); + Map(resource => resource.WebAppName) + .IsRequired(); + Map(resource => resource.SlotName); } } }