Public/Get-SnipeitAssetMaintenance.ps1
<# .SYNOPSIS Lists Snipe-it Assets Maintenances .PARAMETER asset_id Asset ID of the asset you'd like to return maintenances for .PARAMETER search Search string .PARAMETER sort Specify the column name you wish to sort by .PARAMETER order Specify the order (asc or desc) you wish to order by on your sort column .PARAMETER limit Specify the number of results you wish to return. Defaults to 50. Defines batch size for -all .PARAMETER offset Offset to use .PARAMETER all A return all results, works with -offset and other parameters .PARAMETER url Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system. .PARAMETER apiKey Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit. .EXAMPLE Get-SnipeitAssetMaintenances .EXAMPLE Get-SnipeitAssetMaintenances -search "myMachine" .EXAMPLE Get-SnipeitAssetMaintenances -search "myMachine" #> function Get-SnipeitAssetMaintenance() { Param( [string]$search, [int]$asset_id, [string]$sort = "created_at", [ValidateSet("asc", "desc")] [string]$order = "desc", [int]$limit = 50, [switch]$all = $false, [int]$offset, [parameter(mandatory = $false)] [string]$url, [parameter(mandatory = $false)] [string]$apiKey ) begin { Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name $SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters $Parameters = @{ Api = "/api/v1/maintenances" Method = 'Get' GetParameters = $SearchParameter } if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) { Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead." Set-SnipeitPSLegacyApiKey -apiKey $apikey } if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) { Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead." Set-SnipeitPSLegacyUrl -url $url } } process { if ($all) { $offstart = $(if ($offset) {$offset} Else {0}) $callargs = $SearchParameter $callargs.Remove('all') while ($true) { $callargs['offset'] = $offstart $callargs['limit'] = $limit $res=Get-SnipeitAssetMaintenance @callargs $res if ($res.count -lt $limit) { break } $offstart = $offstart + $limit } } else { $result = Invoke-SnipeitMethod @Parameters $result } } end { # reset legacy sessions if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) { Reset-SnipeitPSLegacyApi } } } |