public/Get-VSAWorkOrderItem.ps1
function Get-VSAWorkOrderItem { <# .Synopsis Returns the WorkOrderItems. .DESCRIPTION Returns the WorkOrderItems associated with the customer/workorder and within the scope of the sessionId. Takes either persistent or non-persistent connection information. .PARAMETER VSAConnection Specifies existing non-persistent VSAConnection. .PARAMETER URISuffix Specifies URI suffix if it differs from the default. .PARAMETER CustomerId Specifies id of the customer. .PARAMETER WorkOrderId Specifies id of work order. .PARAMETER Filter Specifies REST API Filter. .PARAMETER Paging Specifies REST API Paging. .PARAMETER Sort Specifies REST API Sorting. .EXAMPLE Get-VSAWorkOrderItem -CustomerId 23232432423 -WorkOrderId 342356456456 .EXAMPLE Get-VSAWorkOrderItem -VSAConnection $connection -CustomerId 23232432423 -WorkOrderId 342356456456 .INPUTS Accepts piped non-persistent VSAConnection .OUTPUTS Array of items that represent WorkOrderItems #> [CmdletBinding()] param ( [parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] [VSAConnection] $VSAConnection, [parameter(DontShow, Mandatory=$false, ValueFromPipelineByPropertyName=$true)] [ValidateNotNullOrEmpty()] [string] $URISuffix = 'api/v1.0/system/customers/{0}/workorders/{1}/workorderitems', [parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [ValidateScript({ if( (-not [string]::IsNullOrEmpty($_)) -and ($_ -notmatch "^\d+$") ) { throw "Non-numeric Id" } return $true })] [string] $CustomerId, [parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [ValidateScript({ if( (-not [string]::IsNullOrEmpty($_)) -and ($_ -notmatch "^\d+$") ) { throw "Non-numeric Id" } return $true })] [string] $WorkOrderId, [parameter(Mandatory=$false, ValueFromPipelineByPropertyName=$true)] [ValidateNotNullOrEmpty()] [string] $Filter, [parameter(Mandatory=$false, ValueFromPipelineByPropertyName=$true)] [ValidateNotNullOrEmpty()] [string] $Paging, [parameter(Mandatory=$false, ValueFromPipelineByPropertyName=$true)] [ValidateNotNullOrEmpty()] [string] $Sort ) [hashtable]$Params =@{ URISuffix = $($URISuffix -f $CustomerId, $WorkOrderId) VSAConnection = $VSAConnection Filter = $Filter Paging = $Paging Sort = $Sort } foreach ( $key in $Params.Keys.Clone() ) { if ( -not $Params[$key]) { $Params.Remove($key) } } return Invoke-VSARestMethod @Params } New-Alias -Name Get-VSAWorkOrderItems -Value Get-VSAWorkOrderItem Export-ModuleMember -Function Get-VSAWorkOrderItem -Alias Get-VSAWorkOrderItems |