pspulumiyaml.azurenative.powerbidedicated.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionPowerbidedicatedGetAutoScaleVCore
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Resource group of which a given PowerBIDedicated capacity is part. This name must be at least 1 character in length, and no more than 90.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the auto scale v-core. It must be a minimum of 3 characters, and a maximum of 63.)')]
        [string]
        $vcoreName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:powerbidedicated:getAutoScaleVCore -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionPowerbidedicatedGetCapacityDetails
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Resource group of which a given PowerBIDedicated capacity is part. This name must be at least 1 character in length, and no more than 90.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the dedicated capacity. It must be a minimum of 3 characters, and a maximum of 63.)')]
        [string]
        $dedicatedCapacityName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:powerbidedicated:getCapacityDetails -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class SystemData
{
    [string] $lastModifiedAt
    [string] $createdBy
    [ValidateSet('User', 'Application', 'ManagedIdentity', 'Key')]
    [string] $lastModifiedByType
    [ValidateSet('User', 'Application', 'ManagedIdentity', 'Key')]
    [string] $createdByType
    [ValidateSet('User', 'Application', 'ManagedIdentity', 'Key')]
    [string] $lastModifiedBy
    [ValidateSet('User', 'Application', 'ManagedIdentity', 'Key')]
    [string] $createdAt
}
function New-AzureNativeTypePowerbidedicatedSystemData
{
    param (
        [parameter(mandatory=$False,HelpMessage='The timestamp of resource last modification (UTC))')]
        [string]
        $lastModifiedAt,
        [parameter(mandatory=$False,HelpMessage='An identifier for the identity that created the resource)')]
        [string]
        $createdBy,
        [parameter(mandatory=$False,HelpMessage='The type of identity that last modified the resource)')]
        [string]
        [ValidateSet('User', 'Application', 'ManagedIdentity', 'Key')]
        $lastModifiedByType,
        [parameter(mandatory=$False,HelpMessage='The type of identity that created the resource)')]
        [string]
        [ValidateSet('User', 'Application', 'ManagedIdentity', 'Key')]
        $createdByType,
        [parameter(mandatory=$False,HelpMessage='An identifier for the identity that last modified the resource)')]
        [string]
        $lastModifiedBy,
        [parameter(mandatory=$False,HelpMessage='The timestamp of resource creation (UTC))')]
        [string]
        $createdAt
    )

    process
    {
        return $([SystemData]$PSBoundParameters)
    }
}
class CapacitySku
{
    [int] $capacity
    [string] $name
    [ValidateSet('PBIE_Azure', 'Premium', 'AutoPremiumHost')]
    [string] $tier
}
function New-AzureNativeTypePowerbidedicatedCapacitySku
{
    param (
        [parameter(mandatory=$False,HelpMessage='The capacity of the SKU.)')]
        [int]
        $capacity,
        [parameter(mandatory=$False,HelpMessage='Name of the SKU level.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure pricing tier to which the SKU applies.)')]
        [string]
        [ValidateSet('PBIE_Azure', 'Premium', 'AutoPremiumHost')]
        $tier
    )

    process
    {
        return $([CapacitySku]$PSBoundParameters)
    }
}
class DedicatedCapacityAdministrators
{
    [string[]] $members
}
function New-AzureNativeTypePowerbidedicatedDedicatedCapacityAdministrators
{
    param (
        [parameter(mandatory=$False,HelpMessage='An array of administrator user identities.)')]
        [string[]]
        $members
    )

    process
    {
        return $([DedicatedCapacityAdministrators]$PSBoundParameters)
    }
}
function New-AzureNativePowerbidedicatedCapacityDetails
{
    [Alias('azure_native_powerbidedicated_capacitydetails')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Dedicated capacity. It must be a minimum of 3 characters, and a maximum of 63.)')]
        [string]
        $dedicatedCapacityName,
        [parameter(mandatory=$False,HelpMessage='Key-value pairs of additional resource provisioning properties.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Metadata pertaining to creation and last modification of the resource.)')]
        [SystemData]
        $systemData,
        [parameter(mandatory=$False,HelpMessage='The SKU of the PowerBI Dedicated capacity resource.)')]
        [CapacitySku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='Location of the PowerBI Dedicated resource.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Resource group of which a given PowerBIDedicated capacity is part. This name must be at least 1 character in length, and no more than 90.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='A collection of Dedicated capacity administrators)')]
        [DedicatedCapacityAdministrators]
        $administration,
        [parameter(mandatory=$False,HelpMessage='Specifies the generation of the Power BI Embedded capacity. If no value is specified, the default value ''Gen2'' is used. [Learn More](https://docs.microsoft.com/power-bi/developer/embedded/power-bi-embedded-generation-2))')]
        [string]
        [ValidateSet('Gen1', 'Gen2')]
        $mode,
        [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:powerbidedicated:CapacityDetails")

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class AutoScaleVCoreSku
{
    [int] $capacity
    [string] $name
    [ValidateSet('AutoScale')]
    [string] $tier
}
function New-AzureNativeTypePowerbidedicatedAutoScaleVCoreSku
{
    param (
        [parameter(mandatory=$False,HelpMessage='The capacity of an auto scale v-core resource.)')]
        [int]
        $capacity,
        [parameter(mandatory=$False,HelpMessage='Name of the SKU level.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure pricing tier to which the SKU applies.)')]
        [string]
        [ValidateSet('AutoScale')]
        $tier
    )

    process
    {
        return $([AutoScaleVCoreSku]$PSBoundParameters)
    }
}
function New-AzureNativePowerbidedicatedAutoScaleVCore
{
    [Alias('azure_native_powerbidedicated_autoscalevcore')]
    param (
        [parameter(mandatory=$False,HelpMessage='The SKU of the auto scale v-core resource.)')]
        [AutoScaleVCoreSku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='Key-value pairs of additional resource provisioning properties.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Metadata pertaining to creation and last modification of the resource.)')]
        [SystemData]
        $systemData,
        [parameter(mandatory=$False,HelpMessage='The object ID of the capacity resource associated with the auto scale v-core resource.)')]
        [string]
        $capacityObjectId,
        [parameter(mandatory=$False,HelpMessage='Location of the PowerBI Dedicated resource.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Resource group of which a given PowerBIDedicated capacity is part. This name must be at least 1 character in length, and no more than 90.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The maximum capacity of an auto scale v-core resource.)')]
        [int]
        $capacityLimit,
        [parameter(mandatory=$False,HelpMessage='The name of the auto scale v-core. It must be a minimum of 3 characters, and a maximum of 63.)')]
        [string]
        $vcoreName,
        [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:powerbidedicated:AutoScaleVCore")

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

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

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

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

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

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

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

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