Pax8API/Public/VendorProvisioning/New-Pax8ProvisionResult.ps1

<#
.SYNOPSIS
Create Provision Result
.DESCRIPTION
Generated from vendor-provisioning-endpoints.json.
OpenAPI: POST /provision-requests/{provisionRequestId}/results
Scope: VendorProvisioning. Audience: api://provisioning.
.PARAMETER ProvisionRequestId
path parameter 'provisionRequestId'.
.PARAMETER Id
body parameter 'id'.
.PARAMETER ProvisionAttemptId
body parameter 'provisionAttemptId'.
.PARAMETER Status
The status of the provision result. Must be either `Success` or `Fail`. If `Fail` an `errorMessage` should be present. Suggested values: Success, Fail.
.PARAMETER ErrorMessage
When the status is Fail, the `errorMessage` field should contain relevant error information that a person can understand and action. The `errorMessage` input is truncated to 500 characters.
.PARAMETER Metadata
body parameter 'metadata'.
.PARAMETER ExternalProvisionerSubscriptionId
Cannot be empty and must only contain alphanumeric values, hyphens and underscores.
.PARAMETER ExternalProvisionerPartnerId
Cannot be empty and must only contain alphanumeric values, hyphens and underscores.
.PARAMETER ExternalProvisionerCompanyId
Cannot be empty and must only contain alphanumeric values, hyphens and underscores.
.PARAMETER ExternalProvisionerPartnerEnrollmentId
Cannot be empty and must only contain alphanumeric values, hyphens and underscores.
.PARAMETER Body
Raw request body. This can be a hashtable, PSCustomObject, or pre-built JSON string.
.EXAMPLE
New-Pax8ProvisionResult -ProvisionRequestId '00000000-0000-0000-0000-000000000000'
.LINK
https://devx.pax8.com/openapi/vendor-provisioning-endpoints.json
#>

function New-Pax8ProvisionResult {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory = $true)]
        [guid]$ProvisionRequestId,

        [guid]$Id,

        [guid]$ProvisionAttemptId,

        [Parameter(Mandatory = $true)]
        [ValidateSet('Success', 'Fail')]
        [string]$Status,

        [string]$ErrorMessage,

        [object]$Metadata,

        [string]$ExternalProvisionerSubscriptionId,

        [string]$ExternalProvisionerPartnerId,

        [string]$ExternalProvisionerCompanyId,

        [string]$ExternalProvisionerPartnerEnrollmentId,

        [Parameter(ValueFromPipeline = $true)]
        [object]$Body,

        [switch]$Raw
    )

    process {
        $boundParameters = @{}
        foreach ($entry in $PSBoundParameters.GetEnumerator()) {
            $boundParameters[$entry.Key] = $entry.Value
        }

        Invoke-Pax8ApiOperation -CommandName $MyInvocation.MyCommand.Name -Parameters $boundParameters
    }
}