quickstarts/microsoft.costmanagement/finops-hub/modules/scripts/Start-Triggers.ps1 (59 lines of code) (raw):
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
Param(
[switch] $Stop
)
# Init outputs
$DeploymentScriptOutputs = @{}
if (-not $Stop)
{
Start-Sleep -Seconds 10
}
# Loop thru triggers
$env:Triggers.Split('|') `
| ForEach-Object {
$trigger = $_
if ($Stop)
{
Write-Output "Stopping trigger $trigger..."
$triggerOutput = Stop-AzDataFactoryV2Trigger `
-ResourceGroupName $env:DataFactoryResourceGroup `
-DataFactoryName $env:DataFactoryName `
-Name $trigger `
-Force `
-ErrorAction SilentlyContinue # Ignore errors, since the trigger may not exist
}
else
{
Write-Output "Starting trigger $trigger..."
$triggerOutput = Start-AzDataFactoryV2Trigger `
-ResourceGroupName $env:DataFactoryResourceGroup `
-DataFactoryName $env:DataFactoryName `
-Name $trigger `
-Force
}
if ($triggerOutput)
{
Write-Output "done..."
}
else
{
Write-Output "failed..."
}
$DeploymentScriptOutputs[$trigger] = $triggerOutput
}
if ($Stop)
{
Start-Sleep -Seconds 10
}
if (-not [string]::IsNullOrWhiteSpace($env:Pipelines))
{
$env:Pipelines.Split('|') `
| ForEach-Object {
Write-Output "Running the init pipeline..."
Invoke-AzDataFactoryV2Pipeline `
-ResourceGroupName $env:DataFactoryResourceGroup `
-DataFactoryName $env:DataFactoryName `
-PipelineName $_
}
}