control-panel-dns/problems.go

83 lines
1.1 KiB
Go
Raw Normal View History

// 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
desc string
value string
aaaa string
fixed bool
duration *time.Duration
}
var IPcreate = Problem {
kind: RR,
action: CREATE,
desc: "This RR entry in the zonefile needs to be removed",
}
/*
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
}
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"
}