Skip to main content
Version: On prem: 15.0.0

Attribute value resolver

The extension resolves and assigns the value(s) for assignment attributes based on configured data object reference paths and dynamic expressions. You can configure it with a number of attributes and corresponding reference paths or dynamic expressions.

Attribute values resolved with the Attribute Value Resolver extension takes precedence over existing attribute values for a CRA.

Reference path resolution

A reference path is resolved using the CRA as starting point. A reference path must start with either #IDENTITY", #RESOURCE, or #ASSIGNMENTS_PER_RESOURCETYPE.

A reference path can have a display name format. Use the prefix #ASSIGNMENTS_PER_RESOURCETYPE to resolve attribute values for values assigned using the Resource driven attributes concept.

Expression resolution

The resolution of dynamic expressions use Dynamic Expresso which is an interpreter for simple C# statements.

An expression must return one of the supported data types:

  • bool
  • DateTime
  • int
  • String
  • Guid (reference)

The returned value of an expression must match the data type of the attribute which the resolved value is for. If it doesn't match, it will result in an error.

The following parameters can be used in an expression:

Built-in RoPE assignment data:

  • ROPE_AssignmentKey
  • ROPE_IdentityId
  • ROPE_AccountTypeId
  • ROPE_AccountName
  • ROPE_AccountAssignmentKey
  • ROPE_Differentiator
  • ROPE_ResourceId
  • ROPE_ResourcePoolId
  • ROPE_AssignmentTypeId
  • ROPE_ValidFrom
  • ROPE_ValidTo
  • ROPE_Disabled
  • ROPE_PreValid
  • ROPE_ReasonTypes

RoPE assignment attribute values on the form ROPE_ATTR_<attribute name, for instance:

  • ROPE_ATTR_FIRSTNAME
  • ROPE_ATTR_LASTNAME
  • ROPE_ATTR_IDENTITYID
  • ROPE_ATTR_OUID
  • ROPE_ATTR_INITIALPASSWORD

Customer settings on the form CUSTSETTING_<customer setting key>:

  • CUSTSETTING_ContractorMaxValidity

Data connections on the form DATACONNECTION_<data connection_name>_<data connection_element>, for instance:

  • DATACONNECTION_RoPE_InitialCatalog

More information about Dynamic Expresso can be found in the GitHub documentation.

Configuration and example

The extension can be configured with a number of settings. Each setting represents how the value for an attribute should be resolved.

This extension supports the following configuration settings:

XML attribute on a settingDescription
keyUnique key for the setting.
nameSpecifies the attribute to resolve value(s) for. You can optionally specify that it should only be done for CRAs for resources of a specific resource type. However, it is recommended that you specify this in extraInfo instead.

Has the format: [Resource type name]:[attribute property system name]
extraInfoSemicolon-delimited key value pairs. The supported keys are:

- Type (required) : must specify either ReferencePath or Expression.

- ResourceType (optional): must specify the name of a resource type.

- MultiValue (optional): When set to True, all available resource driven attributes will be applied and not only the value with the highest priority.

Examples:

Type:Expression;ResourceType:Group

Type:ReferencePath

Type:ReferencePath;MultiValue:True
valueSpecifies how the attribute value should be resolved. If the resolution is of type ReferencePath then the value must specify a reference path that is evaluated with the CRA as starting point. A reference path must start with either #IDENTITY, #RESOURCE, or #ASSIGNMENTS_PER_RESOURCETYPE. A reference path can have a display name format. If the resolution is of type Expression then value must specify a dynamic expression.

Example 1

We resolve and assign the value of the CRA attribute MBOXSIZE by evaluating a Reference path. Resolution is only done if the CRA is for a resource of the type AD account.

Resolution is done as follows: Look in the other CRAs in the calculation > Find the subset that are for resources of the resource type Mailbox size > Get the value of the assignment's MBOXSIZE attribute.

AttrValResEx1

Example 2

We resolve and assign the value of the CRA attribute OUID by evaluating an Expression.

Resolution is done by executing the C# string.Format method and using the current value of the OUID attribute as the parameter.

AttrValResEx2