custom/autogen-model-cmdlets/New-NmeArmHostPoolPropertiesModel.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 ArmHostPoolProperties.
.Description
Create an in-memory object for ArmHostPoolProperties.

.Outputs
NmePowershell.Models.ArmHostPoolProperties

#>

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

        [Parameter()]
        [bool]
        $AgentUpdateExcludeDrainModeHosts,
        [Parameter()]
        [string]
        $AgentUpdateMaintenanceWindowTimeZone,
        [Parameter()]
        [bool]
        $AgentUpdatePowerOnHostsInMaintenanceWindow,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("Default", "Scheduled")]
        [string]
        $AgentUpdateType,
        [Parameter()]
        [bool]
        $AgentUpdateUseSessionHostLocalTime,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("Automatic", "Direct")]
        [string]
        $AssignmentType,
        [Parameter()]
        [string]
        $Description,
        [Parameter()]
        [string]
        $FriendlyName,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("BreadthFirst", "DepthFirst", "Persistent", "MultiplePersistent")]
        [string]
        $LoadBalancerType,
        [Parameter()]
        [int]
        $MaxSessionLimit,
        [Parameter()]
        [bool]
        $PowerOnPooledHosts,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("0", "1", "2", "3", "4", "5", "6")]
        [int]
        $PrimaryWindowDayOfWeek,
        [Parameter()]
        [int]
        $PrimaryWindowHour,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("0", "1", "2", "3", "4", "5", "6")]
        [int]
        $SecondaryWindowDayOfWeek,
        [Parameter()]
        [int]
        $SecondaryWindowHour,
        [Parameter()]
        [bool]
        $StartVMOnConnect,
        [Parameter()]
        [bool]
        $ValidationEnv
    )

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

        if ($PSBoundParameters.ContainsKey('AgentUpdateExcludeDrainModeHosts')) {
            $Object.AgentUpdateExcludeDrainModeHosts = $AgentUpdateExcludeDrainModeHosts
        }
        if ($PSBoundParameters.ContainsKey('AgentUpdateMaintenanceWindowTimeZone')) {
            $Object.AgentUpdateMaintenanceWindowTimeZone = $AgentUpdateMaintenanceWindowTimeZone
        }
        if ($PSBoundParameters.ContainsKey('AgentUpdatePowerOnHostsInMaintenanceWindow')) {
            $Object.AgentUpdatePowerOnHostsInMaintenanceWindow = $AgentUpdatePowerOnHostsInMaintenanceWindow
        }
        if ($PSBoundParameters.ContainsKey('AgentUpdateType')) {
            $Object.AgentUpdateType = $AgentUpdateType
        }
        if ($PSBoundParameters.ContainsKey('AgentUpdateUseSessionHostLocalTime')) {
            $Object.AgentUpdateUseSessionHostLocalTime = $AgentUpdateUseSessionHostLocalTime
        }
        if ($PSBoundParameters.ContainsKey('AssignmentType')) {
            $Object.AssignmentType = $AssignmentType
        }
        if ($PSBoundParameters.ContainsKey('Description')) {
            $Object.Description = $Description
        }
        if ($PSBoundParameters.ContainsKey('FriendlyName')) {
            $Object.FriendlyName = $FriendlyName
        }
        if ($PSBoundParameters.ContainsKey('LoadBalancerType')) {
            $Object.LoadBalancerType = $LoadBalancerType
        }
        if ($PSBoundParameters.ContainsKey('MaxSessionLimit')) {
            $Object.MaxSessionLimit = $MaxSessionLimit
        }
        if ($PSBoundParameters.ContainsKey('PowerOnPooledHosts')) {
            $Object.PowerOnPooledHosts = $PowerOnPooledHosts
        }
        if ($PSBoundParameters.ContainsKey('PrimaryWindowDayOfWeek')) {
            $Object.PrimaryWindowDayOfWeek = $PrimaryWindowDayOfWeek
        }
        if ($PSBoundParameters.ContainsKey('PrimaryWindowHour')) {
            $Object.PrimaryWindowHour = $PrimaryWindowHour
        }
        if ($PSBoundParameters.ContainsKey('SecondaryWindowDayOfWeek')) {
            $Object.SecondaryWindowDayOfWeek = $SecondaryWindowDayOfWeek
        }
        if ($PSBoundParameters.ContainsKey('SecondaryWindowHour')) {
            $Object.SecondaryWindowHour = $SecondaryWindowHour
        }
        if ($PSBoundParameters.ContainsKey('StartVMOnConnect')) {
            $Object.StartVMOnConnect = $StartVMOnConnect
        }
        if ($PSBoundParameters.ContainsKey('ValidationEnv')) {
            $Object.ValidationEnv = $ValidationEnv
        }
        return $Object
    }
}