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] $resellerId
    [string] $displayName
    [string] $billingScope
    [string] $subscriptionId
    [ArgumentCompletions('Production', 'DevTest')]
    [string] $workload
}
function New-AzureNativeTypeSubscriptionPutAliasRequestProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Reseller ID, basically MPN Id)')]
        [string]
        $resellerId,
        [parameter(mandatory=$False,HelpMessage='The friendly name of the subscription.)')]
        [string]
        $displayName,
        [parameter(mandatory=$False,HelpMessage='Determines whether subscription is fieldLed, partnerLed or LegacyEA)')]
        [string]
        $billingScope,
        [parameter(mandatory=$False,HelpMessage='This parameter can be used to create alias for existing subscription Id)')]
        [string]
        $subscriptionId,
        [parameter(mandatory=$False,HelpMessage='The workload type of the subscription. It can be either Production or DevTest.)')]
        [string]
        [ValidateSet('Production', 'DevTest')]
        $workload
    )

    process
    {
        return $([PutAliasRequestProperties]$PSBoundParameters)
    }
}
function New-AzureNativeSubscriptionAlias
{
    [Alias('azure_native_subscription_alias')]
    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,
        [parameter(mandatory=$False,HelpMessage='Put alias request properties.)')]
        [PutAliasRequestProperties]
        $properties,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid,
        [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')]
        [object]
        $DependsOn
    )

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

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $resource.properties["properties"] = $properties

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

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