From 263c12db0ff2fe3af35986f4e8b5ea0d368f5f26 Mon Sep 17 00:00:00 2001 From: "m.lettere" Date: Mon, 20 Dec 2021 18:00:01 +0100 Subject: [PATCH] added new workflow --- .../add_workspace_client_to_contexts.json.j2 | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 templates/add_workspace_client_to_contexts.json.j2 diff --git a/templates/add_workspace_client_to_contexts.json.j2 b/templates/add_workspace_client_to_contexts.json.j2 new file mode 100644 index 0000000..bba3c73 --- /dev/null +++ b/templates/add_workspace_client_to_contexts.json.j2 @@ -0,0 +1,50 @@ +{ + "ownerApp" : "Orchestrator", + "name" : "add_workspace_client_to_contexts", + "createBy" : "Marco Lettere", + "description": "A workspace client is made Member of all the contexts passed as input by calling the add_workspace_client_to_context sub-workflow", + "version" : 1, + "ownerEmail" : "marco.lettere@nubisware.com", + "inputParameters" : ["client_id", "context_list"], + "tasks" : [ + { + "name": "LAMBDA_TASK", + "taskReferenceName": "init", + "type": "LAMBDA", + "inputParameters": { + "root_vo": "{{ root_vo }}", + "keycloak": "{{ keycloak }}/{{ keycloak_realm }}", + "id" : "${workflow.input.client_id}" + "keycloak_admin" : "{{ keycloak_admin }}/{{ keycloak_realm }}", + "scriptExpression": "function e(v){ return (v == null || (v.trim && v.trim() === ''))}; if(e($.id)) throw('Client ID must not be empty'); return { } }" + } + }, + { + "name": "LAMBDA_TASK", + "taskReferenceName": "build_tasks_to_add_ws_client_to_all_contexts", + "type": "LAMBDA", + "inputParameters": { + "context_list" : "${workflow.input.context_list}", + "client_id" : "${workflow.input.client_id}", + "scriptExpression": "inputs={},tasks=[];for(var i=0;i<$.context_list.length;i++)c=$.context_list[i],tasks.push({name:'sub_workflow_task',type:'SUB_WORKFLOW',taskReferenceName:'add_workspace_client_to_context_'+i, subWorkflowParam:{ name:'add_workspace_client_to_context'}}),inputs['add_workspace_client_to_context_'+i]={client_id : $.client_id, context: c};return {tasks:Java.to(tasks,'java.util.Map[]'),inputs:inputs};" + } + }, + { + "name" : "fork_dynamic", + "type" : "FORK_JOIN_DYNAMIC", + "taskReferenceName" : "parallel_build_tasks_to_add_ws_client_to_all_contexts", + "inputParameters" : { + "tasks" : "${build_tasks_to_add_ws_client_to_all_contexts.output.result.tasks}", + "inputs" : "${build_tasks_to_add_ws_client_to_all_contexts.output.result.inputs}" + }, + "dynamicForkTasksParam": "tasks", + "dynamicForkTasksInputParamName": "inputs" + }, + { + "name" : "join", + "type" : "JOIN", + "taskReferenceName" : "join_build_tasks_to_add_ws_client_to_all_contexts" + } + ] +} +