-
Notifications
You must be signed in to change notification settings - Fork 2
/
config.tosd
124 lines (89 loc) · 2.08 KB
/
config.tosd
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
# SCHEMA: config.tosd
[toml-schema]
version = 1
[types]
[types.databaseType]
type = table
[types.databaseType.server]
type = string
[types.databaseType.ports]
type = array
arraytype = integer
[types.databaseType.connection_max]
type = integer
[types.databaseType.enabled]
type = boolean
optional = false
default = false
[types.serverType]
type = table
[types.serverType.ip]
type = string
[types.serverType.dc]
type = string
[types.serverType.firewall]
type = table
[types.serverType.firewall.inbound]
type = string
[types.serverType.firewall.outbound]
type = string
[types.serverType.maindb]
typeref = "types.databaseType"
[types.serverType.sharding]
type = table-collection
typeref = "types.databaseType"
optional = true
minoccurs = 1
[types.serverType.replicas]
typeref = "types.listOfServersType"
[types.serverGroupType]
type = table
[types.serverGroupType.groupname]
type = string
pattern = "[a-zA-Z]*"
# Table Collection requires an implicit name for children: servers.<name>
[types.serverGroupType.servers]
typeref = "types.listOfServersType"
[types.listOfServersType]
type = table-collection
typeref = "types.serverType"
minlength = 10
minoccurs = 1
maxoccurs = 2
pattern = "[a-zA-Z]*" # applies for the key of servers
[types.listOfServerGroupsType]
type = table-collection
typeref = "types.serverGroupType"
# minoccurs = 1
[types.libraryType]
type = table
[types.library.name]
type = string
[types.library.version]
type = string
[elements]
[elements.title]
type = string
# minlength = 10
# maxlength = 20
[elements.owner]
type = table
[elements.owner.name]
type = string
[elements.owner.dob]
type = local-date
[elements.database]
typeref = "types.databaseType"
[elements.serverGroups]
typeref = "types.listOfServerGroupsType"
[elements.clients]
type = table
[elements.clients.data]
type = array
arraytype = any
[elements.hosts]
type = array
arraytype = string
[elements.libraries]
type = table-collection
typeref = "types.libraryType"