Identity Security Cloud - Transform Table - Multiple Keys with the same value

Currently have a 3rd-party vendor developing a ISC solution for us.
Below is a snippet of a Transform that they have developed.

My question: is there a way to have a single line that will list multiple keys and point to a single value those keys share?

“type”: “lookup”,
“attributes”: {
“input”: {
“attributes”: {
“name”: “THDFSMOID”
},
“type”: “identityAttribute”
},
“table”: {
“SS”: “SO”,
“HCH”: “SO”,
“FTN”: “LHS”,
“LHS”: “LHS”,
“MW”: “SO”,
“CH”: “CH”,
“MFH”: “SO”,
“MHH”: “SO”,

Hello @ScottTanselle , I’ve only used the lookup transform in the way that you’ve shown in your example. You can have multiple keys point to a single value, but I don’t know if it’s possible to do that on the same line. Depending on your use case you may also be able to use a firstValid transform but that won’t be on a single line either.

Hope this helps.
~Kyle

1 Like

Hey @ScottTanselle

Like @Kyle_R said, I don’t think it’s possible to have those keys be on a single line, but I’m curious why you’d like to do it that way?

It is not possible to map multiple key values to a single value in a single line using lookup transform.
Take a look at the link Lookup | SailPoint Developer Community.

{
  "attributes": {
    "table": {
      "512": "Austin",
      "281": "Houston",
      "713": "Houston",
      "832": "Houston",
      "214": "Dallas",
      "210": "San Antonio"
    }
  },
  "type": "lookup",
  "name": "Test Lookup Transform"
}

The above was the lookup transform provided by the sailpoint.

1 Like

As mentioned, this is not possible with a lookup table.

You could do this in a static transform with a bit of velocity like so:
#if($val == AA || $val == BB)returnA#elseif($val == CC || $val == DD)returnB#{else}returnC#end

However, it’s less easy to read (and write) this and I’m pretty sure this is not better in any way to a lookup table

Hi @ScottTanselle

Adding on top of our experts responses,

You can use a Static Transform to return in a single line.

But the problem is, if the lookup changes in future then you have to change the conditions in Static Transform’s apache velocity script, which is not a good idea.

When we develop a solution, we need to consider easy enhancements with simple changes for future requirements. That is why Lookup is the best choice here.

Thanks
Krish

Hi @ScottTanselle
you can use apache veloci like below

typ"attributes": {
                                "LIFECYCLE_STATE": {
                                    "attributes": {
                                        "name": "cloudLifecycleState"
                                    },
                                    "type": "identityAttribute"
                                },
                                "value": "#if( ($LIFECYCLE_STATE.equals('active')) || ($LIFECYCLE_STATE.equals('inactive')) ) $identity.manager.attributes.dn #else #end"
                            },
                            "type": "static"
e or paste code here

Basically we are getting a value from one system, such as Workday and we need to convert that value into a different value that gets stored in Active Directory that is being used by a completely different application.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.