forked from arvancloud/redis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.go
131 lines (109 loc) · 2.8 KB
/
types.go
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package redis
import "net"
type Zone struct {
Name string `json:"name"`
Locations map[string]struct{} `json:"locations"`
}
type Record struct {
A New_A_Record `json:"a,omitempty"`
AAAA []AAAA_Record `json:"aaaa,omitempty"`
TXT []TXT_Record `json:"txt,omitempty"`
CNAME New_CNAME_Record `json:"cname,omitempty"`
NS []NS_Record `json:"ns,omitempty"`
MX []MX_Record `json:"mx,omitempty"`
SRV []SRV_Record `json:"srv,omitempty"`
CAA []CAA_Record `json:"caa,omitempty"`
SOA SOA_Record `json:"soa,omitempty"`
}
type A_Record struct {
Ttl uint32 `json:"ttl,omitempty"`
Ip net.IP `json:"ip"`
}
type New_A_Record struct {
Type string
Value interface{}
}
type CNAME_Record struct {
Ttl uint32 `json:"ttl,omitempty"`
Host string `json:"host"`
}
type New_CNAME_Record struct {
Type string
Value interface{}
}
type Simple_CNAME_Record struct {
Value []CNAME_Record `json:"value"`
}
type FailOver_CNAME_Record struct {
Primary FailOver_CNAME_Data `json:"primary"`
Secondary FailOver_CNAME_Data `json:"secondary"`
}
type FailOver_CNAME_Data struct {
Data []CNAME_Record `json:"data"`
IsHealthy bool `json:"isHealthy"`
HealthCheckConfig FailOverHealthCheckConfig `json:"healthCheckConfig"`
}
type Geo_Location struct {
Location string
Value map[string][]A_Record
}
type Geo_Location_CNAME struct {
Location string
Value map[string][]CNAME_Record
}
type General_A_Record struct {
Value []A_Record
}
type FailOver_A_Record struct {
Primary FailOverData
Secondary FailOverData
}
type FailOverData struct {
Data []A_Record
IsHealthy bool
HealthCheckConfig FailOverHealthCheckConfig
}
type FailOverHealthCheckConfig struct {
Type string
TargetIPs []string
Port string
TargetUrl string
}
type AAAA_Record struct {
Ttl uint32 `json:"ttl,omitempty"`
Ip net.IP `json:"ip"`
}
type TXT_Record struct {
Ttl uint32 `json:"ttl,omitempty"`
Text string `json:"text"`
}
type NS_Record struct {
Ttl uint32 `json:"ttl,omitempty"`
Host string `json:"host"`
}
type MX_Record struct {
Ttl uint32 `json:"ttl,omitempty"`
Host string `json:"host"`
Preference uint16 `json:"preference"`
}
type SRV_Record struct {
Ttl uint32 `json:"ttl,omitempty"`
Priority uint16 `json:"priority"`
Weight uint16 `json:"weight"`
Port uint16 `json:"port"`
Target string `json:"target"`
}
type SOA_Record struct {
Ttl uint32 `json:"ttl,omitempty"`
Ns string `json:"ns"`
MBox string `json:"MBox"`
Refresh uint32 `json:"refresh"`
Retry uint32 `json:"retry"`
Expire uint32 `json:"expire"`
MinTtl uint32 `json:"minttl"`
}
type CAA_Record struct {
Flag uint8 `json:"flag"`
Tag string `json:"tag"`
Value string `json:"value"`
}