Skip to content

Commit 6691a7c

Browse files
committed
Schema validation: basic sample
1 parent aea4155 commit 6691a7c

File tree

4 files changed

+48
-0
lines changed

4 files changed

+48
-0
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
-- byeer.lua --
2+
local log = require('log').new("byeer")
3+
4+
return {
5+
dependencies = { 'greeter' },
6+
validate = function() end,
7+
apply = function() log.info("Bye from the 'byeer' role!") end,
8+
stop = function() end,
9+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
groups:
2+
group001:
3+
replicasets:
4+
replicaset001:
5+
instances:
6+
instance001:
7+
roles: [ greeter ]
8+
roles_cfg:
9+
greeter:
10+
greeting: 'Hi'
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-- greeter.lua --
2+
local log = require('log').new("greeter")
3+
local schema = require('experimental.config.utils.schema')
4+
5+
local greeting_schema = schema.new('greeting', schema.record({
6+
greeting = schema.enum({ 'Hi', 'Hello' })
7+
}))
8+
9+
local function validate(cfg)
10+
if cfg.greeting then
11+
greeting_schema:validate(cfg)
12+
end
13+
end
14+
15+
local function apply(cfg)
16+
local greeting = greeting_schema:get(cfg, 'greeting')
17+
log.info("%s from the 'greeter' role!", greeting)
18+
end
19+
20+
local function stop()
21+
log.info("The 'greeter' role is stopped")
22+
end
23+
24+
return {
25+
validate = validate,
26+
apply = apply,
27+
stop = stop,
28+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
instance001:

0 commit comments

Comments
 (0)