@@ -12,6 +12,7 @@ type GRPCHealthStatus string
1212type RecordType string
1313type GRPCHealthService string
1414type GRPCHealthMethod string
15+ type StatusImpact string
1516
1617const (
1718 HTTP CheckType = "http"
@@ -35,6 +36,11 @@ const (
3536
3637 HealthService GRPCHealthService = "grpc.health.v1.Health"
3738 HealthMethod GRPCHealthMethod = "Check"
39+
40+ StatusImpactNone StatusImpact = "none"
41+ StatusImpactMinor StatusImpact = "minor"
42+ StatusImpactMajor StatusImpact = "major"
43+ StatusImpactCritical StatusImpact = "critical"
3844)
3945
4046type Comparer [T any ] interface {
@@ -67,17 +73,17 @@ type Service struct {
6773
6874//nolint:lll
6975type CheckFields struct {
70- ID string `yaml:"id " json:"id " validate:"required,min=1 "`
76+ StatusImpact StatusImpact `yaml:"status_impact " json:"status_impact " validate:"required,oneof=none minor major critical "`
7177 Name string `yaml:"name" json:"name" validate:"required,min=1"`
7278 Service string `yaml:"service" json:"service" validate:"required,min=1"`
7379 Type CheckType `yaml:"type" json:"type" validate:"required,oneof=http tcp grpc tls dns"`
74- Tags [] string `yaml:"tags " json:"tags " validate:"omitempty,min=1,dive ,min=1"`
80+ ID string `yaml:"id " json:"id " validate:"required ,min=1"`
7581 AllowedBuckets []string `yaml:"allowed_buckets" json:"allowed_buckets" validate:"omitempty,dive,oneof=second minute hour day"`
7682 Jitter time.Duration `yaml:"jitter" json:"jitter" validate:"gte=0"`
77- Retries int `yaml:"retries" json:"retries" validate:"required,gte=0"`
7883 FailureThreshold int `yaml:"failure_threshold" json:"failure_threshold" validate:"required,gte=1"`
7984 Interval time.Duration `yaml:"interval" json:"interval" validate:"required,gt=0ms"`
8085 Timeout time.Duration `yaml:"timeout" json:"timeout" validate:"required,gt=0ms"`
86+ Retries int `yaml:"retries" json:"retries" validate:"required,gte=0"`
8187 Enabled bool `yaml:"enabled" json:"enabled"`
8288}
8389
0 commit comments