Model/ApiCommonApiResponseImportUserStatusResponse.ps1

#
# Confide SDK API
# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
# Version: 1.0
# Contact: support@avepoint.com
# Generated by OpenAPI Generator: https://openapi-generator.tech
#

<#
.SYNOPSIS
 
No summary available.
 
.DESCRIPTION
 
No description available.
 
.PARAMETER StatusCode
No description available.
.PARAMETER Message
No description available.
.PARAMETER VarData
No description available.
.PARAMETER Errors
No description available.
.PARAMETER RequestId
No description available.
.PARAMETER Timestamp
No description available.
.PARAMETER Metadata
No description available.
.PARAMETER TraceId
No description available.
.OUTPUTS
 
ApiCommonApiResponseImportUserStatusResponse<PSCustomObject>
#>


function Initialize-ConfideApiCommonApiResponseImportUserStatusResponse {
    [CmdletBinding()]
    Param (
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${StatusCode},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${Message},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${VarData},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject[]]
        ${Errors},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${RequestId},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [System.Nullable[System.DateTime]]
        ${Timestamp},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${Metadata},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${TraceId}
    )

    Process {
        'Creating PSCustomObject: Confide.Client => ConfideApiCommonApiResponseImportUserStatusResponse' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug


        $PSO = [PSCustomObject]@{
            "statusCode" = ${StatusCode}
            "message" = ${Message}
            "data" = ${VarData}
            "errors" = ${Errors}
            "requestId" = ${RequestId}
            "timestamp" = ${Timestamp}
            "metadata" = ${Metadata}
            "traceId" = ${TraceId}
        }

        return $PSO
    }
}

<#
.SYNOPSIS
 
Convert from JSON to ApiCommonApiResponseImportUserStatusResponse<PSCustomObject>
 
.DESCRIPTION
 
Convert from JSON to ApiCommonApiResponseImportUserStatusResponse<PSCustomObject>
 
.PARAMETER Json
 
Json object
 
.OUTPUTS
 
ApiCommonApiResponseImportUserStatusResponse<PSCustomObject>
#>

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

    Process {
        'Converting JSON to PSCustomObject: Confide.Client => ConfideApiCommonApiResponseImportUserStatusResponse' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $JsonParameters = ConvertFrom-Json -InputObject $Json

        # check if Json contains properties not defined in ConfideApiCommonApiResponseImportUserStatusResponse
        $AllProperties = ("statusCode", "message", "data", "errors", "requestId", "timestamp", "metadata", "traceId")
        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 "statusCode"))) { #optional property not found
            $StatusCode = $null
        } else {
            $StatusCode = $JsonParameters.PSobject.Properties["statusCode"].value
        }

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

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

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

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

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

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

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

        $PSO = [PSCustomObject]@{
            "statusCode" = ${StatusCode}
            "message" = ${Message}
            "data" = ${VarData}
            "errors" = ${Errors}
            "requestId" = ${RequestId}
            "timestamp" = ${Timestamp}
            "metadata" = ${Metadata}
            "traceId" = ${TraceId}
        }

        return $PSO
    }

}