AzDataFactoryV2TriggerDependencies.psm1

<#
     .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