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

.Outputs
NmePowershell.Models.HostPoolReimageRun

#>

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

        [Parameter()]
        [int]
        $ConcurrencyMaxFailedTasks,
        [Parameter()]
        [int]
        $ConcurrencyTasks,
        [Parameter()]
        [bool]
        $FailurePolicyCleanup,
        [Parameter()]
        [bool]
        $FailurePolicyRestart,
        [Parameter()]
        [bool]
        $MessagingDeactivateBeforeOperation,
        [Parameter()]
        [int]
        $MessagingDelayMinutes,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("Force", "Wait")]
        [string]
        $MessagingLogOffAggressiveness,
        [Parameter()]
        [string]
        $MessagingMessage,
        [Parameter()]
        [int]
        $MessagingTimeoutInDays,
        [Parameter()]
        [string]
        $ReimageParamDiskPerformanceTier,
        [Parameter()]
        [int]
        $ReimageParamDiskSize,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("CacheDisk", "ResourceDisk", "NvmeDisk")]
        [string]
        $ReimageParamEphemeralOSDiskPlacement,
        [Parameter()]
        [bool]
        $ReimageParamHasEphemeralOSDisk,
        [Parameter()]
        [string]
        $ReimageParamImage,
        [Parameter()]
        [bool]
        $ReimageParamSetToDrainModeWhileProcessing,
        [Parameter()]
        [string]
        $ReimageParamStorageType,
        [Parameter()]
        [string]
        $ReimageParamVMSize
    )

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

        if ($PSBoundParameters.ContainsKey('ConcurrencyMaxFailedTasks')) {
            $Object.ConcurrencyMaxFailedTasks = $ConcurrencyMaxFailedTasks
        }
        if ($PSBoundParameters.ContainsKey('ConcurrencyTasks')) {
            $Object.ConcurrencyTasks = $ConcurrencyTasks
        }
        if ($PSBoundParameters.ContainsKey('FailurePolicyCleanup')) {
            $Object.FailurePolicyCleanup = $FailurePolicyCleanup
        }
        if ($PSBoundParameters.ContainsKey('FailurePolicyRestart')) {
            $Object.FailurePolicyRestart = $FailurePolicyRestart
        }
        if ($PSBoundParameters.ContainsKey('MessagingDeactivateBeforeOperation')) {
            $Object.MessagingDeactivateBeforeOperation = $MessagingDeactivateBeforeOperation
        }
        if ($PSBoundParameters.ContainsKey('MessagingDelayMinutes')) {
            $Object.MessagingDelayMinutes = $MessagingDelayMinutes
        }
        if ($PSBoundParameters.ContainsKey('MessagingLogOffAggressiveness')) {
            $Object.MessagingLogOffAggressiveness = $MessagingLogOffAggressiveness
        }
        if ($PSBoundParameters.ContainsKey('MessagingMessage')) {
            $Object.MessagingMessage = $MessagingMessage
        }
        if ($PSBoundParameters.ContainsKey('MessagingTimeoutInDays')) {
            $Object.MessagingTimeoutInDays = $MessagingTimeoutInDays
        }
        if ($PSBoundParameters.ContainsKey('ReimageParamDiskPerformanceTier')) {
            $Object.ReimageParamDiskPerformanceTier = $ReimageParamDiskPerformanceTier
        }
        if ($PSBoundParameters.ContainsKey('ReimageParamDiskSize')) {
            $Object.ReimageParamDiskSize = $ReimageParamDiskSize
        }
        if ($PSBoundParameters.ContainsKey('ReimageParamEphemeralOSDiskPlacement')) {
            $Object.ReimageParamEphemeralOSDiskPlacement = $ReimageParamEphemeralOSDiskPlacement
        }
        if ($PSBoundParameters.ContainsKey('ReimageParamHasEphemeralOSDisk')) {
            $Object.ReimageParamHasEphemeralOSDisk = $ReimageParamHasEphemeralOSDisk
        }
        if ($PSBoundParameters.ContainsKey('ReimageParamImage')) {
            $Object.ReimageParamImage = $ReimageParamImage
        }
        if ($PSBoundParameters.ContainsKey('ReimageParamSetToDrainModeWhileProcessing')) {
            $Object.ReimageParamSetToDrainModeWhileProcessing = $ReimageParamSetToDrainModeWhileProcessing
        }
        if ($PSBoundParameters.ContainsKey('ReimageParamStorageType')) {
            $Object.ReimageParamStorageType = $ReimageParamStorageType
        }
        if ($PSBoundParameters.ContainsKey('ReimageParamVMSize')) {
            $Object.ReimageParamVMSize = $ReimageParamVMSize
        }
        return $Object
    }
}