accelerator/pipeline-scripts/Deploy-ALZManagementGroups.ps1 (36 lines of code) (raw):
param (
[Parameter()]
[String]$NonRootParentManagementGroupId = "$($env:NONROOTPARENTMANAGEMENTGROUPID)",
[Parameter()]
[String]$Location = "$($env:LOCATION)",
[Parameter()]
[String]$TemplateFile = "upstream-releases\$($env:UPSTREAM_RELEASE_VERSION)\infra-as-code\bicep\modules\managementGroups\",
[Parameter()]
[String]$TemplateParameterFile = "config\custom-parameters\managementGroups.parameters.all.json",
[Parameter()]
[Boolean]$WhatIfEnabled = [System.Convert]::ToBoolean($($env:IS_PULL_REQUEST))
)
# Parameters necessary for deployment
if ($NonRootParentManagementGroupId -eq '') {
$inputObject = @{
DeploymentName = -join ('alz-MGDeployment-{0}' -f (Get-Date -Format 'yyyyMMddTHHMMssffffZ'))[0..63]
Location = $Location
TemplateFile = $TemplateFile + "managementGroups.bicep"
TemplateParameterFile = $TemplateParameterFile
WhatIf = $WhatIfEnabled
Verbose = $true
}
New-AzTenantDeployment @inputObject
}
if ($NonRootParentManagementGroupId -ne '') {
$inputObject = @{
ManagementGroupId = $NonRootParentManagementGroupId
DeploymentName = -join ('alz-MGDeployment-{0}' -f (Get-Date -Format 'yyyyMMddTHHMMssffffZ'))[0..63]
Location = $Location
TemplateFile = $TemplateFile + "managementGroupsScopeEscape.bicep"
TemplateParameterFile = $TemplateParameterFile
WhatIf = $WhatIfEnabled
Verbose = $true
}
New-AzManagementGroupDeployment @inputObject
}