custom/autogen-model-cmdlets/New-NmeHostPoolUserSelfServiceUpdateModel.ps1


# ----------------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.10.8, generator: @autorest/powershell@4.0.752)
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create an in-memory object for HostPoolUserSelfServiceUpdate.
.Description
Create an in-memory object for HostPoolUserSelfServiceUpdate.

.Outputs
NmePowershell.Models.HostPoolUserSelfServiceUpdate

#>

function New-NmeHostPoolUserSelfServiceUpdateModel {
    [NmePowershell.ModelCmdletAttribute()]
    [OutputType('NmePowershell.Models.HostPoolUserSelfServiceUpdate')]
    [CmdletBinding(PositionalBinding=$false)]
    Param(

        [Parameter()]
        [bool]
        $AllowAppInstall,
        [Parameter()]
        [bool]
        $AllowChangePersonalDiskSize,
        [Parameter()]
        [bool]
        $AllowCreateVM,
        [Parameter()]
        [bool]
        $AllowReimageDesktops,
        [Parameter()]
        [bool]
        $AllowResetFsLogix,
        [Parameter()]
        [bool]
        $AllowResizeDesktops,
        [Parameter()]
        [bool]
        $AllowRestartDesktops,
        [Parameter()]
        [bool]
        $AllowRestoreDesktops,
        [Parameter()]
        [bool]
        $AllowRestrictAutoScale,
        [Parameter()]
        [bool]
        $AllowScriptedActions,
        [Parameter()]
        [bool]
        $AllowStartDesktops,
        [Parameter()]
        [bool]
        $AllowStopDesktops,
        [Parameter()]
        [bool]
        $AllowUpdateDesktopsTags,
        [Parameter()]
        [NmePowershell.Models.IAnySelfServiceAppCreate[]]
        $AllowedApps,
        [Parameter()]
        [NmePowershell.Models.IUserSelfServiceTag[]]
        $AllowedDesktopsTags,
        [Parameter()]
        [NmePowershell.Models.ISelfServiceDiskSize[]]
        $AllowedDiskOptions,
        [Parameter()]
        [string[]]
        $AllowedDiskSizes,
        [Parameter()]
        [string[]]
        $AllowedImages,
        [Parameter()]
        [NmePowershell.Models.IUserSelfServiceScriptedAction[]]
        $AllowedScriptedActions,
        [Parameter()]
        [string[]]
        $AllowedVMSizes,
        [Parameter()]
        [bool]
        $AutoRevertPersonalSize,
        [Parameter()]
        [int]
        $AutoRevertPersonalSizeMaxDelayHours,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("High", "Medium", "Low")]
        [string]
        $AutoRevertPersonalSizeSessionState,
        [Parameter()]
        [bool]
        $EnableUserSelfServicePortal,
        [Parameter()]
        [int]
        $MaxAutoScaleRestrictionPeriod,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("InstantRestoresOnly", "AllRecoveryPoints")]
        [string]
        $RecoveryMode
    )

    process {
        $Object = [NmePowershell.Models.HostPoolUserSelfServiceUpdate]::New()

        if ($PSBoundParameters.ContainsKey('AllowAppInstall')) {
            $Object.AllowAppInstall = $AllowAppInstall
        }
        if ($PSBoundParameters.ContainsKey('AllowChangePersonalDiskSize')) {
            $Object.AllowChangePersonalDiskSize = $AllowChangePersonalDiskSize
        }
        if ($PSBoundParameters.ContainsKey('AllowCreateVM')) {
            $Object.AllowCreateVM = $AllowCreateVM
        }
        if ($PSBoundParameters.ContainsKey('AllowReimageDesktops')) {
            $Object.AllowReimageDesktops = $AllowReimageDesktops
        }
        if ($PSBoundParameters.ContainsKey('AllowResetFsLogix')) {
            $Object.AllowResetFsLogix = $AllowResetFsLogix
        }
        if ($PSBoundParameters.ContainsKey('AllowResizeDesktops')) {
            $Object.AllowResizeDesktops = $AllowResizeDesktops
        }
        if ($PSBoundParameters.ContainsKey('AllowRestartDesktops')) {
            $Object.AllowRestartDesktops = $AllowRestartDesktops
        }
        if ($PSBoundParameters.ContainsKey('AllowRestoreDesktops')) {
            $Object.AllowRestoreDesktops = $AllowRestoreDesktops
        }
        if ($PSBoundParameters.ContainsKey('AllowRestrictAutoScale')) {
            $Object.AllowRestrictAutoScale = $AllowRestrictAutoScale
        }
        if ($PSBoundParameters.ContainsKey('AllowScriptedActions')) {
            $Object.AllowScriptedActions = $AllowScriptedActions
        }
        if ($PSBoundParameters.ContainsKey('AllowStartDesktops')) {
            $Object.AllowStartDesktops = $AllowStartDesktops
        }
        if ($PSBoundParameters.ContainsKey('AllowStopDesktops')) {
            $Object.AllowStopDesktops = $AllowStopDesktops
        }
        if ($PSBoundParameters.ContainsKey('AllowUpdateDesktopsTags')) {
            $Object.AllowUpdateDesktopsTags = $AllowUpdateDesktopsTags
        }
        if ($PSBoundParameters.ContainsKey('AllowedApps')) {
            $Object.AllowedApps = $AllowedApps
        }
        if ($PSBoundParameters.ContainsKey('AllowedDesktopsTags')) {
            $Object.AllowedDesktopsTags = $AllowedDesktopsTags
        }
        if ($PSBoundParameters.ContainsKey('AllowedDiskOptions')) {
            $Object.AllowedDiskOptions = $AllowedDiskOptions
        }
        if ($PSBoundParameters.ContainsKey('AllowedDiskSizes')) {
            $Object.AllowedDiskSizes = $AllowedDiskSizes
        }
        if ($PSBoundParameters.ContainsKey('AllowedImages')) {
            $Object.AllowedImages = $AllowedImages
        }
        if ($PSBoundParameters.ContainsKey('AllowedScriptedActions')) {
            $Object.AllowedScriptedActions = $AllowedScriptedActions
        }
        if ($PSBoundParameters.ContainsKey('AllowedVMSizes')) {
            $Object.AllowedVMSizes = $AllowedVMSizes
        }
        if ($PSBoundParameters.ContainsKey('AutoRevertPersonalSize')) {
            $Object.AutoRevertPersonalSize = $AutoRevertPersonalSize
        }
        if ($PSBoundParameters.ContainsKey('AutoRevertPersonalSizeMaxDelayHours')) {
            $Object.AutoRevertPersonalSizeMaxDelayHours = $AutoRevertPersonalSizeMaxDelayHours
        }
        if ($PSBoundParameters.ContainsKey('AutoRevertPersonalSizeSessionState')) {
            $Object.AutoRevertPersonalSizeSessionState = $AutoRevertPersonalSizeSessionState
        }
        if ($PSBoundParameters.ContainsKey('EnableUserSelfServicePortal')) {
            $Object.EnableUserSelfServicePortal = $EnableUserSelfServicePortal
        }
        if ($PSBoundParameters.ContainsKey('MaxAutoScaleRestrictionPeriod')) {
            $Object.MaxAutoScaleRestrictionPeriod = $MaxAutoScaleRestrictionPeriod
        }
        if ($PSBoundParameters.ContainsKey('RecoveryMode')) {
            $Object.RecoveryMode = $RecoveryMode
        }
        return $Object
    }
}