function Update-Borg{ <# .SYNOPSIS Update Borg with information about packages being installed. Utilized by Classify-Packages. .PARAMETER BorgApiKey API key for borg .PARAMETER BorgUri URI of the Borg API .PARAMETER PackageMetadata Object containing package information to be sent to Borg. #> [CmdletBinding()] param( [string]$BorgApiKey, [string]$BorgUri, [PSObject]$PackageMetadata ) $borgElementsToAdd = Select-UniqueServerPackages @($PackageMetadata.WebPackagesToInstall, $PackageMetadata.AppPackagesToInstall, $PackageMetadata.MicPackagesToInstall) $borgElementsToRemove = Select-UniqueServerPackages @($PackageMetadata.WebPackagesToUninstall, $PackageMetadata.AppPackagesToUninstall, $PackageMetadata.MicPackagesToUninstall) try { if (![string]::IsNullOrWhiteSpace($BorgUri)) { Write-Host "Updating BoRG [$BorgUri] Inventory" $splatParams = @{ ElementsToAdd = $borgElementsToAdd ElementsToRemove = $borgElementsToRemove EnvironmentTypeName = $PackageMetadata.EnvironmentLabel PlatformVersionName = "Unspecified" ElementTierName = "Unknown" BorgUri = $BorgUri ApiKey = $BorgApiKey } Update-PlatformElementInventory @splatParams Write-Host "BoRG successfully updated." } else { Write-Error "BorgUri is not configured! Check deployment params in TC." } } catch { Write-Error "An exception occurred while updating BoRG. Error: $($_.Exception.Message)" } }