CoreOps/Replication/Stop-SDPReplicationSession.ps1

function Stop-SDPReplicationSession {
    param(
        [parameter(Mandatory,ValueFromPipelineByPropertyName)]
        [Alias('pipeName')]
        [string] $name,
        [parameter()]
        [switch] $wait,
        [parameter()]
        [string] $k2context = 'k2rfconnection'
    )

    begin {
        $endpoint = 'replication/sessions'
    }
    
    process {
        $session = Get-SDPReplicationSessions -name $name -k2context $k2context
        if ($session) {
            if ($session.state -ne 'suspended') {
                $errormsg = 'Please ensure replication session is currently "suspended"'
                return $errormsg | Write-Error
            }
            
            $o = New-Object psobject
            $o | Add-Member -MemberType NoteProperty -Name "state" -Value 'idle'

            $body = $o
            $subendpoint = $endpoint + '/' + $session.id

            try {
                $results = Invoke-SDPRestCall -endpoint $subendpoint -method PATCH -body $body -k2context $k2context 
            } catch {
                return $Error[0]
            }
            if ($wait) {
                while ($session.state -ne 'idle') {
                    $session = Get-SDPReplicationSessions -name $name -k2context $k2context
                    Start-Sleep -Seconds 2
                }
                Write-Progress -Completed -Activity $activityString
            }
            $results = Get-SDPReplicationSessions -name $name -k2context $k2context
            return $results
        }
    }
}