Model/ManagePermissionGrantSetting.ps1

#
# Cloud Governance Api
# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
# Version: 1.0
# Generated by OpenAPI Generator: https://openapi-generator.tech
#

<#
.SYNOPSIS

No summary available.

.DESCRIPTION

No description available.

.PARAMETER IsEnableGrantPermission
No description available.

.PARAMETER IsGrantTemporaryPermission
No description available.

.PARAMETER GrantPermissionAssignBy
No description available.

.PARAMETER TemporaryPermissionDuration
No description available.

.PARAMETER TemporaryDurationType
No description available.

.PARAMETER IsMaxTemporaryDurationSetted
No description available.

.PARAMETER TemporaryPermissionMaxDuration
No description available.

.PARAMETER TemporaryPermissionMaxDurationType
No description available.

.PARAMETER IsEnableExpireNotify
No description available.

.PARAMETER ExpireNotifyDuration
No description available.

.PARAMETER ExpireNotifyDurationType
No description available.

.PARAMETER ExpireNotifyEmailTemplate
No description available.

.PARAMETER IsEnableWelcomeNotify
No description available.

.PARAMETER WelcomeEmailSubject
No description available.

.PARAMETER WelcomeEmailBody
No description available.

.PARAMETER WelcomeEmailAssignBy
No description available.

.PARAMETER AllowSpecifyTemporayPermissionDuration
No description available.

.OUTPUTS

ManagePermissionGrantSetting<PSCustomObject>
#>


function New-ManagePermissionGrantSetting {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipelineByPropertyName = $true)]
        [System.Nullable[Boolean]]
        ${IsEnableGrantPermission},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true)]
        [System.Nullable[Boolean]]
        ${IsGrantTemporaryPermission},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${GrantPermissionAssignBy},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true)]
        [System.Nullable[Int32]]
        ${TemporaryPermissionDuration},
        [Parameter(Position = 4, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${TemporaryDurationType},
        [Parameter(Position = 5, ValueFromPipelineByPropertyName = $true)]
        [System.Nullable[Boolean]]
        ${IsMaxTemporaryDurationSetted},
        [Parameter(Position = 6, ValueFromPipelineByPropertyName = $true)]
        [System.Nullable[Int32]]
        ${TemporaryPermissionMaxDuration},
        [Parameter(Position = 7, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${TemporaryPermissionMaxDurationType},
        [Parameter(Position = 8, ValueFromPipelineByPropertyName = $true)]
        [System.Nullable[Boolean]]
        ${IsEnableExpireNotify},
        [Parameter(Position = 9, ValueFromPipelineByPropertyName = $true)]
        [System.Nullable[Int32]]
        ${ExpireNotifyDuration},
        [Parameter(Position = 10, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${ExpireNotifyDurationType},
        [Parameter(Position = 11, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${ExpireNotifyEmailTemplate},
        [Parameter(Position = 12, ValueFromPipelineByPropertyName = $true)]
        [System.Nullable[Boolean]]
        ${IsEnableWelcomeNotify},
        [Parameter(Position = 13, ValueFromPipelineByPropertyName = $true)]
        [String]
        ${WelcomeEmailSubject},
        [Parameter(Position = 14, ValueFromPipelineByPropertyName = $true)]
        [String]
        ${WelcomeEmailBody},
        [Parameter(Position = 15, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${WelcomeEmailAssignBy},
        [Parameter(Position = 16, ValueFromPipelineByPropertyName = $true)]
        [System.Nullable[Boolean]]
        ${AllowSpecifyTemporayPermissionDuration}
    )

    Process {
        'Creating object: Cloud.Governance.Client => ManagePermissionGrantSetting' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $PSO = [PSCustomObject]@{
            "isEnableGrantPermission" = ${IsEnableGrantPermission}
            "isGrantTemporaryPermission" = ${IsGrantTemporaryPermission}
            "grantPermissionAssignBy" = ${GrantPermissionAssignBy}
            "temporaryPermissionDuration" = ${TemporaryPermissionDuration}
            "temporaryDurationType" = ${TemporaryDurationType}
            "isMaxTemporaryDurationSetted" = ${IsMaxTemporaryDurationSetted}
            "temporaryPermissionMaxDuration" = ${TemporaryPermissionMaxDuration}
            "temporaryPermissionMaxDurationType" = ${TemporaryPermissionMaxDurationType}
            "isEnableExpireNotify" = ${IsEnableExpireNotify}
            "expireNotifyDuration" = ${ExpireNotifyDuration}
            "expireNotifyDurationType" = ${ExpireNotifyDurationType}
            "expireNotifyEmailTemplate" = ${ExpireNotifyEmailTemplate}
            "isEnableWelcomeNotify" = ${IsEnableWelcomeNotify}
            "welcomeEmailSubject" = ${WelcomeEmailSubject}
            "welcomeEmailBody" = ${WelcomeEmailBody}
            "welcomeEmailAssignBy" = ${WelcomeEmailAssignBy}
            "allowSpecifyTemporayPermissionDuration" = ${AllowSpecifyTemporayPermissionDuration}
        }

        return $PSO
    }
}