This adds some initial syntax for external edges to the language. There are still improvements which are necessary for send/recv.
51 lines
759 B
Plaintext
51 lines
759 B
Plaintext
$ns = "estate"
|
|
$exchanged = kvlookup($ns)
|
|
|
|
$state = maplookup($exchanged, $hostname, "default")
|
|
|
|
if $state == "one" || $state == "default" {
|
|
|
|
file "/tmp/mgmt/state" {
|
|
content => "state: one\n",
|
|
}
|
|
|
|
exec "timer" {
|
|
cmd => "/usr/bin/sleep 1s",
|
|
}
|
|
kv "${ns}" {
|
|
key => $ns,
|
|
value => "two",
|
|
}
|
|
Exec["timer"] -> Kv["${ns}"]
|
|
}
|
|
if $state == "two" {
|
|
|
|
file "/tmp/mgmt/state" {
|
|
content => "state: two\n",
|
|
}
|
|
|
|
exec "timer" {
|
|
cmd => "/usr/bin/sleep 1s",
|
|
}
|
|
kv "${ns}" {
|
|
key => $ns,
|
|
value => "three",
|
|
}
|
|
Exec["timer"] -> Kv["${ns}"]
|
|
}
|
|
if $state == "three" {
|
|
|
|
file "/tmp/mgmt/state" {
|
|
content => "state: three\n",
|
|
}
|
|
|
|
exec "timer" {
|
|
cmd => "/usr/bin/sleep 1s",
|
|
}
|
|
kv "${ns}" {
|
|
key => $ns,
|
|
value => "one",
|
|
}
|
|
Exec["timer"] -> Kv["${ns}"]
|
|
}
|