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

.Outputs
NmePowershell.Models.HostPoolScriptRunParams

#>

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

        [Parameter(Mandatory)]
        [int]
        $BulkJobParamCountFailedTaskToStopWork,
        [Parameter()]
        [bool]
        $BulkJobParamEnableDrainMode,
        [Parameter(Mandatory)]
        [bool]
        $BulkJobParamExcludeNotRunning,
        [Parameter()]
        [string]
        $BulkJobParamMessage,
        [Parameter()]
        [int]
        $BulkJobParamMinutesBeforeRemove,
        [Parameter(Mandatory)]
        [bool]
        $BulkJobParamRestartVms,
        [Parameter()]
        [string[]]
        $BulkJobParamSessionHostsToProcessNames,
        [Parameter(Mandatory)]
        [int]
        $BulkJobParamTaskParallelism,
        [Parameter()]
        [int]
        $ConfigActiveDirectoryId,
        [Parameter(Mandatory)]
        [NmePowershell.Models.IScriptedActionOption[]]
        $ConfigScriptedActions
    )

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

        if ($PSBoundParameters.ContainsKey('BulkJobParamCountFailedTaskToStopWork')) {
            $Object.BulkJobParamCountFailedTaskToStopWork = $BulkJobParamCountFailedTaskToStopWork
        }
        if ($PSBoundParameters.ContainsKey('BulkJobParamEnableDrainMode')) {
            $Object.BulkJobParamEnableDrainMode = $BulkJobParamEnableDrainMode
        }
        if ($PSBoundParameters.ContainsKey('BulkJobParamExcludeNotRunning')) {
            $Object.BulkJobParamExcludeNotRunning = $BulkJobParamExcludeNotRunning
        }
        if ($PSBoundParameters.ContainsKey('BulkJobParamMessage')) {
            $Object.BulkJobParamMessage = $BulkJobParamMessage
        }
        if ($PSBoundParameters.ContainsKey('BulkJobParamMinutesBeforeRemove')) {
            $Object.BulkJobParamMinutesBeforeRemove = $BulkJobParamMinutesBeforeRemove
        }
        if ($PSBoundParameters.ContainsKey('BulkJobParamRestartVms')) {
            $Object.BulkJobParamRestartVms = $BulkJobParamRestartVms
        }
        if ($PSBoundParameters.ContainsKey('BulkJobParamSessionHostsToProcessNames')) {
            $Object.BulkJobParamSessionHostsToProcessNames = $BulkJobParamSessionHostsToProcessNames
        }
        if ($PSBoundParameters.ContainsKey('BulkJobParamTaskParallelism')) {
            $Object.BulkJobParamTaskParallelism = $BulkJobParamTaskParallelism
        }
        if ($PSBoundParameters.ContainsKey('ConfigActiveDirectoryId')) {
            $Object.ConfigActiveDirectoryId = $ConfigActiveDirectoryId
        }
        if ($PSBoundParameters.ContainsKey('ConfigScriptedActions')) {
            $Object.ConfigScriptedActions = $ConfigScriptedActions
        }
        return $Object
    }
}