modules/HomeLab.Azure/Private/Deploy-NATGatewayComponent.ps1
function Deploy-NATGatewayComponent { [CmdletBinding()] param( [Parameter(Mandatory=$true)] [string]$ResourceGroup, [Parameter(Mandatory=$true)] [string]$location, [Parameter(Mandatory=$true)] [string]$env, [Parameter(Mandatory=$true)] [string]$loc, [Parameter(Mandatory=$true)] [string]$project, [Parameter(Mandatory=$true)] [array]$commonParams, [Parameter(Mandatory=$true)] [string]$templatesPath, [Parameter(Mandatory=$false)] [switch]$Monitor, [Parameter(Mandatory=$false)] [switch]$BackgroundMonitor ) Write-Log -Message "Deploying NAT gateway using nat-gateway.bicep" -Level Info $templateFile = Join-Path -Path $templatesPath -ChildPath "nat-gateway.bicep" $resourceName = "$env-$loc-natgw-$project" # Use the shared Deploy-Component function and store the result $result = Deploy-Component -ResourceGroup $ResourceGroup ` -TemplateFile $templateFile ` -ResourceName $resourceName ` -ResourceType "nat-gateway" ` -ComponentName "NAT Gateway" ` -CommonParams $commonParams ` -PollIntervalSeconds 10 ` -TimeoutMinutes 30 ` -Monitor:$Monitor ` -BackgroundMonitor:$BackgroundMonitor # Return the result as a single value return $result } |