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

.Outputs
NmePowershell.Models.HostPoolVmDeploymentUpdate

#>

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

        [Parameter()]
        [bool]
        $AlwaysPromptForPassword,
        [Parameter()]
        [string[]]
        $ApplicationSecurityGroupIds,
        [Parameter()]
        [bool]
        $BootDiagEnabled,
        [Parameter()]
        [string[]]
        $BootDiagStorageAccountsIds,
        [Parameter()]
        [string[]]
        $CapacityReservationGroupsIds,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("None", "CompliancePoliciesOnly", "AllIntunePolicies")]
        [string]
        $ComplianceEnforcement,
        [Parameter()]
        [int]
        $ComplianceTimeout,
        [Parameter()]
        [bool]
        $ConfidentialDiskEncryption,
        [Parameter()]
        [string]
        $DedicatedHostGroupId,
        [Parameter()]
        [string]
        $DedicatedHostId,
        [Parameter()]
        [string[]]
        $DiskEncryptionSetsIds,
        [Parameter()]
        [bool]
        $EnableAppvClientService,
        [Parameter()]
        [bool]
        $EnableHevc,
        [Parameter()]
        [bool]
        $EnableTimezoneRedirection,
        [Parameter()]
        [bool]
        $EnableVMDeallocation,
        [Parameter()]
        [bool]
        $EncryptionAtHost,
        [Parameter()]
        [int]
        $EntraDeviceTimeoutInMinutes,
        [Parameter()]
        [string[]]
        $EntraIdGroups,
        [Parameter()]
        [bool]
        $ForceVMRestart,
        [Parameter()]
        [bool]
        $InstallCertificates,
        [Parameter()]
        [bool]
        $InstallGpuDrivers,
        [Parameter()]
        [bool]
        $IntegrityMonitoring,
        [Parameter()]
        [bool]
        $IsAcceleratedNetworkingEnabled,
        [Parameter()]
        [bool]
        $IsShadowUsersEnabled,
        [Parameter()]
        [int]
        $OnCreateActiveDirectoryId,
        [Parameter()]
        [bool]
        $OnCreateEnabled,
        [Parameter()]
        [NmePowershell.Models.IScriptedActionOption[]]
        $OnCreateScriptedActions,
        [Parameter()]
        [int]
        $OnHostCreateActiveDirectoryId,
        [Parameter()]
        [bool]
        $OnHostCreateEnabled,
        [Parameter()]
        [NmePowershell.Models.IScriptedActionOption[]]
        $OnHostCreateScriptedActions,
        [Parameter()]
        [int]
        $OnRemoveActiveDirectoryId,
        [Parameter()]
        [bool]
        $OnRemoveEnabled,
        [Parameter()]
        [NmePowershell.Models.IScriptedActionOption[]]
        $OnRemoveScriptedActions,
        [Parameter()]
        [int]
        $OnStartActiveDirectoryId,
        [Parameter()]
        [bool]
        $OnStartEnabled,
        [Parameter()]
        [NmePowershell.Models.IScriptedActionOption[]]
        $OnStartScriptedActions,
        [Parameter()]
        [int]
        $OnStopActiveDirectoryId,
        [Parameter()]
        [bool]
        $OnStopEnabled,
        [Parameter()]
        [NmePowershell.Models.IScriptedActionOption[]]
        $OnStopScriptedActions,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("Default", "Manual", "AutomaticByOS", "AutomaticByPlatform")]
        [string]
        $PatchOrchestration,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("SCSI", "NVMe")]
        [string]
        $PreferredDiskControllerType,
        [Parameter()]
        [string[]]
        $ProximityPlacementGroupIds,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("DoNothing", "ForceEnable", "ForceDisable")]
        [string]
        $RdpShortpath,
        [Parameter()]
        [bool]
        $RunAppPolicies,
        [Parameter()]
        [bool]
        $SecureBootEnabled,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("None", "TrustedLaunch", "Confidential")]
        [string]
        $SecurityType,
        [Parameter()]
        [NmePowershell.Models.IHostPoolAssignment[]]
        $ShadowUserAssignments,
        [Parameter()]
        [bool]
        $UseAvailabilityZones,
        [Parameter()]
        [bool]
        $UseDedicatedHosts,
        [Parameter()]
        [string]
        $VMTimezone,
        [Parameter()]
        [bool]
        $VTpmEnabled,
        [Parameter()]
        [bool]
        $WatermarkingEnabled,
        [Parameter()]
        [int]
        $WatermarkingHeightFactor,
        [Parameter()]
        [int]
        $WatermarkingOpacity,
        [Parameter()]
        [int]
        $WatermarkingScale,
        [Parameter()]
        [int]
        $WatermarkingWidthFactor
    )

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

        if ($PSBoundParameters.ContainsKey('AlwaysPromptForPassword')) {
            $Object.AlwaysPromptForPassword = $AlwaysPromptForPassword
        }
        if ($PSBoundParameters.ContainsKey('ApplicationSecurityGroupIds')) {
            $Object.ApplicationSecurityGroupIds = $ApplicationSecurityGroupIds
        }
        if ($PSBoundParameters.ContainsKey('BootDiagEnabled')) {
            $Object.BootDiagEnabled = $BootDiagEnabled
        }
        if ($PSBoundParameters.ContainsKey('BootDiagStorageAccountsIds')) {
            $Object.BootDiagStorageAccountsIds = $BootDiagStorageAccountsIds
        }
        if ($PSBoundParameters.ContainsKey('CapacityReservationGroupsIds')) {
            $Object.CapacityReservationGroupsIds = $CapacityReservationGroupsIds
        }
        if ($PSBoundParameters.ContainsKey('ComplianceEnforcement')) {
            $Object.ComplianceEnforcement = $ComplianceEnforcement
        }
        if ($PSBoundParameters.ContainsKey('ComplianceTimeout')) {
            $Object.ComplianceTimeout = $ComplianceTimeout
        }
        if ($PSBoundParameters.ContainsKey('ConfidentialDiskEncryption')) {
            $Object.ConfidentialDiskEncryption = $ConfidentialDiskEncryption
        }
        if ($PSBoundParameters.ContainsKey('DedicatedHostGroupId')) {
            $Object.DedicatedHostGroupId = $DedicatedHostGroupId
        }
        if ($PSBoundParameters.ContainsKey('DedicatedHostId')) {
            $Object.DedicatedHostId = $DedicatedHostId
        }
        if ($PSBoundParameters.ContainsKey('DiskEncryptionSetsIds')) {
            $Object.DiskEncryptionSetsIds = $DiskEncryptionSetsIds
        }
        if ($PSBoundParameters.ContainsKey('EnableAppvClientService')) {
            $Object.EnableAppvClientService = $EnableAppvClientService
        }
        if ($PSBoundParameters.ContainsKey('EnableHevc')) {
            $Object.EnableHevc = $EnableHevc
        }
        if ($PSBoundParameters.ContainsKey('EnableTimezoneRedirection')) {
            $Object.EnableTimezoneRedirection = $EnableTimezoneRedirection
        }
        if ($PSBoundParameters.ContainsKey('EnableVMDeallocation')) {
            $Object.EnableVMDeallocation = $EnableVMDeallocation
        }
        if ($PSBoundParameters.ContainsKey('EncryptionAtHost')) {
            $Object.EncryptionAtHost = $EncryptionAtHost
        }
        if ($PSBoundParameters.ContainsKey('EntraDeviceTimeoutInMinutes')) {
            $Object.EntraDeviceTimeoutInMinutes = $EntraDeviceTimeoutInMinutes
        }
        if ($PSBoundParameters.ContainsKey('EntraIdGroups')) {
            $Object.EntraIdGroups = $EntraIdGroups
        }
        if ($PSBoundParameters.ContainsKey('ForceVMRestart')) {
            $Object.ForceVMRestart = $ForceVMRestart
        }
        if ($PSBoundParameters.ContainsKey('InstallCertificates')) {
            $Object.InstallCertificates = $InstallCertificates
        }
        if ($PSBoundParameters.ContainsKey('InstallGpuDrivers')) {
            $Object.InstallGpuDrivers = $InstallGpuDrivers
        }
        if ($PSBoundParameters.ContainsKey('IntegrityMonitoring')) {
            $Object.IntegrityMonitoring = $IntegrityMonitoring
        }
        if ($PSBoundParameters.ContainsKey('IsAcceleratedNetworkingEnabled')) {
            $Object.IsAcceleratedNetworkingEnabled = $IsAcceleratedNetworkingEnabled
        }
        if ($PSBoundParameters.ContainsKey('IsShadowUsersEnabled')) {
            $Object.IsShadowUsersEnabled = $IsShadowUsersEnabled
        }
        if ($PSBoundParameters.ContainsKey('OnCreateActiveDirectoryId')) {
            $Object.OnCreateActiveDirectoryId = $OnCreateActiveDirectoryId
        }
        if ($PSBoundParameters.ContainsKey('OnCreateEnabled')) {
            $Object.OnCreateEnabled = $OnCreateEnabled
        }
        if ($PSBoundParameters.ContainsKey('OnCreateScriptedActions')) {
            $Object.OnCreateScriptedActions = $OnCreateScriptedActions
        }
        if ($PSBoundParameters.ContainsKey('OnHostCreateActiveDirectoryId')) {
            $Object.OnHostCreateActiveDirectoryId = $OnHostCreateActiveDirectoryId
        }
        if ($PSBoundParameters.ContainsKey('OnHostCreateEnabled')) {
            $Object.OnHostCreateEnabled = $OnHostCreateEnabled
        }
        if ($PSBoundParameters.ContainsKey('OnHostCreateScriptedActions')) {
            $Object.OnHostCreateScriptedActions = $OnHostCreateScriptedActions
        }
        if ($PSBoundParameters.ContainsKey('OnRemoveActiveDirectoryId')) {
            $Object.OnRemoveActiveDirectoryId = $OnRemoveActiveDirectoryId
        }
        if ($PSBoundParameters.ContainsKey('OnRemoveEnabled')) {
            $Object.OnRemoveEnabled = $OnRemoveEnabled
        }
        if ($PSBoundParameters.ContainsKey('OnRemoveScriptedActions')) {
            $Object.OnRemoveScriptedActions = $OnRemoveScriptedActions
        }
        if ($PSBoundParameters.ContainsKey('OnStartActiveDirectoryId')) {
            $Object.OnStartActiveDirectoryId = $OnStartActiveDirectoryId
        }
        if ($PSBoundParameters.ContainsKey('OnStartEnabled')) {
            $Object.OnStartEnabled = $OnStartEnabled
        }
        if ($PSBoundParameters.ContainsKey('OnStartScriptedActions')) {
            $Object.OnStartScriptedActions = $OnStartScriptedActions
        }
        if ($PSBoundParameters.ContainsKey('OnStopActiveDirectoryId')) {
            $Object.OnStopActiveDirectoryId = $OnStopActiveDirectoryId
        }
        if ($PSBoundParameters.ContainsKey('OnStopEnabled')) {
            $Object.OnStopEnabled = $OnStopEnabled
        }
        if ($PSBoundParameters.ContainsKey('OnStopScriptedActions')) {
            $Object.OnStopScriptedActions = $OnStopScriptedActions
        }
        if ($PSBoundParameters.ContainsKey('PatchOrchestration')) {
            $Object.PatchOrchestration = $PatchOrchestration
        }
        if ($PSBoundParameters.ContainsKey('PreferredDiskControllerType')) {
            $Object.PreferredDiskControllerType = $PreferredDiskControllerType
        }
        if ($PSBoundParameters.ContainsKey('ProximityPlacementGroupIds')) {
            $Object.ProximityPlacementGroupIds = $ProximityPlacementGroupIds
        }
        if ($PSBoundParameters.ContainsKey('RdpShortpath')) {
            $Object.RdpShortpath = $RdpShortpath
        }
        if ($PSBoundParameters.ContainsKey('RunAppPolicies')) {
            $Object.RunAppPolicies = $RunAppPolicies
        }
        if ($PSBoundParameters.ContainsKey('SecureBootEnabled')) {
            $Object.SecureBootEnabled = $SecureBootEnabled
        }
        if ($PSBoundParameters.ContainsKey('SecurityType')) {
            $Object.SecurityType = $SecurityType
        }
        if ($PSBoundParameters.ContainsKey('ShadowUserAssignments')) {
            $Object.ShadowUserAssignments = $ShadowUserAssignments
        }
        if ($PSBoundParameters.ContainsKey('UseAvailabilityZones')) {
            $Object.UseAvailabilityZones = $UseAvailabilityZones
        }
        if ($PSBoundParameters.ContainsKey('UseDedicatedHosts')) {
            $Object.UseDedicatedHosts = $UseDedicatedHosts
        }
        if ($PSBoundParameters.ContainsKey('VMTimezone')) {
            $Object.VMTimezone = $VMTimezone
        }
        if ($PSBoundParameters.ContainsKey('VTpmEnabled')) {
            $Object.VTpmEnabled = $VTpmEnabled
        }
        if ($PSBoundParameters.ContainsKey('WatermarkingEnabled')) {
            $Object.WatermarkingEnabled = $WatermarkingEnabled
        }
        if ($PSBoundParameters.ContainsKey('WatermarkingHeightFactor')) {
            $Object.WatermarkingHeightFactor = $WatermarkingHeightFactor
        }
        if ($PSBoundParameters.ContainsKey('WatermarkingOpacity')) {
            $Object.WatermarkingOpacity = $WatermarkingOpacity
        }
        if ($PSBoundParameters.ContainsKey('WatermarkingScale')) {
            $Object.WatermarkingScale = $WatermarkingScale
        }
        if ($PSBoundParameters.ContainsKey('WatermarkingWidthFactor')) {
            $Object.WatermarkingWidthFactor = $WatermarkingWidthFactor
        }
        return $Object
    }
}