Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

LDAP - Multivalued Attribute - Update Account JSON

ssudhakar
New Contributor III
New Contributor III

Hi Team,

We are able to achieve multivalued attribute mapping while creating the account in OUD, however we need some samples for update account json mapping for multivalued attribute as same mapping used in create for multivalued is failing as it finds duplicate values in the target while provisioning and task is getting failed.
Question
1. Can anyone please provide a sample multivalued attribute mapping for update account JSON ?
2. in multivalued attribute mapping, how we can do removal of specific value or writing all values we want the system to keep which will inturn remove the field values to be removed?
3. how we can use account level customproperty values in the update account json mapping condition ?

Regards,
Sudhin Sudhakar

 

2 REPLIES 2

Manikanta_S
Saviynt Employee
Saviynt Employee

Hello Sudhakar,

Please check, if the below sample helps you.

"cn":"${role?.displayname}",
"objectCategory":"CN=Group,CN=Schema,CN=Configuration,DC=test,DC=com",
"displayName":"${role?.displayname}",
"SamAccountName":"${role?.displayname}",
"description":"${role?.description}",
"objectClass":"group",
"name":"${role?.displayname}",
"groupType":"${role?.customproperty21=='Distribution'?'8':'-2147483646'}",
"mail":"${role.customproperty21=='Distribution'?role.description+'@TEST.com':''}",
"proxyAddresses":["${role.customproperty21=='Distribution'?'SMTP:' + role?.description +'@TEST.com\",\"smtp:' + role?.description + '@TEST.net\" ,\"smtp:' + role?.description + '@TEST.mail.onmicrosoft.com\" ,\"smtp:' + role?.description + '@TEST.onmicrosoft.com':''}"]  

 

Thanks & Kind Regards,
Manikanta.S

ssudhakar
New Contributor III
New Contributor III


Hi Manikanta,

Below given json we have mapped at create account json works fine.

"eduPersonAffiliation":["${if(user?.customproperty23.equals('Y')) {'Student'}}","${if(user?.customproperty24.equals('Y')) {'Employee'}}","${if(user?.customproperty25.equals('Y')) {'Special'}}","${if(user?.customproperty26.equals('Y')) {'Retiree'}}","${if(user?.customproperty27.equals('Y')) {'Emeritus'}}","${if(user?.customproperty28.equals('Y')) {'Visitor'}}","${if(user?.customproperty29.equals('Y')) {'Contingent Worker'}}","${if(user?.customproperty30.equals('Y')) {'Trustee'}}","${if(user?.customproperty31.equals('Y')) {'Alumnus'}}"],

the issue is regarding update,

eg: user XYZ has Student,Employee,Special values in eduPersonAffiliation attribute of LDAP.

Now an update comes in for user XYZ in Saviynt which sets customproperty30 as Y, customproperty31 as Y and customproperty23 as N

in this case, expected values on attribute eduPersonAffiliation is Employee,Special,Trustee,Alumnus

how we can remove the values in target, if its not part of the attribute value we are pushing along with attribute ( as per above sample Student value in target should get removed. system is currently appending the new values and not removing the old values.

how we can achieve this ?

Regards,
Sudhin Sudhakar