ps/Modules/Alkami.DevOps.Installation/Public/New-WebTierWebSites.ps1
2023-05-30 22:51:22 -07:00

91 lines
3.1 KiB
PowerShell

function New-WebTierWebSites {
<#
.SYNOPSIS
Upserts Web Tier Websites.
#>
[CmdletBinding()]
Param(
[string]$clientUrl,
[string]$adminUrl,
[string]$ipstsUrl,
[Parameter(Mandatory = $false)]
[Alias("CombineAdminAppPools")]
[bool]$doCombineAdminAppPools,
[Parameter(Mandatory = $false)]
[Alias("CombineClientAppPools")]
[bool]$doCombineClientAppPools,
[Parameter(Mandatory = $false)]
[Alias("CombineIPSTSAppPools")]
[bool]$doCombineIPSTSAppPools,
[Parameter(Mandatory = $false)]
[Alias("CombineAdminWebSites")]
[bool]$doCombineAdminWebSites,
[Parameter(Mandatory = $false)]
[Alias("CombineClientWebSites")]
[bool]$doCombineClientWebSites,
[Parameter(Mandatory = $false)]
[Alias("CombineIPSTSWebSites")]
[bool]$doCombineIPSTSWebSites
)
$logLead = (Get-LogLeadName);
Write-Verbose ("$logLead : CombineAdminAppPools is {0}" -f $doCombineAdminAppPools)
Write-Verbose ("$logLead : CombineClientAppPools is {0}" -f $doCombineClientAppPools)
Write-Verbose ("$logLead : CombineIPSTSAppPools is {0}" -f $doCombineIPSTSAppPools)
Write-Verbose ("$logLead : CombineAdminWebSites is {0}" -f $doCombineAdminWebSites)
Write-Verbose ("$logLead : CombineClientWebSites is {0}" -f $doCombineClientWebSites)
Write-Verbose ("$logLead : CombineIPSTSWebSites is {0}" -f $doCombineIPSTSWebSites)
if (!([String]::IsNullOrEmpty($clientUrl))) {
if ($doCombineClientWebSites) {
New-ClientWebBinding $clientUrl -CombineClientAppPools $doCombineClientAppPools
# New-WebTierWebApplications "WebClient"
}
else {
New-ClientWebSite $clientUrl -CombineClientAppPools $doCombineClientAppPools
# New-WebTierWebApplications $clientUrl
}
}
if (!([String]::IsNullOrEmpty($adminUrl))) {
if ($doCombineAdminWebSites) {
New-AdminWebBinding $adminUrl -CombineAdminAppPools $doCombineAdminAppPools
}
else {
New-AdminWebSite $adminUrl -CombineAdminAppPools $doCombineAdminAppPools
}
}
if (!([String]::IsNullOrEmpty($ipstsUrl))) {
if ($doCombineIPSTSWebSites) {
New-IPSTSWebBinding $ipstsUrl -CombineIPSTSAppPools $doCombineIPSTSAppPools
}
else {
New-IPSTSWebSite $ipstsUrl -CombineIPSTSAppPools $doCombineIPSTSAppPools
}
}
if ([String]::IsNullOrEmpty($ipstsUrl) -and
[String]::IsNullOrEmpty($adminUrl) -and
[String]::IsNullOrEmpty($clientUrl)) {
$clients = Get-ClientWebSiteInformationFromDatabase
foreach ($client in $clients) {
New-ClientWebBinding $client.Client -CombineClientAppPools $doCombineClientAppPools
# New-WebTierWebApplications $client.Client
New-AdminWebBinding $client.Admin -CombineAdminAppPools $doCombineAdminAppPools
New-IPSTSWebBinding $client.IPSTS -CombineIPSTSAppPools $doCombineIPSTSAppPools
}
}
}
Set-Alias -name Create-WebTierWebSites -value New-WebTierWebSites;