Static
Overview
Use the static transform to return a fixed string value, or more commonly, to evaluate Velocity Template Language. The latter implementation is often useful when you are using if/then/else logic or iterating through a for loop. The static transform can also take other dynamically provided variables as inputs into the value
attribute.
- When you are using static transforms within the create profile for a source, you can enter the value directly in the input field if the user selects Static as the attribute type.
- Because Identity Security Cloud supports the ability to order attributes in a create profile, you can use the Velocity template of an attribute higher in the list to generate a static value for an attribute that is lower in the list. For example, if you wanted to generate an email address based on a display name, you would need to do the follwing:
- Move the "displayName" attribute higher in the list so that it is created before the email address.
- In the "mail" attribute, select Static for the attribute type. In the Static Value field, enter
[email protected]
.
Transform Structure
In addition to the standard type
and name
attributes, the static transform requires a value attribute to be specified:
{
"attributes": {
"value": "Employee"
},
"type": "static",
"name": "Static Transform"
}
Attributes
-
Required Attributes
- type - This must always be set to
static.
- name - This is a required attribute for all transforms. It represents the name of the transform as it will appear in the UI's dropdown menus.
- value - This must evaluate to a JSON string either through a fixed value or through conditional logic using Velocity Template Language.
- type - This must always be set to
-
Optional Attributes
- The static transform can implement variables within the
value
expression. These variables can be defined as optional attributes within the transform and can themselves be the results of other transforms. - requiresPeriodicRefresh - This
true
orfalse
value indicates whether the transform logic should be reevaluated every evening as part of the identity refresh process.
- The static transform can implement variables within the
Examples
This transform uses a dynamic variable called workerType
, which is set to the value of the user's HR record's empType value. The static transform then returns that value through the use of Velocity variable notation (i.e., $<variableName>
).
Transform Request Body:
{
"attributes": {
"workerType": {
"attributes": {
"sourceName": "HR Source",
"attributeName": "empType"
},
"type": "accountAttribute"
},
"value": "$workerType"
},
"type": "static",
"name": "Static Transform"
}
This transform extends the previous one to show how you can use if/else logic to return data based on contingent logic.
Transform Request Body:
{
"attributes": {
"workerType": {
"attributes": {
"sourceName": "HR Source",
"attributeName": "empType"
},
"type": "accountAttribute"
},
"value": "#if($workerType=='Employee')Full-Time#{else}Contingent#end"
},
"type": "static",
"name": "Static Transform"
}