Private/ConvertFrom-TBDriftResponse.ps1
|
function ConvertFrom-TBDriftResponse { <# .SYNOPSIS Converts a raw Graph API drift response into a typed PSCustomObject. #> [CmdletBinding()] param( [Parameter(Mandatory = $true)] [object]$Response ) if ($Response -is [hashtable]) { $obj = [PSCustomObject]$Response } else { $obj = $Response } $result = [PSCustomObject]@{ PSTypeName = 'TenantBaseline.Drift' Id = $null MonitorId = $null TenantId = $null ResourceType = $null BaselineResourceDisplayName = $null FirstReportedDateTime = $null Status = $null ResourceInstanceIdentifier = $null DriftedProperties = @() RawResponse = $Response } if ($obj.PSObject.Properties['id']) { $result.Id = $obj.id } if ($obj.PSObject.Properties['monitorId']) { $result.MonitorId = $obj.monitorId } if ($obj.PSObject.Properties['tenantId']) { $result.TenantId = $obj.tenantId } if ($obj.PSObject.Properties['resourceType']) { $result.ResourceType = $obj.resourceType } if ($obj.PSObject.Properties['baselineResourceDisplayName']) { $result.BaselineResourceDisplayName = $obj.baselineResourceDisplayName } if ($obj.PSObject.Properties['firstReportedDateTime']) { $result.FirstReportedDateTime = $obj.firstReportedDateTime } if ($obj.PSObject.Properties['status']) { $result.Status = $obj.status } if ($obj.PSObject.Properties['resourceInstanceIdentifier']) { $result.ResourceInstanceIdentifier = $obj.resourceInstanceIdentifier } if ($obj.PSObject.Properties['driftedProperties']) { $result.DriftedProperties = $obj.driftedProperties } return $result } |