I have been developing a new driver and have it mostly working. It permits a query of an attribute which contains a list of application policies, which I want to put into resources to put into entitlements to etc etc. I do a code map refresh, I see the query go out, and get 196 well formed and valid instance documents back, here is an example:

<instance class-name="policy" src-dn="/IAMUserSSHKeys">
<attr attr-name="Path">
<attr attr-name="UpdateDate">
<value type="string">1436476134</value>
<attr attr-name="DefaultVersionId">
<attr attr-name="AttachmentCount">
<attr attr-name="IsAttachable">
<attr attr-name="PolicyId">
<attr attr-name="PolicyName">
<attr attr-name="Arn">
<attr attr-name="CreateDate">
<value type="string">1436476134</value>

The entitlement is configured to use the attribute Arn as the entitlement value and the attribute PolicyName as both the Description and Name. And this seems to work, I can create a resource, I can select the entitlement and I can select a value. But the value is never added to the resource in the nrfEntitlementRef attribute, so when I assign the resource the user does not get the entitlement.

When I look in the UA trace I see that it has found the value:

2016-04-18 12:26:43,230 INFO [STDOUT] (http- DEBUG [RBPM] [com.novell.idm.nrf.persist.Populat
eCodeMap:createQueryResultRow] Instance: entValue = arn:aws:iam::awsolicy/IAMUserSSHKeys, subTypeValue = nu
ll, displayValue = IAMUserSSHKeys, descriptionValue = IAMUserSSHKeys

But it is not writing it later

2016-04-18 11:55:50,241 INFO [STDOUT] (http- DEBUG [RBPM] [com.novell.idm.nrf.persist.PopulateCodeMap:createP rovisioningViewLabelListPass1] Adding label: IAMUserSSHKeys
2016-04-18 11:55:50,241 INFO [STDOUT] (http- DEBUG [RBPM] [com.novell.idm.nrf.persist.PopulateCodeMap:createP rovisioningViewLabelListPass1] Adding description: IAMUserSSHKeys
2016-04-18 11:55:50,242 INFO [STDOUT] (http- DEBUG [RBPM] [com.novell.idm.nrf.persist.PopulateCodeMap:createP rovisioningViewLabelListPass1] adding row to provisioning view value table: {}

The empty curly braces are also what is in the nrfEntitlementRef attribute rather than what I would have expected, "{"ID":"arn:aws:iam::awsolicy/IAMUserSSHKeys","ID2":"IAMUserSSHKeys"}. I in fact went in to the resource object and hacked in that value to test, and the resource displays "* INVALID *" for the value but works, so I am looking in the right place.

Anyone with insight, it would be much appreciated.