private/Get-AdfObjectsFromServiceRestAPI.ps1

function Get-AdfObjectsFromServiceRestAPI {
    [CmdletBinding()]
    param (
        [parameter(Mandatory = $true)] $adfi,
        [parameter(Mandatory = $true)] [String] $typePlural,
        [parameter(Mandatory = $true)] [String] $simpleType
    )

    Write-Debug "BEGIN: Get-AdfObjectsFromServiceRestAPI(typePlural=$typePlural, simpleType=$simpleType)"

    $url = "$($script:BaseApiUrl)$($adfi.DataFactoryId)/$typePlural`?api-version=2018-06-01"
    $r = Invoke-AzRestMethod -Method 'GET' -Uri $url
    if ($r.StatusCode -ne 200) {
        Write-Error -Message "Unexpected response code: $($r.StatusCode) from REST API when listing $typePlural."
        return $null
    }

    [System.Collections.ArrayList] $items = @()
    ($r.Content | ConvertFrom-Json).value | ForEach-Object {
        $name = $_.name
        $obj = $null
        switch ($simpleType) {
            'Dataset'            { $obj = [AdfPSDataset]::New($name) }
            'DataFlow'           { $obj = [AdfPSDataFlow]::New($name) }
            'Pipeline'           { $obj = [AdfPSPipeline]::New($name) }
            'LinkedService'      { $obj = [AdfPSLinkedService]::New($name) }
            'IntegrationRuntime' { $obj = [AdfPSIntegrationRuntime]::New($name) }
            'Trigger'            { $obj = [AdfPSTrigger]::New($name, [string]$_.properties.runtimeState) }
            default              { Write-Warning "Get-AdfObjectsFromServiceRestAPI: unsupported type '$simpleType'" }
        }
        if ($null -ne $obj) { $items.Add($obj) | Out-Null }
    }

    Write-Debug "END: Get-AdfObjectsFromServiceRestAPI()"
    return $items
}