I am writing a before provisioning rule for a web service connector, and I need a list of all the attributes in the account schema. I was wondering if I can reference the Application directly in my Before provisioning Rule and use application.getSchema("account") or application.getAccountSchema() if I can could you please tell me what package needs to be imported in my rule and where these lines of code should be in the rule?
Another solution I saw was to get the account using idn.getAccountByNativeIdentity() and then call use the getAttributes() method.
But I prefer to use the first Solution if it’s applicable.
I have implemented this many times. I check account request, if attribute request is not there then I add it to account request. I didn’t extract schema attributes and I don’t think you need all attributes that are in schema only some. I wouldn’t go with this approach.
I have implemented a similar rule for some (and not all) attributes, it just happens that this time we need to make sure to put in the plan all attributes (or at least the ones that are not null) we have in the account schema of the account
Yes that is the main goal we have in mind for this rule, another thing we also solve is that we don’t need to name each attribute, which are around 100 for the source we are configuring.
You would be right only if I am pulling the values from the identity, which is not the case here.
What we take advantage of with our rule is the fact that a provisioning plan should already contain everything that needs to be updated for the account (entitlements or account attributes) and we retrieve the rest of the attributes from account itself.
We know this could cause sync issues in case the pushed values from the account did not update in IDN, but this is a risk we are okay with