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

83 lines
2.3 KiB
PowerShell

function New-PackageMetadataObject {
<#
.SYNOPSIS
Creates a (mostly) empty metadata object. Utilized by Classify-Packages.
.PARAMETER ServerFilter
Limits the deployment to a specific list of servers.
.PARAMETER ServersString
List of servers.
#>
[CmdletBinding()]
param(
$ServerFilter,
$ServersString
)
$packageMetadata = New-Object psobject -property @{
WebPackagesToInstall = @()
AppPackagesToInstall = @()
MicPackagesToInstall = @()
WebPackagesToUninstall = @()
AppPackagesToUninstall = @()
MicPackagesToUninstall = @()
AwsSettings = @{ }
HasWebInstalls = $false
HasAppInstalls = $false
HasMicInstalls = $false
HasWebUninstalls = $false
HasAppUninstalls = $false
HasMicUninstalls = $false
ServerFilter = @()
ServerFilterRaw = $ServerFilter
OriginalServerList = @()
OriginalServerListRaw = $ServersString
Servers = @()
ServersToQuery = @()
WebServers = @()
AppServers = @()
MicServers = @()
FabServers = @()
HasWebServers = $false
HasAppServers = $false
HasMicServers = $false
HasFabServers = $false
SelectedFabServer = ""
HasBadPackages = $false
BadWebPackagesToUninstall = @()
BadAppPackagesToUninstall = @()
BadMicPackagesToUninstall = @()
BadFabPackagesToUninstall = @()
EnvironmentLabel = ""
EnvironmentName = ""
EnvironmentNameSafeDesignation = ""
EnvironmentHosting = ""
EnvironmentType = ""
InstalledOrbVersion = ""
IsDisasterRecovery = ""
ForceReinstallPackages = ""
InstallToAppsAndMics = ""
PackageToVersions = @{ }
IsRollingDeploy = $false
DisableMicroserviceNewRelic = $false
PackageToServers = @{}
MigrationOnlyPackages = @()
IsEclairInstalledOnAllHosts = $false
EclairInstallData = @()
}
return $packageMetadata
}