Files
mgmt/examples/lang/states0.mcl
James Shubin 377d62999f engine: resources: The kv resource can set un-mapped values
Previously the resource could only set values in a per-hostname
namespace, but for single, user-managed values, we'd like to be able to
control things entirely. Now this resource can do that.
2024-01-22 17:43:24 -05:00

58 lines
945 B
Plaintext

import "world"
$ns = "estate"
$exchanged = world.kvlookup($ns)
$state = $exchanged[$hostname] || "default"
if $state == "one" or $state == "default" {
file "/tmp/mgmt/state" {
state => $const.res.file.state.exists,
content => "state: one\n",
}
exec "timer" {
cmd => "/usr/bin/sleep 1s",
}
kv "${ns}" {
key => $ns,
value => "two",
mapped = true,
}
Exec["timer"] -> Kv["${ns}"]
}
if $state == "two" {
file "/tmp/mgmt/state" {
state => $const.res.file.state.exists,
content => "state: two\n",
}
exec "timer" {
cmd => "/usr/bin/sleep 1s",
}
kv "${ns}" {
key => $ns,
value => "three",
mapped = true,
}
Exec["timer"] -> Kv["${ns}"]
}
if $state == "three" {
file "/tmp/mgmt/state" {
state => $const.res.file.state.exists,
content => "state: three\n",
}
exec "timer" {
cmd => "/usr/bin/sleep 1s",
}
kv "${ns}" {
key => $ns,
value => "one",
mapped = true,
}
Exec["timer"] -> Kv["${ns}"]
}