modules/Azure/Discovery/Public/Get-CIEMAzureDiscoveryRun.ps1
|
function Get-CIEMAzureDiscoveryRun { [CmdletBinding()] [OutputType('CIEMAzureDiscoveryRun[]')] param( [Parameter()] [int]$Id, [Parameter()] [string]$Status, [Parameter()] [int]$Last ) $conditions = @() $parameters = @{} if ($PSBoundParameters.ContainsKey('Last')) { $rows = @(Invoke-CIEMQuery -Query "SELECT * FROM azure_discovery_runs ORDER BY started_at DESC LIMIT @last" -Parameters @{ last = $Last }) } else { if ($PSBoundParameters.ContainsKey('Id')) { $conditions += "id = @id" $parameters.id = $Id } if ($PSBoundParameters.ContainsKey('Status')) { $conditions += "status = @status" $parameters.status = $Status } $query = "SELECT * FROM azure_discovery_runs" if ($conditions.Count -gt 0) { $query += "`nWHERE " + ($conditions -join ' AND ') } $rows = @(Invoke-CIEMQuery -Query $query -Parameters $parameters) } @(foreach ($row in $rows) { $obj = [CIEMAzureDiscoveryRun]::new() $obj.Id = $row.id $obj.PsuJobId = $row.psu_job_id $obj.Scope = $row.scope $obj.Status = $row.status $obj.StartedAt = $row.started_at $obj.CompletedAt = $row.completed_at $obj.ArmTypeCount = $row.arm_type_count $obj.ArmRowCount = $row.arm_row_count $obj.EntraTypeCount = $row.entra_type_count $obj.EntraRowCount = $row.entra_row_count $obj.WarningCount = $row.warning_count $obj.ErrorMessage = $row.error_message $obj }) } |