Skip to main content

TransformAttributes

Properties

NameTypeDescriptionNotes
SourceNameStringA reference to the source to search for the account[required]
AttributeNameStringThe name of the attribute on the account to return. This should match the name of the account attribute name visible in the user interface, or on the source schema.[required]
AccountSortAttributeStringThe value of this configuration is a string name of the attribute to use when determining the ordering of returned accounts when there are multiple entries[optional] [default to "created"]
AccountSortDescendingBooleanThe value of this configuration is a boolean (true/false). Controls the order of the sort when there are multiple accounts. If not defined, the transform will default to false (ascending order)[optional] [default to $false]
AccountReturnFirstLinkBooleanThe value of this configuration is a boolean (true/false). Controls which account to source a value from for an attribute. If this flag is set to true, the transform returns the value from the first account in the list, even if it is null. If it is set to false, the transform returns the first non-null value. If not defined, the transform will default to false[optional] [default to $false]
AccountFilterStringThis expression queries the database to narrow search results. The value of this configuration is a sailpoint.object.Filter expression and used when searching against the database. The default filter will always include the source and identity, and any subsequent expressions will be combined in an AND operation to the existing search criteria. Only certain searchable attributes are available: - nativeIdentity - the Account ID - displayName - the Account Name - entitlements - a boolean value to determine if the account has entitlements[optional]
AccountPropertyFilterStringThis expression is used to search and filter accounts in memory. The value of this configuration is a sailpoint.object.Filter expression and used when searching against the returned resultset. All account attributes are available for filtering as this operation is performed in memory.[optional]
RequiresPeriodicRefreshBooleanA value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process[optional] [default to $false]
VarInput[map[string]AnyType]https://learn.microsoft.com/en-us/powershell/scripting/lang-spec/chapter-04?view=powershell-7.4This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.[optional]
ValuesStringThis must evaluate to a JSON string, either through a fixed value or through conditional logic using the Apache Velocity Template Language.[required]
ExpressionStringA string value of the date and time components to operation on, along with the math operations to execute.[required]
PositiveConditionStringThe output of the transform if the expression evalutes to true[required]
NegativeConditionStringThe output of the transform if the expression evalutes to false[required]
FirstDateDateCompareFirstDate[required]
SecondDateDateCompareSecondDate[required]
OperatorEnum [ "LT", "LTE", "GT", "GTE" ]This is the comparison to perform.Operation
InputFormatDateFormatInputFormat[optional]
OutputFormatDateFormatOutputFormat[optional]
RoundUpBooleanA boolean value to indicate whether the transform should round up or down when a rounding / operation is defined in the expression. If not provided, the transform will default to false true indicates the transform should round up (i.e., truncate the fractional date/time component indicated and then add one unit of that component) false indicates the transform should round down (i.e., truncate the fractional date/time component indicated)[optional] [default to $false]
DefaultRegionStringThis is an optional attribute that can be used to define the region of the phone number to format into. If defaultRegion is not provided, it will take US as the default country. The format of the country code should be in ISO 3166-1 alpha-2 format[optional]
IgnoreErrorsBooleana true or false value representing to move on to the next option if an error (like an Null Pointer Exception) were to occur.[optional] [default to $false]
NameStringThe system (camel-cased) name of the identity attribute to bring in[required]
OperationStringThe operation to perform getReferenceIdentityAttribute[required]
IncludeNumbersBooleanThis must be either ""true"" or ""false"" to indicate whether the generator logic should include numbers[required]
IncludeSpecialCharsBooleanThis must be either ""true"" or ""false"" to indicate whether the generator logic should include special characters[required]
LengthStringAn integer value for the desired length of the final output string[required]
UidStringThis is the SailPoint User Name (uid) value of the identity whose attribute is desired As a convenience feature, you can use the manager keyword to dynamically look up the user's manager and then get that manager's identity attribute.[required]
SubstringStringA substring to search for, searches the entire calling string, and returns the index of the first occurrence of the specified substring.[required]
FormatStringAn optional value to denote which ISO 3166 format to return. Valid values are: alpha2 - Two-character country code (e.g., ""US""); this is the default value if no format is supplied alpha3 - Three-character country code (e.g., ""USA"") numeric - The numeric country code (e.g., ""840"")[optional]
PaddingStringA string value representing the character that the incoming data should be padded with to get to the desired length If not provided, the transform will default to a single space ("" "") character for padding[optional]
Table[map[string]AnyType]https://learn.microsoft.com/en-us/powershell/scripting/lang-spec/chapter-04?view=powershell-7.4An attribute of key-value pairs. Each pair identifies the pattern to search for as its key, and the replacement string as its value.[required]
IdStringThis ID specifies the name of the pre-existing transform which you want to use within your current transform[required]
RegexStringThis can be a string or a regex pattern in which you want to replace.[required]
ReplacementStringThis is the replacement string that should be substituded wherever the string or pattern is found.[required]
DelimiterStringThis can be either a single character or a regex expression, and is used by the transform to identify the break point between two substrings in the incoming data[required]
IndexStringAn integer value for the desired array element after the incoming data has been split into a list; the array is a 0-based object, so the first array element would be index 0, the second element would be index 1, etc.[required]
ThrowsBooleanA boolean (true/false) value which indicates whether an exception should be thrown and returned as an output when an index is out of bounds with the resultant array (i.e., the provided index value is larger than the size of the array) true - The transform should return ""IndexOutOfBoundsException"" false - The transform should return null If not provided, the transform will default to false and return a null[optional] [default to $false]
VarBeginInt32The index of the first character to include in the returned substring. If begin is set to -1, the transform will begin at character 0 of the input data[required]
BeginOffsetInt32This integer value is the number of characters to add to the begin attribute when returning a substring. This attribute is only used if begin is not -1.[optional]
VarEndInt32The index of the first character to exclude from the returned substring. If end is -1 or not provided at all, the substring transform will return everything up to the end of the input string.[optional]
EndOffsetInt32This integer value is the number of characters to add to the end attribute when returning a substring. This attribute is only used if end is provided and is not -1.[optional]

Examples

  • Prepare the resource
$TransformAttributes = Initialize-PSSailpoint.V2024TransformAttributes  -SourceName Workday `
-AttributeName DEPARTMENT `
-AccountSortAttribute created `
-AccountSortDescending false `
-AccountReturnFirstLink false `
-AccountFilter !(nativeIdentity.startsWith("*DELETED*")) `
-AccountPropertyFilter (groups.containsAll({'Admin'}) || location == 'Austin') `
-RequiresPeriodicRefresh false `
-VarInput {type=accountAttribute, attributes={attributeName=first_name, sourceName=Source}} `
-Values string$variable `
-Expression now+1w `
-PositiveCondition true `
-NegativeCondition false `
-FirstDate null `
-SecondDate null `
-Operator LT `
-InputFormat null `
-OutputFormat null `
-RoundUp false `
-DefaultRegion US `
-IgnoreErrors false `
-Name email `
-Operation getReferenceIdentityAttribute `
-IncludeNumbers true `
-IncludeSpecialChars true `
-Length 4 `
-Uid 2c91808570313110017040b06f344ec9 `
-Substring admin_ `
-Format alpha2 `
-Padding 0 `
-Table {-= , "=', ñ=n} `
-Id Existing Transform `
-Regex [^a-zA-Z] `
-Replacement `
-Delimiter , `
-Index 5 `
-Throws true `
-VarBegin 1 `
-BeginOffset 3 `
-VarEnd 6 `
-EndOffset 1
  • Convert the resource to JSON
$TransformAttributes | ConvertTo-JSON

[Back to top]