package cn.seecoder.analysis.config; import jakarta.validation.constraints.Max; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotBlank; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.validation.annotation.Validated; @Validated @ConfigurationProperties(prefix = "d4.metrics") public class D4MetricsProperties { @NotBlank private String indexPattern = "k8s-logs-*"; @Min(1) private int defaultRangeDays = 30; @Min(1) private int pageSize = 500; @Min(1) @Max(10000) private int maxEventsToScan = 10000; private Long defaultTaskSlaMs = 86_400_000L; public String getIndexPattern() { return indexPattern; } public void setIndexPattern(String indexPattern) { this.indexPattern = indexPattern; } public int getDefaultRangeDays() { return defaultRangeDays; } public void setDefaultRangeDays(int defaultRangeDays) { this.defaultRangeDays = defaultRangeDays; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getMaxEventsToScan() { return maxEventsToScan; } public void setMaxEventsToScan(int maxEventsToScan) { this.maxEventsToScan = maxEventsToScan; } public Long getDefaultTaskSlaMs() { return defaultTaskSlaMs; } public void setDefaultTaskSlaMs(Long defaultTaskSlaMs) { this.defaultTaskSlaMs = defaultTaskSlaMs; } }