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

.Outputs
NmePowershell.Models.ReimageParams

#>

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

        [Parameter()]
        [string]
        $DiskPerformanceTier,
        [Parameter()]
        [int]
        $DiskSize,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("CacheDisk", "ResourceDisk", "NvmeDisk")]
        [string]
        $EphemeralOSDiskPlacement,
        [Parameter()]
        [bool]
        $HasEphemeralOSDisk,
        [Parameter()]
        [string]
        $Image,
        [Parameter()]
        [bool]
        $SetToDrainModeWhileProcessing,
        [Parameter()]
        [string]
        $StorageType,
        [Parameter()]
        [string]
        $VMSize
    )

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

        if ($PSBoundParameters.ContainsKey('DiskPerformanceTier')) {
            $Object.DiskPerformanceTier = $DiskPerformanceTier
        }
        if ($PSBoundParameters.ContainsKey('DiskSize')) {
            $Object.DiskSize = $DiskSize
        }
        if ($PSBoundParameters.ContainsKey('EphemeralOSDiskPlacement')) {
            $Object.EphemeralOSDiskPlacement = $EphemeralOSDiskPlacement
        }
        if ($PSBoundParameters.ContainsKey('HasEphemeralOSDisk')) {
            $Object.HasEphemeralOSDisk = $HasEphemeralOSDisk
        }
        if ($PSBoundParameters.ContainsKey('Image')) {
            $Object.Image = $Image
        }
        if ($PSBoundParameters.ContainsKey('SetToDrainModeWhileProcessing')) {
            $Object.SetToDrainModeWhileProcessing = $SetToDrainModeWhileProcessing
        }
        if ($PSBoundParameters.ContainsKey('StorageType')) {
            $Object.StorageType = $StorageType
        }
        if ($PSBoundParameters.ContainsKey('VMSize')) {
            $Object.VMSize = $VMSize
        }
        return $Object
    }
}