pspulumiyaml.azurenative.subscription.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionSubscriptionGetAlias
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name for this subscription creation request also known as alias. Note that this is not the same as subscription name and this doesn''t have any other lifecycle need beyond the request for subscription creation.)')]
        [string]
        $aliasName
    )

    process
    {
        $arguments = @{}
        $arguments["aliasName"] = $aliasName

        $functionObject = Invoke-PulumiFunction -Name azure-native:subscription:getAlias -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class PutAliasRequestProperties
{
    [string] $displayName
    [ValidateSet('Production', 'DevTest')]
    [string] $workload
    [ValidateSet('Production', 'DevTest')]
    [string] $subscriptionId
    [ValidateSet('Production', 'DevTest')]
    [string] $billingScope
    [ValidateSet('Production', 'DevTest')]
    [string] $resellerId
}
function New-AzureNativeTypeSubscriptionPutAliasRequestProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The friendly name of the subscription.)')]
        [string]
        $displayName,
        [parameter(mandatory=$False,HelpMessage='The workload type of the subscription. It can be either Production or DevTest.)')]
        [string]
        [ValidateSet('Production', 'DevTest')]
        $workload,
        [parameter(mandatory=$False,HelpMessage='This parameter can be used to create alias for existing subscription Id)')]
        [string]
        $subscriptionId,
        [parameter(mandatory=$False,HelpMessage='Determines whether subscription is fieldLed, partnerLed or LegacyEA)')]
        [string]
        $billingScope,
        [parameter(mandatory=$False,HelpMessage='Reseller ID, basically MPN Id)')]
        [string]
        $resellerId
    )

    process
    {
        return $([PutAliasRequestProperties]$PSBoundParameters)
    }
}
function New-AzureNativeSubscriptionAlias
{
    [Alias('azure_native_subscription_alias')]
    param (
        [parameter(mandatory=$False,HelpMessage='Put alias request properties.)')]
        [PutAliasRequestProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name for this subscription creation request also known as alias. Note that this is not the same as subscription name and this doesn''t have any other lifecycle need beyond the request for subscription creation.)')]
        [string]
        $aliasName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:subscription:Alias")

        $resource.properties["properties"] = $properties

        if($PSBoundParameters.Keys -icontains 'aliasName')
        {
            $resource.properties["aliasName"] = $aliasName
        }

        $global:pulumiresources += $resource
        return $resource
    }
}