public CollectedDataThresholdsValidator(InstanceSettingsDto instanceValidatorDto) { RuleFor(d => d.ClientId) .NotNull() .NotEqual(Guid.Empty); RuleSet("RamUsage", () => { RuleFor(d => d.RamUsagePercentage) .NotNull() .LessThan(instanceValidatorDto.RamUsagePercentageMax); }); RuleSet("LocalDiskUsage", () => { RuleFor(d => d.LocalDiskUsagePercentage) .NotNull() .LessThan(instanceValidatorDto.LocalDiskUsagePercentageMax); }); RuleSet("CpuUsage", () => { RuleFor(d => d.CpuUsagePercentage) .NotNull() .LessThan(instanceValidatorDto.CpuUsagePercentageMax); }); }
private async Task <MessageProcessResponse> onSettingsProcessAsync(InstanceSettingsMessage arg, CancellationToken stoppingToken) { if (stoppingToken.IsCancellationRequested) { return(MessageProcessResponse.Abandon); } InstanceSettingsDto dto = new InstanceSettingsDto() { ClientId = arg.InstanceId, IsActive = arg.IsActive, AggregationForHour = arg.AggregationForHour, AggregationForDay = arg.AggregationForDay, AggregationForWeek = arg.AggregationForWeek, AggregationForMonth = arg.AggregationForMonth, CpuUsagePercentageMax = arg.CpuMaxPercent, RamUsagePercentageMax = arg.RamMaxPercent, LocalDiskUsagePercentageMax = arg.DiskMaxPercent, //validators are enabled by default //maybe in future we may add ability to change it CpuValidator = true, RamValidator = true, LocalDiskVallidator = true, }; var x = await _instanceSettingsService.AddEntityAsync(dto); if (x == null) { return(MessageProcessResponse.Abandon); } return(MessageProcessResponse.Complete); }