I’ve run into this weird situation with different environments of a target application where I need to prepend an environment identifier to make the userName
unique. I was trying to achieve this with one transform that will do a lookup based on the requested source name which could be applied to all source create profiles. This also makes it easier since our CI/CD process uses the same create profile/policy across several sources of the same type. Anyways… I was attempting to use the $application
context that this documentation talks about as input to a lookup/table transform. For whatever reason, it seems that the source/application name will not come through as input properly and I always get the default value back from the lookup transform. I have tried a simpler unit test where I just append $application.name via a static value or even perform if/else logic in a static transform with velocity which works just fine, so it’s odd that it is not evaluated properly when being passed as the lookup input. See example below which did not work:
{
"name": "userName",
"transform": {
"type": "concat",
"attributes": {
"values": [
{
"type": "lookup",
"input": {
"type": "static",
"attributes": {
"value": "$application.name"
}
},
"attributes": {
"table": {
"Source Dev [source]": "dev_",
"Source Acc [source]": "acc_",
"default": "broken"
}
}
},
{
"type": "identityAttribute",
"attributes": {
"name": "email"
}
}
]
}
},
"attributes": {
"cloudRequired": "true"
},
"isRequired": false,
"type": "string",
"isMultiValued": false
}
Has anyone else ran into this situation? It seems like a bug to me.