Changing SailPoint IdentityNow Source Timeout values

Recently I’ve been assisting a client with a SCIM source that has high latency. This causes a number of issues with health validation as well as aggregation and provisioning events. The default values for health check, provisioning and aggregation were causing a myriad of errors.

Previously I’ve shown how to change the healthCheckTimeout in this post from 2019 for a WorkDay source. That was using the v2 API for Source Configuration. In this post I show how to use the v3 Source API to change timeout values.

SailPoint do have some good guidance for an approach to increase the timeout values for each of the different timeouts.

The three I was needing to update are:

  • aggregateTimeout
  • healthCheckTimeout
  • provisioningTimeout

Get Source Configuration

Using my SailPoint IdentityNow PowerShell Module and the Get-IdentityNowSource cmdlet the configuration of the source can be retrieved. You can get the ID of the Source from the URL when viewing the source in the Portal. Or you can get all sources and query for the source you’re looking to change.

$mySource = Get-IdentityNowSource -V3API -sourceID <yourSourceID>
$mySource

or

$sources = Get-IdentityNowSource -V3API
$mySource = $sources | Where-Object { $_.name -eq "mysourcename" }
$mySource | FL

Updating the Source Timeouts

The v3 APIs take a syntax of Operation, Path and Value for the configuration of changes. If the source is new/default the timeout values may not even exist in the configuration. Therefore our change operation is “add”. If they do exist “add” may still work, but “replace” would be the correct operation time.

The path of the timeout values is under the connectorAttributes object. So our path is connectorAttributes/<timeouttype>. e.g. “/connectorAttributes/aggregateTimeout

And finally the value in seconds of the timeout. Putting that all together as JSON in PowerShell as a raw configuration looks like this to add an aggregation timeout of 2 minutes.

$json = '[
     {
        "op": "add",
        "path": "/connectorAttributes/aggregateTimeout",
        "value": "120"
     }
]'

To make the change then using the Update-IdentityNowSource cmdlet and leveraging the returned Source from the earlier example and the configuration update from above looks like this.

Update-IdentityNowSource -sourceID $mySource.externalId -update $json -V3API

Replace aggregateTimeout with healthCheckTimeout or provisioningTimeout to change those timeouts.

Summary

Knowing the different timeouts that are configurable along with their path, using the SailPoint IdentityNow PowerShell module we can get a troublesome source functional.