summaryrefslogtreecommitdiff
path: root/durable_rules-test/py/acme/rai/terraform.py
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2020-12-30 20:48:51 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2020-12-30 20:48:51 +0100
commit866eafabd7398fd1485e7aa285345a7dcea480d0 (patch)
treed0caab0874640678af7fd1e55685da59eb99de0e /durable_rules-test/py/acme/rai/terraform.py
parentea985dfdb3974f3f22381be01c41dcb06a817831 (diff)
downloadrules-sandbox-866eafabd7398fd1485e7aa285345a7dcea480d0.tar.gz
rules-sandbox-866eafabd7398fd1485e7aa285345a7dcea480d0.tar.bz2
rules-sandbox-866eafabd7398fd1485e7aa285345a7dcea480d0.tar.xz
rules-sandbox-866eafabd7398fd1485e7aa285345a7dcea480d0.zip
Moving everything under durable_rules-test.
Diffstat (limited to 'durable_rules-test/py/acme/rai/terraform.py')
-rw-r--r--durable_rules-test/py/acme/rai/terraform.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/durable_rules-test/py/acme/rai/terraform.py b/durable_rules-test/py/acme/rai/terraform.py
new file mode 100644
index 0000000..6feedd1
--- /dev/null
+++ b/durable_rules-test/py/acme/rai/terraform.py
@@ -0,0 +1,41 @@
+from durable.lang import *
+
+class Terraform:
+ @staticmethod
+ def recordSetForMachine(machineKey: str, terraformId: str, fqdn: str):
+ return {"type": "terraform-record-set",
+ "key": machineKey,
+ "terraformId": terraformId,
+ "fqdn": fqdn,
+ "rrType": "A",
+ "rrData": f"scaleway_instance_ip.{machineKey}.address",
+ }
+
+ @staticmethod
+ def machine(key: str):
+ return {"type": "terraform-machine",
+ "key": key,
+ }
+
+ @staticmethod
+ def declare_rules():
+ @when_all(
+ c.dns << (m.type == "dns-entry"),
+ c.machine << ((m.type == "terraform-machine") & (m.key == c.dns.key)),
+ )
+ def onDnsEntry(c):
+ terraformId = c.dns.fqdn.replace(".", "_")
+ c.assert_fact(Terraform.recordSetForMachine(c.machine.key, terraformId, c.dns.fqdn))
+
+ @when_all((m.type == "terraform-record-set"))
+ def defaultTerraformRecordSet(c):
+ pass
+
+ @when_all((m.type == "machine"))
+ def onDnsEntry(c):
+ print(f"matched machine: {c.m}")
+ c.assert_fact(Terraform.machine(c.m.key))
+
+ @when_all((m.type == "terraform-machine"))
+ def defaultTerraformMachine(c):
+ print(f"matched terraform-machine: {c.m}")