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

.Outputs
NmePowershell.Models.ScaleInPolicy

#>

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

        [Parameter(Mandatory)]
        [NmePowershell.PSArgumentCompleterAttribute("High", "Medium", "Low")]
        [string]
        $Aggressiveness,
        [Parameter()]
        [string]
        $MessagingMessage,
        [Parameter()]
        [int]
        $MessagingMinutesBeforeRemove,
        [Parameter(Mandatory)]
        [bool]
        $RestrictionEnable,
        [Parameter(Mandatory)]
        [bool]
        $RestrictionPutToDrainMode,
        [Parameter()]
        [int]
        $TimeRangeEndHour,
        [Parameter()]
        [int]
        $TimeRangeEndMinutes,
        [Parameter()]
        [int]
        $TimeRangeStartHour,
        [Parameter()]
        [int]
        $TimeRangeStartMinutes
    )

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

        if ($PSBoundParameters.ContainsKey('Aggressiveness')) {
            $Object.Aggressiveness = $Aggressiveness
        }
        if ($PSBoundParameters.ContainsKey('MessagingMessage')) {
            $Object.MessagingMessage = $MessagingMessage
        }
        if ($PSBoundParameters.ContainsKey('MessagingMinutesBeforeRemove')) {
            $Object.MessagingMinutesBeforeRemove = $MessagingMinutesBeforeRemove
        }
        if ($PSBoundParameters.ContainsKey('RestrictionEnable')) {
            $Object.RestrictionEnable = $RestrictionEnable
        }
        if ($PSBoundParameters.ContainsKey('RestrictionPutToDrainMode')) {
            $Object.RestrictionPutToDrainMode = $RestrictionPutToDrainMode
        }
        if ($PSBoundParameters.ContainsKey('TimeRangeEndHour')) {
            $Object.TimeRangeEndHour = $TimeRangeEndHour
        }
        if ($PSBoundParameters.ContainsKey('TimeRangeEndMinutes')) {
            $Object.TimeRangeEndMinutes = $TimeRangeEndMinutes
        }
        if ($PSBoundParameters.ContainsKey('TimeRangeStartHour')) {
            $Object.TimeRangeStartHour = $TimeRangeStartHour
        }
        if ($PSBoundParameters.ContainsKey('TimeRangeStartMinutes')) {
            $Object.TimeRangeStartMinutes = $TimeRangeStartMinutes
        }
        return $Object
    }
}