This is an initial implementation of the mgmt language. It is a declarative (immutable) functional, reactive, domain specific programming language. It is intended to be a language that is: * safe * powerful * easy to reason about With these properties, we hope this language, and the mgmt engine will allow you to model the real-time systems that you'd like to automate. This also includes a number of other associated changes. Sorry for the large size of this patch.
36 lines
519 B
Plaintext
36 lines
519 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",
|
|
}
|
|
kv "${ns}" {
|
|
key => $ns,
|
|
value => "two",
|
|
}
|
|
}
|
|
if $state == "two" {
|
|
|
|
file "/tmp/mgmt/state" {
|
|
content => "state: two\n",
|
|
}
|
|
kv "${ns}" {
|
|
key => $ns,
|
|
value => "three",
|
|
}
|
|
}
|
|
if $state == "three" {
|
|
|
|
file "/tmp/mgmt/state" {
|
|
content => "state: three\n",
|
|
}
|
|
kv "${ns}" {
|
|
key => $ns,
|
|
value => "one",
|
|
}
|
|
}
|