package io.trygvis.rules.terraform; import java.util.ArrayList import java.util.HashSet import java.util.Map import java.util.Set global io.trygvis.rules.engine.TemplateEngine te; dialect "mvel" rule "terraform-resources" agenda-group "generate" when $r : TerraformResource() then te.template("terraform/resource", $r.output, Map.of("resource", $r)); end rule "main.tf" agenda-group "generate" when $main : TerraformMain() $variables : ArrayList() from collect(TerraformInputVariable(module == $main.module)) then te.template("terraform/main", $main.module + "/main.tf", Map.of("main", $main)); te.template("terraform/variables", $main.module + "/vars.tf", Map.of("variables", $variables)); end