modules/Azure/Discovery/Public/Get-CIEMAzureDiscoveryPhaseMetric.ps1
|
function Get-CIEMAzureDiscoveryPhaseMetric { [CmdletBinding()] [OutputType([PSCustomObject[]])] param( [Parameter()] [int]$DiscoveryRunId, [Parameter()] [string]$PhaseName ) $ErrorActionPreference = 'Stop' $conditions = @() $parameters = @{} if ($PSBoundParameters.ContainsKey('DiscoveryRunId')) { $conditions += 'discovery_run_id = @discovery_run_id' $parameters.discovery_run_id = $DiscoveryRunId } if ($PSBoundParameters.ContainsKey('PhaseName')) { $conditions += 'phase_name = @phase_name' $parameters.phase_name = $PhaseName } $query = @" SELECT id, discovery_run_id, phase_name, succeeded, elapsed_seconds, evidence, recorded_at FROM azure_discovery_phase_metrics "@ if ($conditions.Count -gt 0) { $query += "`nWHERE " + ($conditions -join ' AND ') } $query += "`nORDER BY discovery_run_id DESC, id ASC" $rows = @(Invoke-CIEMQuery -Query $query -Parameters $parameters) @(foreach ($row in $rows) { [PSCustomObject]@{ Id = [int]$row.id DiscoveryRunId = [int]$row.discovery_run_id PhaseName = [string]$row.phase_name Succeeded = [bool]$row.succeeded ElapsedSeconds = [double]$row.elapsed_seconds Evidence = [string]$row.evidence RecordedAt = [string]$row.recorded_at } }) } |