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

.Outputs
NmePowershell.Models.NetAppFilesScalingConfig

#>

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

        [Parameter(Mandatory)]
        [bool]
        $IsEnabled,
        [Parameter()]
        [int]
        $ScaleInBy,
        [Parameter()]
        [int]
        $ScaleInInterval,
        [Parameter()]
        [int]
        $ScaleInLowLatency,
        [Parameter()]
        [int]
        $ScaleOutBy,
        [Parameter()]
        [int]
        $ScaleOutHighLatency,
        [Parameter()]
        [int]
        $ScaleOutInterval,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("AvgReadLatency", "AvgWriteLatency", "AvgReadOrWriteLatency")]
        [string]
        $Trigger
    )

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

        if ($PSBoundParameters.ContainsKey('IsEnabled')) {
            $Object.IsEnabled = $IsEnabled
        }
        if ($PSBoundParameters.ContainsKey('ScaleInBy')) {
            $Object.ScaleInBy = $ScaleInBy
        }
        if ($PSBoundParameters.ContainsKey('ScaleInInterval')) {
            $Object.ScaleInInterval = $ScaleInInterval
        }
        if ($PSBoundParameters.ContainsKey('ScaleInLowLatency')) {
            $Object.ScaleInLowLatency = $ScaleInLowLatency
        }
        if ($PSBoundParameters.ContainsKey('ScaleOutBy')) {
            $Object.ScaleOutBy = $ScaleOutBy
        }
        if ($PSBoundParameters.ContainsKey('ScaleOutHighLatency')) {
            $Object.ScaleOutHighLatency = $ScaleOutHighLatency
        }
        if ($PSBoundParameters.ContainsKey('ScaleOutInterval')) {
            $Object.ScaleOutInterval = $ScaleOutInterval
        }
        if ($PSBoundParameters.ContainsKey('Trigger')) {
            $Object.Trigger = $Trigger
        }
        return $Object
    }
}