diff --git a/templates/add_role_policy_permission.json.j2 b/templates/add_role_policy_permission.json.j2 index 06d1b0e..0d14f44 100644 --- a/templates/add_role_policy_permission.json.j2 +++ b/templates/add_role_policy_permission.json.j2 @@ -62,16 +62,7 @@ "roles" : [{ "id" : "${workflow.input.role.id}", "required" : true}] } } - }, - { - "name": "LAMBDA_TASK", - "taskReferenceName": "to_array", - "type": "LAMBDA", - "inputParameters": { - "p": "${add_policy.output.body}", - "scriptExpression": "return Java.to([$.p],'java.util.Map[]')" - } - } + } ], [ { @@ -107,7 +98,17 @@ "name" : "join", "type" : "JOIN", "taskReferenceName" : "join_prepare_policy_and_permission", - "joinOn" : ["retrieve_default_permission_policies","to_array"] + "joinOn" : ["retrieve_default_permission_policies","add_policy"] + }, + { + "name": "LAMBDA_TASK", + "taskReferenceName": "to_policy_array", + "type": "LAMBDA", + "inputParameters": { + "newpolicy": "${add_policy.output.body}", + "prevpolicies" : "${retrieve_default_permission_policies.output.body}" + "scriptExpression": "return Java.to(Java.from($.prevpolicies).concat($newpolicy)),'java.util.Map[]')" + } }, { "name" : "pyrest", @@ -126,7 +127,7 @@ "type" : "resource", "logic": "POSITIVE", "decisionStrategy": "AFFIRMATIVE", - "policies" : "${join_prepare_policy_and_permission.output..[body,result][*].id}" + "policies" : "${to_policy_array.output.result}" } } }