functions/Get-BBDataSources.ps1

<#
.Synopsis
   Gets Blackboard Learn Datasources
.DESCRIPTION
   Gets All Datasources by default. Can get by either a datasourceID or an external Id.
.EXAMPLE
   Get-BBDataSources
.EXAMPLE
   Get-BBDataSources -ExternalId 'LMSConnect'
#>

function Get-BBDataSources
{
    [CmdletBinding()]
    [Alias()]
    Param
    (
        [string]$DataSourceID,
        [string]$Filter,
        [string]$ExternalID
    )

    Begin
    {

    }
    Process
    {
        if (!$DataSourceID -eq ""){
            $apiurl = "/learn/api/public/v1/dataSources/$DataSouceID"
          } elseif (!$ExternalID -eq "") {
             $apiurl = "/learn/api/public/v1/dataSources/externalId:$ExternalID"
          }else{
            $apiurl = "/learn/api/public/v1/dataSources"
          }


      Invoke-BBRestMethod  -API $apiurl `
                -Method Get `
                -ContentType application/json `
                -Filter $Filter
    }
    End
    {
    }
}