Public/Set-NCStandardPsaCustomerMapping.ps1
|
<# .SYNOPSIS Updates standard-PSA customer mappings. .DESCRIPTION PUT /api/standard-psa/customer/{customerId}/mappings. .PARAMETER CustomerId Customer ID. .PARAMETER PsaCompanyId PSA company ID to map. .PARAMETER PsaSiteId Optional PSA site ID. .PARAMETER PsaContactId Optional PSA contact ID. .EXAMPLE Set-NCStandardPsaCustomerMapping -CustomerId 100 -PsaCompanyId 5 #> function Set-NCStandardPsaCustomerMapping { [CmdletBinding(SupportsShouldProcess)] param ( [Parameter(Mandatory, ValueFromPipelineByPropertyName)] [ValidateNotNullOrEmpty()] [string]$CustomerId, [int]$PsaCompanyId, [int]$PsaSiteId, [int]$PsaContactId ) begin { $api = Get-NCRestApiInstance } process { Write-Verbose "[FUNCTION] Set-NCStandardPsaCustomerMapping: PUT api/standard-psa/customer/$CustomerId/mappings" $body = @{ customerId = $CustomerId } if ($PSBoundParameters.ContainsKey('PsaCompanyId')) { $body.psaCompanyId = $PsaCompanyId } if ($PSBoundParameters.ContainsKey('PsaSiteId')) { $body.psaSiteId = $PsaSiteId } if ($PSBoundParameters.ContainsKey('PsaContactId')) { $body.psaContactId = $PsaContactId } if (-not $PSCmdlet.ShouldProcess($CustomerId, 'Update standard PSA customer mapping')) { return } $api.Put("api/standard-psa/customer/$CustomerId/mappings", $body) } } |