2024-01-08 12:55:23 -06:00
|
|
|
// this defines the kinds of problems that can be detected
|
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
type ProblemType int
|
|
|
|
type ActionType int
|
|
|
|
|
|
|
|
type Problem struct {
|
|
|
|
kind ProblemType
|
|
|
|
action ActionType
|
|
|
|
|
|
|
|
id int
|
|
|
|
Name string
|
2024-01-08 22:34:08 -06:00
|
|
|
desc string
|
2024-01-08 12:55:23 -06:00
|
|
|
value string
|
2024-01-08 22:34:08 -06:00
|
|
|
aaaa string
|
2024-01-08 12:55:23 -06:00
|
|
|
fixed bool
|
|
|
|
duration *time.Duration
|
|
|
|
}
|
|
|
|
|
2024-01-08 22:34:08 -06:00
|
|
|
var IPcreate = Problem {
|
|
|
|
kind: RR,
|
|
|
|
action: CREATE,
|
|
|
|
desc: "This RR entry in the zonefile needs to be removed",
|
|
|
|
}
|
|
|
|
|
2024-01-08 12:55:23 -06:00
|
|
|
/*
|
|
|
|
var hostname Problem = (
|
|
|
|
kind: ProblemType.OS,
|
|
|
|
action: ActionType.CREATE,
|
|
|
|
Name: "Your /etc/hostname file is incorrect",
|
|
|
|
fixed: false,
|
|
|
|
)
|
|
|
|
*/
|
|
|
|
|
|
|
|
const (
|
|
|
|
OS ProblemType = iota
|
|
|
|
ETC
|
|
|
|
RESOLVE
|
|
|
|
RR
|
|
|
|
PING
|
|
|
|
LOOKUP
|
|
|
|
)
|
|
|
|
|
|
|
|
const (
|
|
|
|
USER ActionType = iota
|
|
|
|
CREATE
|
|
|
|
DELETE
|
|
|
|
)
|
|
|
|
|
|
|
|
func (s Problem) String() string {
|
|
|
|
return s.Name
|
|
|
|
}
|
2024-01-08 22:34:08 -06:00
|
|
|
|
|
|
|
func (s ProblemType) String() string {
|
|
|
|
switch s {
|
|
|
|
case OS:
|
|
|
|
return "OS"
|
|
|
|
case RR:
|
|
|
|
return "RR"
|
|
|
|
default:
|
|
|
|
return "something"
|
|
|
|
}
|
|
|
|
return "someprob"
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s ActionType) String() string {
|
|
|
|
switch s {
|
|
|
|
case USER:
|
|
|
|
return "USER"
|
|
|
|
case CREATE:
|
|
|
|
return "CREATE"
|
|
|
|
case DELETE:
|
|
|
|
return "DELETE"
|
|
|
|
default:
|
|
|
|
return "something"
|
|
|
|
}
|
|
|
|
return "someprob"
|
|
|
|
}
|