diff --git a/templates/add_all_system_services_to_vre.json.j2 b/templates/add_all_system_services_to_vre.json.j2 index fa573fd..2694421 100644 --- a/templates/add_all_system_services_to_vre.json.j2 +++ b/templates/add_all_system_services_to_vre.json.j2 @@ -155,6 +155,32 @@ "name" : "join", "type" : "JOIN", "taskReferenceName" : "join_parallel_get_system_services_useraccount_tasks" + }, + { + "name": "LAMBDA_TASK", + "taskReferenceName": "build_member_roles_assignment_tasks", + "type": "LAMBDA", + "inputParameters": { + "context" : "${get_vre.output.body}", + "service_ids" : "${join_parallel_get_system_services_useraccount_tasks.output..body.*.id}", + "scriptExpression": "inputs={},tasks=[];for(var s=0;S<$.service_ids.length;i++)c=$.context,tasks.push({name:'sub_workflow_task',type:'SUB_WORKFLOW',taskReferenceName:'call_add_all_member_roles_'+i, subWorkflowParam:{ name:'add_all_member_roles'}}),inputs['call_add_all_member_roles_'+i]={context:c, client:$.service_ids[s]};return {tasks:Java.to(tasks,'java.util.Map[]'),inputs:inputs};" + } + }, + { + "name" : "fork_dynamic", + "type" : "FORK_JOIN_DYNAMIC", + "taskReferenceName" : "parallel_build_member_roles_assignment_tasks", + "inputParameters" : { + "tasks" : "${build_member_roles_assignment_tasks.output.result.tasks}", + "inputs" : "${build_member_roles_assignment_tasks.output.result.inputs}" + }, + "dynamicForkTasksParam": "tasks", + "dynamicForkTasksInputParamName": "inputs" + }, + { + "name" : "join", + "type" : "JOIN", + "taskReferenceName" : "join_parallel_build_member_roles_assignment_tasks" } ] }