Resource wizard: Object type mappings

Last modified 21 Jan 2025 16:24 +01:00
Since 4.9
This functionality is available since version 4.9.

This part of object type wizard allows you to define attribute mappings. This way you can define midPoint behavior for resource attributes: how the resource attributes values should be fetched to midPoint (inbound mappings) or how the resource attribute values should be populated in resource (outbound mappings).

Click either Inbound mappings or Outbound mappings header in the table of mappings.

Inbound mappings

Use inbound mappings to store resource attribute values in midPoint properties.

Click btn:[Add inbound] to add a new inbound mapping.

To define a mapping, you need to configure:

  • Name of the mapping. This is technically not mandatory, but helps a lot during troubleshooting and when using resource template inheritance.

  • From resource attribute allows you to type (with autocompletion) the resource attribute that should be used as a source of the mapping.

  • Expression specifies how the source attribute(s) should be used. Resource wizard support the following expression types:

    • As is (default) simply copies the value from resource attribute to midPoint target property

    • Literal allows to specify a constant value

    • Script allows to write a more complex behavior using a midPoint expression (by default in Groovy language)

    • Generate allows to generate a random string using a value policy (useful for generating passwords)

  • Target allows you to type (with autocompletion) the midPoint property that should be used to store the value generated by the inbound mapping

  • Lifecycle state allows you to define the lifecycle state of the mapping. This can be used during Simulations, e.g. specifying lifecycle state as Proposed will be used only to simulate the mapping, Draft disables the mapping etc.

step 2 mappings inbound
Figure 1. Table of inbound mappings
Adding new mappings to existing configuration can utilize simulations if you use Proposed as the new mappings' lifecycle state. Such mappings can be simulated without influencing the real data.

More complex configuration is possible by clicking btn:[Edit] button:

step 2 mappings inbound detail main
Figure 2. Main configuration of inbound mapping (complex view)
step 2 mappings inbound detail optional
Figure 3. Optional configuration of inbound mapping (complex view)

You can define the inbound mapping as ordinary (default), or you can specify Use for parameter with value Correlation in the Optional configuration of the mapping to use the mapping only during the correlation. This is how you can define inbound mappings to be used in [Correlation] when item correlator is used, even for target resources where you normally have no inbound mappings at all. For more information, please refer to this example for correlation-only inbound mapping.

Mapping can be deleted by clicking btn:[Delete] button.

Mappings can be saved by clicking btn:[Save mappings] and wizard will return to the previous page from which you started mapping editor.

Click btn:[Attribute overrides] if you need to override attribute(s) visibility or other behavior.

Outbound Mappings

Use outbound mappings to populate resource attribute values from midPoint properties.

Click btn:[Add outbound] to add a new outbound mapping.

To define a mapping, you need to configure:

  • Name of the mapping. This is technically not mandatory, but helps a lot during troubleshooting and when using resource template inheritance.

  • Source allows you to type (with autocompletion) the midPoint property that should be used as a source for this outbound mapping

    Even multiple source attributes can be defined for an outbound mapping.
  • Expression specifies how the source attribute(s) should be used. Resource wizard support the following expression types:

    • As is (default) simply copies the value from resource attribute to midPoint target property

    • Literal allows to specify a constant value

    • Script allows to write a more complex behavior using a midPoint expression (by default in Groovy language)

    • Generate allows to generate a random string using a value policy (useful for generating passwords)

  • To resource attribute allows you to type (with autocompletion) the resource attribute that should be used as a target of the mapping.

  • Lifecycle state allows you to define the lifecycle state of the mapping. This can be used during Simulations, e.g. specifying lifecycle state as Proposed will be used only to simulate the mapping, Draft disables the mapping etc.

step 2 mappings outbound
Figure 4. Table of outbound mappings
Adding new mappings to existing configuration can utilize simulations if you use Proposed as the new mappings' lifecycle state. Such mappings can be simulated without influencing the real data.

More complex configuration is possible by clicking btn:[Edit] button:

step 2 mappings outbound detail main
Figure 5. Main configuration of outbound mapping (complex view)
step 2 mappings outbound detail optional
Figure 6. Optional configuration of outbound mapping (complex view)

Mapping can be deleted by clicking btn:[Delete] button.

Mappings can be saved by clicking btn:[Save mappings] and wizard will return to the previous page from which you started mapping editor.

Click btn:[Attribute overrides] if you need to override attribute(s) visibility or other behavior.

Attribute override

Attribute configuration can be overridden beyond the context of the mappings. This is useful to override attribute visibility, its display name, tolerance etc.


step 2 mappings override
Figure 7. Table of attribute overrides
step 2 mappings override detail basic
Figure 8. Detailed configuration of attribute override configuration
step 2 mappings override detail limitations
Figure 9. Detailed configuration of attribute override - limitations configuration

Configuration of resource wizard panels

Some wizard panels are configurable, for more information see Wizard panels.

How to use Lifecycle state

Resource, object type, attribute, mapping, synchronization situation and other aspects of resource configuration can be configured in different lifecycle states. As it was mentioned earlier, the Lifecycle state property can be used with Simulations. The resource is created in Proposed lifecycle state by default, it won’t work for normal deployment without switching to Active state.

By using the lifecycle state Proposed, you can test (simulate) the configuration without causing any damage to your target system data. When the simulation results are satisfactory, you can switch the lifecycle state to Active.

As the lifecycle state can be set on various configuration items, midPoint gives you a way of turning on specific parts of configuration incrementally. For example, after you switch your resource to Active lifecycle state, we recommend to add any new mappings first in Proposed lifecycle state. The new mapping can be simulated without causing any harm and switched to Active lifecycle state when ready.

See also:

Limitations

Resource wizard has several limitations as of midPoint 4.8, such as:

  • expression editor supports As is, Script, Literal and Generate expressions only

  • mapping ranges are not supported

  • mapping domains are not supported

midPoint resource wizard won’t be able to show or allow editing of these features but should tolerate them and keep them in the configuration.

Was this page helpful?
YES NO
Thanks for your feedback