functions/library/registry/.scripts/Invoke-ResourceGroupDeployment.ps1
|
function Invoke-ResourceGroupDeployment { param( <# [Required] The name used for the deployment and resource group. #> [Parameter( Mandatory = $true )] [System.String] $DeploymentName, <# [Required] Specifies the path to the Bicep template file. #> [Parameter( Mandatory = $true )] [System.String] $TemplateFile, <# [Required] Specifies the path to the Bicep parameter file. #> [Parameter( Mandatory = $true )] [System.String] $ParameterFile, <# [Optional] Specifies the Azure location for the resource group deployment. Defaults: - 'Westeurope'. #> [Parameter()] [System.String] $Location = 'Westeurope', <# [Optional] Switch parameter to enable What-If analysis for the deployment. #> [Parameter()] [Switch] $WhatIf ) New-AzResourceGroup -Name $DeploymentName -Location $Location -Force if ($WhatIf.IsPresent) { $Deployment = @{ Name = $DeploymentName ResourceGroupName = $DeploymentName TemplateFile = $TemplateFile TemplateParameterFile = $ParameterFile WhatIfResultFormat = 'FullResourcePayloads' WhatIfExcludeChangeType = 'NoChange' } $deployment = New-AzResourceGroupDeployment @Deployment -WhatIf -Verbose $deployment $deployment.outputs | ConvertTo-Json } else { $Deployment = @{ Name = $DeploymentName ResourceGroupName = $DeploymentName TemplateFile = $TemplateFile TemplateParameterFile = $ParameterFile DenySettingsMode = 'None' ActionOnUnmanage = 'DeleteAll' } $deployment = New-AzResourceGroupDeploymentStack @Deployment -Verbose -Force -Confirm:$false $deployment $deployment.outputs | ConvertTo-Json } Remove-AzResourceGroup -Name $DeploymentName -Force -ErrorAction Continue } |