pspulumiyaml.azurenative.features.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionFeaturesGetSubscriptionFeatureRegistration
{
    param (
        [parameter(mandatory=$False,HelpMessage='The provider namespace.)')]
        [string]
        $providerNamespace,
        [parameter(mandatory=$False,HelpMessage='The feature name.)')]
        [string]
        $featureName
    )

    process
    {
        $arguments = @{}
        $arguments["featureName"] = $featureName
        $arguments["providerNamespace"] = $providerNamespace

        $functionObject = Invoke-PulumiFunction -Name azure-native:features:getSubscriptionFeatureRegistration -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class SubscriptionFeatureRegistrationProperties
{
    [bool] $shouldFeatureDisplayInPortal
    [object] $metadata
    [string] $description
    [ArgumentCompletions('NotSpecified', 'NotRegistered', 'Pending', 'Registering', 'Registered', 'Unregistering', 'Unregistered')]
    [string] $state
}
function New-AzureNativeTypeFeaturesSubscriptionFeatureRegistrationProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Indicates whether feature should be displayed in Portal.)')]
        [bool]
        $shouldFeatureDisplayInPortal,
        [parameter(mandatory=$False,HelpMessage='Key-value pairs for meta data.)')]
        [hashtable]
        $metadata,
        [parameter(mandatory=$False,HelpMessage='The feature description.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='The state.)')]
        [string]
        [ValidateSet('NotSpecified', 'NotRegistered', 'Pending', 'Registering', 'Registered', 'Unregistering', 'Unregistered')]
        $state
    )

    process
    {
        return $([SubscriptionFeatureRegistrationProperties]$PSBoundParameters)
    }
}
function New-AzureNativeFeaturesSubscriptionFeatureRegistration
{
    [Alias('azure_native_features_subscriptionfeatureregistration')]
    param (
        [parameter(mandatory=$False,HelpMessage=')')]
        [SubscriptionFeatureRegistrationProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The feature name.)')]
        [string]
        $featureName,
        [parameter(mandatory=$False,HelpMessage='The provider namespace.)')]
        [string]
        $providerNamespace,
        [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:features:SubscriptionFeatureRegistration")

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

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

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

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