private/Get-AdfObjectByName.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
function Get-AdfObjectByName {
    [CmdletBinding()]
    param (
        [parameter(Mandatory = $true)] [Adf] $adf,
        [parameter(Mandatory = $true)] [String] $name,
        [parameter(Mandatory = $true)] [String] $type
    )
    
    Write-Debug "BEGIN: Get-AdfObjectByName(name=$name,type=$type)"

    $simtype = Get-SimplifiedType -Type "$type"
    switch -Exact ($simtype)
    {
        'IntegrationRuntime'
        {
            $r = $adf.IntegrationRuntimes | Where-Object { $_.Name -eq $name } | Select-Object -First 1
        }
        'LinkedService'
        {
            $r = $adf.LinkedServices | Where-Object { $_.Name -eq $name } | Select-Object -First 1
        }
        'Pipeline'
        {
            $r = $adf.Pipelines | Where-Object { $_.Name -eq $name } | Select-Object -First 1
        }
        'Dataset'
        {
            $r = $adf.DataSets | Where-Object { $_.Name -eq $name } | Select-Object -First 1
        }
        'DataFlow'
        {
            $r = $adf.DataFlows | Where-Object { $_.Name -eq $name } | Select-Object -First 1
        }
        'Trigger'
        {
            $r = $adf.Triggers | Where-Object { $_.Name -eq $name } | Select-Object -First 1
        }
        'Factory'
        {
            $r = $adf.Factories | Where-Object { $_.Name -eq $name } | Select-Object -First 1
        }
        default
        {
            Write-Error "Type [$type] is not supported."
        }
    }

    #$r = $adf.AllObjects() | Where-Object { $_.Name -eq $name } | Select-Object -First 1
    Write-Debug ($r | Format-List | Out-String)
    Write-Debug "END: Get-AdfObjectByName()"
    return $r
}