diff --git a/templates/group_created.json.j2 b/templates/group_created.json.j2 index 777ec1d..2f8c849 100644 --- a/templates/group_created.json.j2 +++ b/templates/group_created.json.j2 @@ -7,7 +7,7 @@ "ownerEmail" : "marco.lettere@nubisware.com", "inputParameters" : ["user", "group"], "tasks" : [ - { + { "name": "LAMBDA_TASK", "taskReferenceName": "init", "type": "LAMBDA", @@ -225,299 +225,280 @@ "taskReferenceName" : "preliminary_fork_join", "joinOn": [ "create_permission", "get_rootvo_roles"] }, - { - "name" : "fork_join", - "taskReferenceName" : "fork_role_creation", - "type" : "FORK_JOIN", - "forkTasks" : [ - [{ - "name" : "pyrest", - "taskReferenceName" : "create_role_member", - "type" : "SIMPLE", - "inputParameters" : { - "url" : "${create_client.output.headers.location}/roles", - "body" : { - "clientRole" : true, "name" : "Member", "description" : "Simple membership for ${init.output.result.name}" - }, - "method" : "POST", - "headers" : { - "Authorization" : "Bearer ${authorize.output.body.access_token}", - "Content-Type" : "application/json" - } + { + "name" : "pyrest", + "taskReferenceName" : "create_role_member", + "type" : "SIMPLE", + "inputParameters" : { + "url" : "${create_client.output.headers.location}/roles", + "body" : { + "clientRole" : true, "name" : "Member", "description" : "Simple membership for ${init.output.result.name}" + }, + "method" : "POST", + "headers" : { + "Authorization" : "Bearer ${authorize.output.body.access_token}", + "Content-Type" : "application/json" + } + } + }, + { + "name" : "pyrest", + "taskReferenceName" : "get_back_role_member", + "type" : "SIMPLE", + "inputParameters" : { + "url" : "${create_role_member.output.headers.location}", + "method" : "GET", + "headers" : { + "Authorization" : "Bearer ${authorize.output.body.access_token}", + "Accept" : "application/json" + } + } + }, + { + "name": "jq_1", + "taskReferenceName": "to_array", + "type": "JSON_JQ_TRANSFORM", + "inputParameters": { + "role": "${get_back_role_member.output.body}", + "queryExpression" : ".role" + } + }, + { + "name" : "pyrest", + "taskReferenceName" : "add_role_member_as_component_of_infrastructure_member", + "type" : "SIMPLE", + "inputParameters" : { + "url" : "${init.input.keycloak_admin}/roles/Infrastructure-Member/composites", + "method" : "POST", + "headers" : { + "Authorization" : "Bearer ${authorize.output.body.access_token}", + "Content-Type" : "application/json" + }, + "body" : "${to_array.output.resultList}" + } + }, + { + "name" : "pyrest", + "taskReferenceName" : "create_role_policy_member", + "type" : "SIMPLE", + "inputParameters" : { + "url" : "${init.input.keycloak_admin}/clients/${extract_client_id.output.result.client_id}/authz/resource-server/policy/role", + "body" : { + "name": "Member_policy", + "description": "", + "type" : "role", + "logic": "POSITIVE", + "decisionStrategy": "UNANIMOUS", + "roles" : [ + { + "id" : "${get_back_role_member.output.body.id}", + "required" : true } - }, - { - "name" : "pyrest", - "taskReferenceName" : "get_back_role_member", - "type" : "SIMPLE", - "inputParameters" : { - "url" : "${create_role_member.output.headers.location}", - "method" : "GET", - "headers" : { - "Authorization" : "Bearer ${authorize.output.body.access_token}", - "Accept" : "application/json" - } - } - }, - { - "name": "jq_1", - "taskReferenceName": "to_array", - "type": "JSON_JQ_TRANSFORM", - "inputParameters": { - "role": "${get_back_role_member.output.body}", - "queryExpression" : ".role" - } - }, - { - "name" : "pyrest", - "taskReferenceName" : "add_role_member_as_component_of_infrastructure_member", - "type" : "SIMPLE", - "inputParameters" : { - "url" : "${init.input.keycloak_admin}/roles/Infrastructure-Member/composites", - "method" : "POST", - "headers" : { - "Authorization" : "Bearer ${authorize.output.body.access_token}", - "Content-Type" : "application/json" - }, - "body" : "${to_array.output.resultList}" - } - }, - { - "name" : "pyrest", - "taskReferenceName" : "create_role_policy_member", - "type" : "SIMPLE", - "inputParameters" : { - "url" : "${init.input.keycloak_admin}/clients/${extract_client_id.output.result.client_id}/authz/resource-server/policy/role", - "body" : { - "name": "Member_policy", - "description": "", - "type" : "role", - "logic": "POSITIVE", - "decisionStrategy": "UNANIMOUS", - "roles" : [ - { - "id" : "${get_back_role_member.output.body.id}", - "required" : true - } - ] - }, - "method" : "POST", - "headers" : { - "Authorization" : "Bearer ${authorize.output.body.access_token}", - "Content-Type" : "application/json", - "Accept" : "application/json" - } - } - }, - { - "name" : "pyrest", - "taskReferenceName" : "list_kc_groups", - "type" : "SIMPLE", - "inputParameters" : { - "url" : "${init.input.keycloak_admin}/groups", - "method" : "GET", - "headers" : { - "Authorization" : "Bearer ${authorize.output.body.access_token}", - "Accept" : "application/json" - } - } - }, + ] + }, + "method" : "POST", + "headers" : { + "Authorization" : "Bearer ${authorize.output.body.access_token}", + "Content-Type" : "application/json", + "Accept" : "application/json" + } + } + }, + { + "name" : "pyrest", + "taskReferenceName" : "list_kc_groups", + "type" : "SIMPLE", + "inputParameters" : { + "url" : "${init.input.keycloak_admin}/groups", + "method" : "GET", + "headers" : { + "Authorization" : "Bearer ${authorize.output.body.access_token}", + "Accept" : "application/json" + } + } + }, + { + "name": "LAMBDA_TASK", + "taskReferenceName": "prepare", + "type": "LAMBDA", + "inputParameters": { + "append": "${init.output.result.append}", + "groups": "${list_kc_groups.output.body}", + "scriptExpression": "function recurse(inp){for(var i=0;i