Model/ApiCommonApiResponseGuid.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
 
ApiCommonApiResponseGuid<PSCustomObject>
#>


function Initialize-ConfideApiCommonApiResponseGuid {
    [CmdletBinding()]
    Param (
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${StatusCode},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${Message},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${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 => ConfideApiCommonApiResponseGuid' | 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 ApiCommonApiResponseGuid<PSCustomObject>
 
.DESCRIPTION
 
Convert from JSON to ApiCommonApiResponseGuid<PSCustomObject>
 
.PARAMETER Json
 
Json object
 
.OUTPUTS
 
ApiCommonApiResponseGuid<PSCustomObject>
#>

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

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

        $JsonParameters = ConvertFrom-Json -InputObject $Json

        # check if Json contains properties not defined in ConfideApiCommonApiResponseGuid
        $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
    }

}