Private/Wizard/Get-CgrActivityTerminalState.ps1
|
function Get-CgrActivityTerminalState { [CmdletBinding()] param( [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [string] $Name, [AllowNull()] [object] $Result ) if ($null -eq $Result) { return 'Completed' } $isSuccessfulProperty = $Result.PSObject.Properties['IsSuccessful'] if ($null -ne $isSuccessfulProperty -and -not [bool] $isSuccessfulProperty.Value) { return 'Failed' } if ($Name -eq 'RestoreRepositoryProtection') { $status = [string] (Get-CgrObjectProperty -InputObject $Result -Name 'Status') switch ($status) { 'NotApplicable' { return 'Info' } 'Skipped' { return 'Info' } 'Unsupported' { return 'Warning' } 'Partial' { return 'Warning' } 'Failed' { return 'Failed' } } } if ($Name -eq 'RestoreSupportedSettings') { $restored = @(Get-CgrObjectProperty -InputObject $Result -Name 'Restored') if ($restored.Count -eq 0) { return 'Info' } } if ($Name -eq 'TransferGitLfs') { $usesGitLfs = Get-CgrObjectProperty -InputObject $Result -Name 'UsesGitLfs' if ($null -ne $usesGitLfs -and -not [bool] $usesGitLfs) { return 'Info' } } return 'Completed' } |