pspulumiyaml.azurenative.dashboard.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionDashboardGetGrafana
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The workspace name of Azure Managed Grafana.)')]
        [string]
        $workspaceName
    )

    process
    {
        $arguments = @{}
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["workspaceName"] = $workspaceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:dashboard:getGrafana -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class ResourceSku
{
    [string] $name
}
function New-AzureNativeTypeDashboardResourceSku
{
    param (
        [parameter(mandatory=$False,HelpMessage=')')]
        [string]
        $name
    )

    process
    {
        return $([ResourceSku]$PSBoundParameters)
    }
}
class ManagedGrafanaProperties
{
    [ValidateSet('TenantReuse')]
    [string] $autoGeneratedDomainNameLabelScope
    [ValidateSet('Disabled', 'Enabled')]
    [string] $zoneRedundancy
    [ValidateSet('Accepted', 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled', 'Deleted', 'NotSpecified')]
    [string] $provisioningState
}
function New-AzureNativeTypeDashboardManagedGrafanaProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage=')')]
        [string]
        [ValidateSet('TenantReuse')]
        $autoGeneratedDomainNameLabelScope,
        [parameter(mandatory=$False,HelpMessage=')')]
        [string]
        [ValidateSet('Disabled', 'Enabled')]
        $zoneRedundancy,
        [parameter(mandatory=$False,HelpMessage='Provisioning state of the resource.)')]
        [string]
        [ValidateSet('Accepted', 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled', 'Deleted', 'NotSpecified')]
        $provisioningState
    )

    process
    {
        return $([ManagedGrafanaProperties]$PSBoundParameters)
    }
}
class ManagedIdentity
{
    [ValidateSet('None', 'SystemAssigned')]
    [string] $type
    [ValidateSet('None', 'SystemAssigned')]
    [object] $userAssignedIdentities
}
function New-AzureNativeTypeDashboardManagedIdentity
{
    param (
        [parameter(mandatory=$False,HelpMessage='The type ''SystemAssigned, UserAssigned'' includes both an implicitly created identity and a set of user assigned identities. The type ''None'' will remove any identities from the resource.)')]
        [string]
        [ValidateSet('None', 'SystemAssigned')]
        $type,
        [parameter(mandatory=$False,HelpMessage='Dictionary of user assigned identities.)')]
        [object]
        $userAssignedIdentities
    )

    process
    {
        return $([ManagedIdentity]$PSBoundParameters)
    }
}
function New-AzureNativeDashboardGrafana
{
    [Alias('azure_native_dashboard_grafana')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The Sku of the grafana resource.)')]
        [ResourceSku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='Properties specific to the grafana resource.)')]
        [ManagedGrafanaProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The tags for grafana resource.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The managed identity of the grafana resource.)')]
        [ManagedIdentity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='The workspace name of Azure Managed Grafana.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the grafana resource lives)')]
        [string]
        $location,
        [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:dashboard:Grafana")

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

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

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

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

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

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

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

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