AzDataFactoryV2TriggerDependencies.psm1

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<#
     .SYNOPSIS
         This Command provide the list of Pipelines that depend on the Trigger within an Azure Data Factory.
   
    
   
     .DESCRIPTION
         This function provides the list of Pipelines that depend on the Trigger within an Azure Data Factory.
   
    
   
     .PARAMETER ResourceGroupName
     The resource group containing the DataFactory V2
   
    
   
     .PARAMETER DataFactoryName
     The name of the DataFactory V2.
   
    
   
     .PARAMETER TriggerName
     The name of the Trigger in the DataFactory V2.
   
    
   
     .EXAMPLE
     Get-AzDataFactoryV2TriggerDependencies -ResourceGroupName "<<RGName>>" -DataFactoryName "<<ADFV2Name>>"
     Get-AzDataFactoryV2TriggerDependencies -ResourceGroupName "<<RGName>>" -DataFactoryName "<<ADFV2Name>>" -TriggerName "<<TriggerName>>"
     
#>

Function Get-AzDataFactoryV2TriggerDependencies
{

 

    Param 
    (
    [Parameter(Mandatory=$true)]
    [string] $ResourceGroupName ,
    [Parameter(Mandatory=$true)]
    [string] $DataFactoryName ,
    [Parameter(Mandatory=$false)]
    [string] $TriggerName 
    )

$htDependee = @{}
if(!$TriggerName)
{
$AllDependencies=Get-AzDataFactoryV2trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName  
}
else
{
$AllDependencies=Get-AzDataFactoryV2trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name $TriggerName 
}

for($i=0; $i -lt $AllDependencies.Count ; $i++)
{

$TRDependantObjects=$AllDependencies[$i].properties.pipelines.pipelinereference.referencename



if($TRDependantObjects.count -ne 0)
    {
    
  if ($htDependee.ContainsKey($AllDependencies[$i].Name))
  {

       FOREACH($TRDep in $TRDependantObjects){
    if ($htDependee[$AllDependencies[$i].Name] -notcontains $TRDep) 
     

        {

        $htDependee[$AllDependencies[$i].Name] += $TRDep
        }
     }
 }
else{
     FOREACH($TRDep in $TRDependantObjects){
    if ($htDependee[$AllDependencies[$i].Name] -notcontains $TRDep) 
     

        {

        $htDependee[$AllDependencies[$i].Name] += ,$TRDep
        }
     }

}
}

}

for ($i=0;$i -lt $AllDependencies.Count ; $i++)
{

if($htDependee.ContainsKey($AllDependencies[$i].Name))
{

write-host  $AllDependencies[$i].Name 'has' $($htDependee[$AllDependencies[$i].Name]).Count 'Dependencies'
Write-Host  $AllDependencies[$i].Name "is used in" $($htDependee[$AllDependencies[$i].Name]) `n 
}
else
{
write-host $AllDependencies[$i].Name "has no / 0 Dependency" `n 
}

}
}


Export-ModuleMember -Function Get-AzDataFactoryV2TriggerDependencies