diff options
Diffstat (limited to 'src/main/resources/io/trygvis/rules/terraform')
-rw-r--r-- | src/main/resources/io/trygvis/rules/terraform/terraform.drl | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/main/resources/io/trygvis/rules/terraform/terraform.drl b/src/main/resources/io/trygvis/rules/terraform/terraform.drl index 1de3123..40b9f7c 100644 --- a/src/main/resources/io/trygvis/rules/terraform/terraform.drl +++ b/src/main/resources/io/trygvis/rules/terraform/terraform.drl @@ -12,30 +12,30 @@ global io.trygvis.rules.engine.TemplateEngine te; declare ScalewayMachine machine : Machine key : String - fqdn : String end rule "Terraform for Machine" when $machine: Machine() then - var fqdn = "%s.machine.acme.com".formatted($machine.name); - var a = DnsEntry.a(fqdn); - var aaaa = DnsEntry.aaaa(fqdn); + ScalewayMachine scw = new ScalewayMachine(); - var scw = new ScalewayMachine(); scw.setKey($machine.name); scw.setMachine($machine); - scw.setFqdn(fqdn); - - var ipv4 = "scaleway_instance_ip.%s.address".formatted($machine.name); -// var ipv6 = "scaleway_instance_server.%s.public_ipv6.address".formatted($machine.name); insert(scw); +end + +rule "Create DNS entry for Terraform Machine" +when + $machine : Machine(fqdn != null) + not(DnsEntry(fqdn == $machine.fqdn)) +then + var a = DnsEntry.a($machine.fqdn); insert(a); - insert(aaaa); + + var ipv4 = "scaleway_instance_ip.%s.address".formatted($machine.name); insert(new DnsEntryTerraformExpression(a, $machine.name, ipv4)); -// insert(new DnsEntryValue(aaaa, ipv6)); end rule "TF for TerraformMachine" |