blob: f0c5ebb57c83b740662c10e600ac7f7540acaa77 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
  | 
// 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 // how long until you should check to see if it's fixed
	born     time.Time     // when first reported
	begun       bool      // weather or not fixing it has begun
	begunTime   time.Time // when the attempt to fix the problem happened
	begunResult bool      // weather or not the attempt worked
}
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 "FIXMEP"
	}
	return "FIXMEP"
}
func (s ActionType) String() string {
	switch s {
	case USER:
		return "USER"
	case CREATE:
		return "CREATE"
	case DELETE:
		return "DELETE"
	default:
		return "FIXMEA"
	}
	return "FIXMEA"
}
  |