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

.Outputs
NmePowershell.Models.PersonalAutoShrinkConfiguration

#>

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

        [Parameter()]
        [string[]]
        $AdminNotificationEmails,
        [Parameter()]
        [string]
        $AdminNotificationSubjectTemplate,
        [Parameter()]
        [string]
        $AdminNotificationTemplate,
        [Parameter(Mandatory)]
        [int]
        $DeletionDelay,
        [Parameter()]
        [bool]
        $ExcludeUnassigned,
        [Parameter()]
        [NmePowershell.Models.IAutoScaleAdObject[]]
        $ExludedObjects,
        [Parameter(Mandatory)]
        [int]
        $HostIdleDaysThreshold,
        [Parameter()]
        [bool]
        $IsNotificationsEnabled,
        [Parameter()]
        [int]
        $NotificationFrequency,
        [Parameter()]
        [string]
        $NotificationMailbox,
        [Parameter()]
        [string]
        $NotificationSubjectTemplate,
        [Parameter()]
        [string]
        $NotificationTemplate,
        [Parameter()]
        [NmePowershell.Models.IScriptedActionOption[]]
        $ScriptedActions
    )

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

        if ($PSBoundParameters.ContainsKey('AdminNotificationEmails')) {
            $Object.AdminNotificationEmails = $AdminNotificationEmails
        }
        if ($PSBoundParameters.ContainsKey('AdminNotificationSubjectTemplate')) {
            $Object.AdminNotificationSubjectTemplate = $AdminNotificationSubjectTemplate
        }
        if ($PSBoundParameters.ContainsKey('AdminNotificationTemplate')) {
            $Object.AdminNotificationTemplate = $AdminNotificationTemplate
        }
        if ($PSBoundParameters.ContainsKey('DeletionDelay')) {
            $Object.DeletionDelay = $DeletionDelay
        }
        if ($PSBoundParameters.ContainsKey('ExcludeUnassigned')) {
            $Object.ExcludeUnassigned = $ExcludeUnassigned
        }
        if ($PSBoundParameters.ContainsKey('ExludedObjects')) {
            $Object.ExludedObjects = $ExludedObjects
        }
        if ($PSBoundParameters.ContainsKey('HostIdleDaysThreshold')) {
            $Object.HostIdleDaysThreshold = $HostIdleDaysThreshold
        }
        if ($PSBoundParameters.ContainsKey('IsNotificationsEnabled')) {
            $Object.IsNotificationsEnabled = $IsNotificationsEnabled
        }
        if ($PSBoundParameters.ContainsKey('NotificationFrequency')) {
            $Object.NotificationFrequency = $NotificationFrequency
        }
        if ($PSBoundParameters.ContainsKey('NotificationMailbox')) {
            $Object.NotificationMailbox = $NotificationMailbox
        }
        if ($PSBoundParameters.ContainsKey('NotificationSubjectTemplate')) {
            $Object.NotificationSubjectTemplate = $NotificationSubjectTemplate
        }
        if ($PSBoundParameters.ContainsKey('NotificationTemplate')) {
            $Object.NotificationTemplate = $NotificationTemplate
        }
        if ($PSBoundParameters.ContainsKey('ScriptedActions')) {
            $Object.ScriptedActions = $ScriptedActions
        }
        return $Object
    }
}