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

.Outputs
NmePowershell.Models.SetAsImage

#>

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

        [Parameter()]
        [bool]
        $FailurePolicyCleanup,
        [Parameter()]
        [bool]
        $FailurePolicyRestart,
        [Parameter()]
        [string]
        $GalleryImageGalleryId,
        [Parameter()]
        [bool]
        $GalleryImageHibernationSupported,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("Generalized", "Specialized")]
        [string]
        $GalleryImageOSState,
        [Parameter()]
        [int]
        $GalleryImageReplicaCount,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("None", "TrustedLaunch", "Confidential", "TrustedLaunchSupported", "ConfidentialSupported", "TrustedLaunchAndConfidentialSupported")]
        [string]
        $GalleryImageSecurityType,
        [Parameter()]
        [bool]
        $GalleryImageSetInactive,
        [Parameter()]
        [string[]]
        $GalleryImageTargetRegions,
        [Parameter()]
        [NmePowershell.PSArgumentCompleterAttribute("Major", "Minor", "Revision")]
        [string]
        $GalleryImageVersionIncrementType,
        [Parameter(Mandatory)]
        [NmePowershell.PSArgumentCompleterAttribute("Clone", "Source")]
        [string]
        $JobPayloadApplicationsTarget,
        [Parameter()]
        [string]
        $JobPayloadChangelog,
        [Parameter()]
        [bool]
        $JobPayloadEnableAppvClientService,
        [Parameter()]
        [bool]
        $JobPayloadInstallCertificates,
        [Parameter()]
        [bool]
        $JobPayloadPowerOnVM,
        [Parameter()]
        [bool]
        $JobPayloadRetainOldImage,
        [Parameter(Mandatory)]
        [NmePowershell.PSArgumentCompleterAttribute("Clone", "Source")]
        [string]
        $JobPayloadScriptedActionTarget,
        [Parameter(Mandatory)]
        [NmePowershell.Models.IScriptedActionOption[]]
        $JobPayloadScriptedActions,
        [Parameter()]
        [bool]
        $JobPayloadSkipRemoveProfiles,
        [Parameter(HelpMessage="Dictionary of <string>.")]
        [NmePowershell.Models.ISetAsImageParamsTags]
        $JobPayloadTags
    )

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

        if ($PSBoundParameters.ContainsKey('FailurePolicyCleanup')) {
            $Object.FailurePolicyCleanup = $FailurePolicyCleanup
        }
        if ($PSBoundParameters.ContainsKey('FailurePolicyRestart')) {
            $Object.FailurePolicyRestart = $FailurePolicyRestart
        }
        if ($PSBoundParameters.ContainsKey('GalleryImageGalleryId')) {
            $Object.GalleryImageGalleryId = $GalleryImageGalleryId
        }
        if ($PSBoundParameters.ContainsKey('GalleryImageHibernationSupported')) {
            $Object.GalleryImageHibernationSupported = $GalleryImageHibernationSupported
        }
        if ($PSBoundParameters.ContainsKey('GalleryImageOSState')) {
            $Object.GalleryImageOSState = $GalleryImageOSState
        }
        if ($PSBoundParameters.ContainsKey('GalleryImageReplicaCount')) {
            $Object.GalleryImageReplicaCount = $GalleryImageReplicaCount
        }
        if ($PSBoundParameters.ContainsKey('GalleryImageSecurityType')) {
            $Object.GalleryImageSecurityType = $GalleryImageSecurityType
        }
        if ($PSBoundParameters.ContainsKey('GalleryImageSetInactive')) {
            $Object.GalleryImageSetInactive = $GalleryImageSetInactive
        }
        if ($PSBoundParameters.ContainsKey('GalleryImageTargetRegions')) {
            $Object.GalleryImageTargetRegions = $GalleryImageTargetRegions
        }
        if ($PSBoundParameters.ContainsKey('GalleryImageVersionIncrementType')) {
            $Object.GalleryImageVersionIncrementType = $GalleryImageVersionIncrementType
        }
        if ($PSBoundParameters.ContainsKey('JobPayloadApplicationsTarget')) {
            $Object.JobPayloadApplicationsTarget = $JobPayloadApplicationsTarget
        }
        if ($PSBoundParameters.ContainsKey('JobPayloadChangelog')) {
            $Object.JobPayloadChangelog = $JobPayloadChangelog
        }
        if ($PSBoundParameters.ContainsKey('JobPayloadEnableAppvClientService')) {
            $Object.JobPayloadEnableAppvClientService = $JobPayloadEnableAppvClientService
        }
        if ($PSBoundParameters.ContainsKey('JobPayloadInstallCertificates')) {
            $Object.JobPayloadInstallCertificates = $JobPayloadInstallCertificates
        }
        if ($PSBoundParameters.ContainsKey('JobPayloadPowerOnVM')) {
            $Object.JobPayloadPowerOnVM = $JobPayloadPowerOnVM
        }
        if ($PSBoundParameters.ContainsKey('JobPayloadRetainOldImage')) {
            $Object.JobPayloadRetainOldImage = $JobPayloadRetainOldImage
        }
        if ($PSBoundParameters.ContainsKey('JobPayloadScriptedActionTarget')) {
            $Object.JobPayloadScriptedActionTarget = $JobPayloadScriptedActionTarget
        }
        if ($PSBoundParameters.ContainsKey('JobPayloadScriptedActions')) {
            $Object.JobPayloadScriptedActions = $JobPayloadScriptedActions
        }
        if ($PSBoundParameters.ContainsKey('JobPayloadSkipRemoveProfiles')) {
            $Object.JobPayloadSkipRemoveProfiles = $JobPayloadSkipRemoveProfiles
        }
        if ($PSBoundParameters.ContainsKey('JobPayloadTags')) {
            $Object.JobPayloadTags = $JobPayloadTags
        }
        return $Object
    }
}