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

.Outputs
NmePowershell.Models.UserCostAttributionConfigurationCreate

#>

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

        [Parameter(Mandatory)]
        [NmePowershell.PSArgumentCompleterAttribute("Uniform", "Proportional", "Unallocated")]
        [string]
        $DefaultReportType,
        [Parameter(Mandatory)]
        [string]
        $DisplayName,
        [Parameter(Mandatory)]
        [bool]
        $IncludeAllCosts,
        [Parameter(Mandatory)]
        [string[]]
        $SubscriptionsIds,
        [Parameter(Mandatory, HelpMessage="Dictionary of <components·1kunypv·schemas·usercostattributionconfigurationcreate·properties·tags·additionalproperties>.")]
        [NmePowershell.Models.IUserCostAttributionConfigurationCreateTags]
        $Tags,
        [Parameter(Mandatory)]
        [bool]
        $UseDefaultTags,
        [Parameter(Mandatory)]
        [string[]]
        $WorkspaceIds
    )

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

        if ($PSBoundParameters.ContainsKey('DefaultReportType')) {
            $Object.DefaultReportType = $DefaultReportType
        }
        if ($PSBoundParameters.ContainsKey('DisplayName')) {
            $Object.DisplayName = $DisplayName
        }
        if ($PSBoundParameters.ContainsKey('IncludeAllCosts')) {
            $Object.IncludeAllCosts = $IncludeAllCosts
        }
        if ($PSBoundParameters.ContainsKey('SubscriptionsIds')) {
            $Object.SubscriptionsIds = $SubscriptionsIds
        }
        if ($PSBoundParameters.ContainsKey('Tags')) {
            $Object.Tags = $Tags
        }
        if ($PSBoundParameters.ContainsKey('UseDefaultTags')) {
            $Object.UseDefaultTags = $UseDefaultTags
        }
        if ($PSBoundParameters.ContainsKey('WorkspaceIds')) {
            $Object.WorkspaceIds = $WorkspaceIds
        }
        return $Object
    }
}