public/Get-D4IOTDeviceEvents.ps1
function Get-D4IOTDeviceEvents { [CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'High')] param ( [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [string] $HostName, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [string]$APIKey, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [int]$MinutesTimeFrame, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [string]$EventType, [Parameter(Mandatory = $false, ValueFromPipeline)] [ValidateNotNullOrEmpty()] [bool]$IgnoreSSL ) begin { #precheck } process { Write-Verbose -Message "Starting Get-D4IOTDeviceEvents Method" try { Write-Verbose -Message "Header Formation Started..." $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $headers.Add("Authorization", "$APIKey") Write-Debug -Message "$APIKey" Write-Debug -Message "$HostName" Write-Verbose -Message "URI Formation Started..." $BaseUri=[System.Uri]"https://$HostName//api//v1//events"; Write-Verbose -Message "Parameters Formation Started..."; $bodyContent =@{}; if($MinutesTimeFrame -gt 0) { $bodyContent.Add("minutesTimeFrame", $MinutesTimeFrame); Write-Verbose -Message "Parameter Added minutesTimeFrame $MinutesTimeFrame"; } if($EventType -ne $null) { $bodyContent.Add("type", $EventType); Write-Verbose -Message "Parameter Added type $EventType"; } if($IgnoreSSL) { $jsonresponse = Invoke-RestMethod $BaseUri -Method 'GET' -Headers $headers -Body $bodyContent -SkipCertificateCheck } else { $jsonresponse = Invoke-RestMethod $BaseUri -Method 'GET' -Headers $headers -Body $bodyContent } $jsonresponse = $jsonresponse | ConvertTo-Json return $jsonresponse; } catch { $return = $_.Exception.Message; Write-Verbose $_; Write-Error "Error in Get-D4IOTDevices $return"; return $return ; } } } |