Model/CancelLifecycleActionRequest.ps1

#
# Identity Security Cloud API - Machine Identity Lifecycle Actions
# Use these APIs to submit, list, retrieve, and cancel machine identity lifecycle actions (for example agent activate and deactivate). We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs.
# Version: v1
# Generated by OpenAPI Generator: https://openapi-generator.tech
#

<#
.SYNOPSIS

No summary available.

.DESCRIPTION

Optional cancel metadata. The path `requestId`.

.PARAMETER Comment
Optional cancel comment appended to the lifecycle request comment thread.
.OUTPUTS

CancelLifecycleActionRequest<PSCustomObject>
#>


function Initialize-CancelLifecycleActionRequest {
    [CmdletBinding()]
    Param (
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${Comment}
    )

    Process {
        'Creating PSCustomObject: PSSailpoint.MachineIdentitiesLifecycleActions => CancelLifecycleActionRequest' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        if (!$Comment -and $Comment.length -gt 1000) {
            throw "invalid value for 'Comment', the character length must be smaller than or equal to 1000."
        }


        $PSO = [PSCustomObject]@{
            "comment" = ${Comment}
        }

        return $PSO
    }
}

<#
.SYNOPSIS

Convert from JSON to CancelLifecycleActionRequest<PSCustomObject>

.DESCRIPTION

Convert from JSON to CancelLifecycleActionRequest<PSCustomObject>

.PARAMETER Json

Json object

.OUTPUTS

CancelLifecycleActionRequest<PSCustomObject>
#>

function ConvertFrom-JsonToCancelLifecycleActionRequest {
    Param(
        [AllowEmptyString()]
        [string]$Json
    )

    Process {
        'Converting JSON to PSCustomObject: PSSailpoint.MachineIdentitiesLifecycleActions => CancelLifecycleActionRequest' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $JsonParameters = ConvertFrom-Json -InputObject $Json

        # check if Json contains properties not defined in CancelLifecycleActionRequest
        $AllProperties = ("comment")
        foreach ($name in $JsonParameters.PsObject.Properties.Name) {
            if (!($AllProperties.Contains($name))) {
                throw "Error! JSON key '$name' not found in the properties: $($AllProperties)"
            }
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "comment"))) { #optional property not found
            $Comment = $null
        } else {
            $Comment = $JsonParameters.PSobject.Properties["comment"].value
        }

        $PSO = [PSCustomObject]@{
            "comment" = ${Comment}
        }

        return $PSO
    }

}