
Resource wizard: Object type mappings
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.
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:
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.
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:
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.
Configuration of resource wizard panels
Some wizard panels are configurable, for more information see Wizard panels.
How to Use Lifecycle States
You can use different lifecycle states for resources, object types, attributes, mappings, synchronization situations, and other aspects of resource configuration. You can use the lifecycle state property for simulations. Resources are created in the Proposed lifecycle state by default, and don’t work in normal deployment before switching the state to Active.
You can use the Proposed lifecycle state to 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.
You can set different lifecycle states for various configuration items, which lets you put specific parts of configuration to production incrementally.
For example, after you switch your resource to the Active lifecycle state, you can add new mappings in Proposed lifecycle state first. You can simulate the new mapping safely and switch it to Active when it’s ready.
See also:
Limitations
Resource wizard has several limitations as of midPoint 4.8, such as:
-
expression editor supports
As is
,Script
,Literal
andGenerate
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.