From 0791974bd9283fe609732182fb58c45de4f64303 Mon Sep 17 00:00:00 2001
From: Janis Streib <janis.streib@kit.edu>
Date: Fri, 19 Apr 2024 18:24:43 +0200
Subject: [PATCH] UPD: create missing fqdns; FIX: typos

---
 json_templates/acme_serviceaccount.json | 52 ++++++++++++++++++++++---
 1 file changed, 46 insertions(+), 6 deletions(-)

diff --git a/json_templates/acme_serviceaccount.json b/json_templates/acme_serviceaccount.json
index 5929dda..6447973 100644
--- a/json_templates/acme_serviceaccount.json
+++ b/json_templates/acme_serviceaccount.json
@@ -3,12 +3,12 @@
   "author": "KIT-CA Team <kit-ca-betrieb@scc.kit.edu>",
   "target_api": "4.0",
   "name": {
-    "de": "ACME Service-Account",
-    "en": "ACME service account"
+    "de": "Service-Account für ACME",
+    "en": "Service Account for ACME"
   },
   "description": {
-    "de": "Erstelle einen Service-Account für ACME4NETVS",
-    "en": "Create a service account for ACME4NETVS"
+    "de": "Erstelle einen Service-Account für ACME4NETVS.",
+    "en": "Create a service account for ACME4NETVS."
   },
   "list_display_name": {
     "de": "Service-Account für ACME anlegen in der OE {{ ou_short_name }} für den Dienst {{ name }}.",
@@ -160,6 +160,14 @@
         }
       ]
     },
+    {
+      "idx": "tmpFqdnList",
+      "name": "tmp.generic_object.list",
+      "ref_params_join_on_val_attrs_tuple": ["item"],
+      "old": {
+        "_dict_list": "{{ domains }}"
+      }
+    },
     {
       "idx": "getFQDNS",
       "name": "dns.fqdn.list",
@@ -167,6 +175,38 @@
         "value_list": "{{ domains }}"
       }
     },
+    {
+      "idx": "tmpExistingFqdnList",
+      "name": "tmp.generic_object.create",
+      "ref_params_join_on_val_attrs_tuple": ["item"],
+      "new_ref_params": [
+        {"idx":  "getFQDNS", "params": {"item":  "value"}}
+      ]
+    },
+    {
+      "idx": "missingFqdns",
+      "name": "tmp.generic_object.create",
+      "ref_params_join_on_val_attrs_tuple": ["item"],
+      "new_ref_params": [
+        { "idx": "tmpFqdnList" },
+        { "idx": "tmpExistingFqdnList",  "join_type": "full_anti", "join_on": "val" }
+      ]
+    },
+    {
+      "idx": "createfqdn",
+      "name": "dns.fqdn.create",
+      "new": {
+        "type": "domain"
+      },
+      "new_ref_params": [
+        {
+          "idx": "missingFqdns",
+          "params": {
+            "value": "item"
+          }
+        }
+      ]
+    },
     {
       "idx": "fqdn2group",
       "name": "dns.fqdn2group.create",
@@ -178,9 +218,9 @@
           }
         },
         {
-          "idx": "getFQDNS",
+          "idx": "tmpFqdnList",
           "params": {
-            "fqdn_value": "value"
+            "fqdn_value": "item"
           },
           "join_type": "cross"
         }
-- 
GitLab