Public/Start-IAMCoreConnectorDataObjectSync.ps1

function Start-IAMCoreConnectorDataObjectSync {
    [CmdletBinding(SupportsShouldProcess = $true)]
    param (
        [Parameter(Mandatory = $true)]
        [string]$ConnectorId,

        [Parameter(Mandatory = $true)]
        [string]$ConnectorObjectId
    )

    if (-not $Script:APIRoot -or -not $Script:AccessTokenProfile) {
        throw "Not connected to IAM Core. Please run Connect-IAMCore first."
    }

    if ($PSCmdlet.ShouldProcess("Start IAM Core connector data object sync for ConnectorId: $ConnectorId, ConnectorObjectId: $ConnectorObjectId")) {
        $Result = Invoke-RestMethod -Uri "$Script:APIRoot/sync/connectors/$ConnectorId/data/$ConnectorObjectId/commit" -Headers (Get-IAMCoreHeader) -Method POST

        if ($Result.IsSuccess) {
            return $Result.Data
        }
        else {
            throw "Failed to start IAM Core connector data object sync: $($Result.ErrorMessage)"
        }
    }
}