AzureBicep.psm1
function Create-AppService { [CmdletBinding()] param ( [Parameter(Mandatory=$true)] [string] $Subscription, [Parameter(Mandatory=$true)] [string] $resourceGroup, [Parameter(Mandatory=$true)] [string] $deploymentName, [Parameter(Mandatory=$true)] [string[]] $applicationName, [string] $applicationInsights, [Parameter(Mandatory=$true)] [string] $appServicePlan, [switch] $doNotMonitorApp, [ValidateSet("v3.0","v4.0","v5.0","v6.0")] $netFrameworkVersion = "v5.0", [ValidateSet("dotnet", "dotnetcore")] $dotNetType = "dotnet", [string] $vNetName = '', [string] $subnetName, [bool] $use32Bit = $true ) Set-AzContext -Subscription $Subscription | Out-Null if($dotNetType -eq "dotnetcore") { $netFrameworkVersion = "v3.0" } foreach($appName in $applicationName) { if($doNotMonitorApp) { $bicepFolder = New-Item -Path $HOME\Documents -Name Bicep -ItemType Directory Invoke-WebRequest -Uri "https://github.com/baantelope/Bicep/blob/1a34bafb7e5cb6591420dfc7cb4194b61027e3aa/AppService.bicep" -OutFile $bicepFolder\AppService.bicep New-AzResourceGroupDeployment -Name $deploymentName -ResourceGroupName $resourceGroup -TemplateFile $bicepFolder\AppService.bicep -appName $appName -aspName $appServicePlan -netFrameworkVersion $netFrameworkVersion ` -dotnettype $dotNetType -vNetName $vNetName -subnetName $subnetName -use32bit $use32Bit Remove-Item -Path $bicepFolder -Recurse -Force } else { $bicepFolder = New-Item -Path $HOME\Documents -Name Bicep -ItemType Directory Invoke-WebRequest -Uri "https://github.com/baantelope/Bicep/blob/1a34bafb7e5cb6591420dfc7cb4194b61027e3aa/AppServiceNoAI.bicep" -OutFile $bicepFolder\AppServiceNoAI.bicep New-AzResourceGroupDeployment -Name $deploymentName -ResourceGroupName $resourceGroup -TemplateFile $bicepFolder\AppServiceNoAI.bicep -appName $appName -aiName $applicationInsights -aspName $appServicePlan -netFrameworkVersion $netFrameworkVersion ` -dotnettype $dotNetType -vNetName $vNetName -subnetName $subnetName -use32bit $use32Bit Remove-Item -Path $bicepFolder -Recurse -Force } } } Export-ModuleMember -Function Create-AppService |