pspulumiyaml.azurenative.powerbi.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionPowerbiListWorkspaceCollectionAccessKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='Power BI Embedded Workspace Collection name)')]
        [string]
        $workspaceCollectionName,
        [parameter(mandatory=$False,HelpMessage='Azure resource group)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:powerbi:listWorkspaceCollectionAccessKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionPowerbiGetWorkspaceCollection
{
    param (
        [parameter(mandatory=$False,HelpMessage='Power BI Embedded Workspace Collection name)')]
        [string]
        $workspaceCollectionName,
        [parameter(mandatory=$False,HelpMessage='Azure resource group)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:powerbi:getWorkspaceCollection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionPowerbiGetPrivateEndpointConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint.)')]
        [string]
        $privateEndpointName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure resource.)')]
        [string]
        $azureResourceName
    )

    process
    {
        $arguments = @{}
        $arguments["azureResourceName"] = $azureResourceName
        $arguments["privateEndpointName"] = $privateEndpointName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:powerbi:getPrivateEndpointConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function New-AzureNativePowerbiPowerBIResource
{
    [Alias('azure_native_powerbi_powerbiresource')]
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies the private endpoint connections of the resource.)')]
        $privateEndpointConnections,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure resource.)')]
        [string]
        $azureResourceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Specifies the tags of the resource.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Specifies the tenant id of the resource.)')]
        [string]
        $tenantId,
        [parameter(mandatory=$False,HelpMessage='Specifies the location of the resource.)')]
        [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:powerbi:PowerBIResource")

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class AzureSku
{
    [ValidateSet('S1')]
    [string] $name
    [ValidateSet('Standard')]
    [string] $tier
}
function New-AzureNativeTypePowerbiAzureSku
{
    param (
        [parameter(mandatory=$False,HelpMessage='SKU name)')]
        [string]
        [ValidateSet('S1')]
        $name,
        [parameter(mandatory=$False,HelpMessage='SKU tier)')]
        [string]
        [ValidateSet('Standard')]
        $tier
    )

    process
    {
        return $([AzureSku]$PSBoundParameters)
    }
}
function New-AzureNativePowerbiWorkspaceCollection
{
    [Alias('azure_native_powerbi_workspacecollection')]
    param (
        [parameter(mandatory=$False,HelpMessage='Power BI Embedded Workspace Collection name)')]
        [string]
        $workspaceCollectionName,
        [parameter(mandatory=$False,HelpMessage='Azure resource group)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage=')')]
        [AzureSku]
        $sku,
        [parameter(mandatory=$False,HelpMessage=')')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Azure location)')]
        [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:powerbi:WorkspaceCollection")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class PrivateEndpoint
{
    [string] $id
}
function New-AzureNativeTypePowerbiPrivateEndpoint
{
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies the id of private endpoint.)')]
        [string]
        $id
    )

    process
    {
        return $([PrivateEndpoint]$PSBoundParameters)
    }
}
class ConnectionState
{
    [string] $description
    [string] $actionsRequired
    [ValidateSet('Pending', 'Approved', 'Rejected', 'Disconnected')]
    [string] $status
}
function New-AzureNativeTypePowerbiConnectionState
{
    param (
        [parameter(mandatory=$False,HelpMessage='Description of the connection state.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Actions required (if any).)')]
        [string]
        $actionsRequired,
        [parameter(mandatory=$False,HelpMessage='Status of the connection.)')]
        [string]
        [ValidateSet('Pending', 'Approved', 'Rejected', 'Disconnected')]
        $status
    )

    process
    {
        return $([ConnectionState]$PSBoundParameters)
    }
}
function New-AzureNativePowerbiPrivateEndpointConnection
{
    [Alias('azure_native_powerbi_privateendpointconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Azure resource.)')]
        [string]
        $azureResourceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Provisioning state of the Private Endpoint Connection.)')]
        [string]
        [ValidateSet('Creating', 'Updating', 'Deleting', 'Succeeded', 'Canceled', 'Failed')]
        $provisioningState,
        [parameter(mandatory=$False,HelpMessage='Specifies the private endpoint.)')]
        [PrivateEndpoint]
        $privateEndpoint,
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint.)')]
        [string]
        $privateEndpointName,
        [parameter(mandatory=$False,HelpMessage='Specifies the connection state.)')]
        [ConnectionState]
        $privateLinkServiceConnectionState,
        [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:powerbi:PrivateEndpointConnection")

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

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

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

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

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

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