Sample Transform YAML Config with Explanation

Here is an example of an actual Transform YAML Config.

Copy
1imageConfigDescriptors:
2  identity:
3    objectClassName: sailpoint.object.Identity
4    imagePropertyConfigDescriptors:
5      - property: id
6        type: none
7        propertyTransformerConfigDescriptors:
8        - type: sailpoint.dataextract.conversion.ImagePropertyTransformer
9          args:
10            propertyType: string
11      - property: name
12        type: none
13        propertyTransformerConfigDescriptors:
14          - type: sailpoint.dataextract.conversion.ImagePropertyTransformer
15            args:
16              propertyType: string
17      - property: firstname
18        type: none    
19        propertyTransformerConfigDescriptors:
20          - type: sailpoint.dataextract.conversion.ImagePropertyTransformer
21            args:
22              propertyType: string
23      - property: lastname
24        type: none
25        propertyTransformerConfigDescriptors:
26          - type: sailpoint.dataextract.conversion.ImagePropertyTransformer
27            args:
28              propertyType: string
29      - property: modified
30        type: none
31        propertyTransformerConfigDescriptors:
32          - type: sailpoint.dataextract.conversion.ImagePropertyTransformer
33            args:
34              propertyType: date

You can view an example of how this will get exported by entering the following in the IIQ console:

Copy
1dataextract transform identity james.smith deExampleOne
2- or - if you have jq installed and want the pretty version
3dataextract transform identity james.smith deExampleOne | jq

Here is an excerpt of the output run through jq for formatting:

Copy
1{
2  "firstname": "James",
3  "name": "James.Smith",
4  "modified": "2022-09-07T14:47Z",
5  "id": "ac130b1283181a728183185b0138065d",
6  "lastname": "Smith"
7}

There are some shortcuts so you don't have to specify every piece of information for each property. While the Type property in the example above is set to "none," its default value is "auto." This property will append the ImagePropertyTransformer with an argument of "auto," or whatever the Type is set to, so our configuration could be simplified to this:

Copy
1imageConfigDescriptors:
2  identity:
3    objectClassName: sailpoint.object.Identity
4    imagePropertyConfigDescriptors:
5      - property: id
6      - property: name
7      - property: firstname
8      - property: lastname
9      - property: modified

With no Type specified, the automatically appended ImagePropertyTransformer tries to infer the Type and use that.

One important reminder is that the Type of every property is defaulted to Auto, which causes the ImagePropertyTransformer to be appended. If Data Extract can't determine what type to use, it will just use the object's toString method.