pspulumiyaml.azurenative.analysisservices.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionAnalysisservicesListServerGatewayStatus
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Resource group of which a given Analysis Services server 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 Analysis Services server.)')]
        [string]
        $serverName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:analysisservices:listServerGatewayStatus -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAnalysisservicesGetServerDetails
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Resource group of which a given Analysis Services server 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 Analysis Services server. It must be a minimum of 3 characters, and a maximum of 63.)')]
        [string]
        $serverName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:analysisservices:getServerDetails -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class IPv4FirewallRule
{
    [string] $rangeStart
    [string] $rangeEnd
    [string] $firewallRuleName
}
function New-AzureNativeTypeAnalysisservicesIPv4FirewallRule
{
    param (
        [parameter(mandatory=$False,HelpMessage='The start range of IPv4.)')]
        [string]
        $rangeStart,
        [parameter(mandatory=$False,HelpMessage='The end range of IPv4.)')]
        [string]
        $rangeEnd,
        [parameter(mandatory=$False,HelpMessage='The rule name.)')]
        [string]
        $firewallRuleName
    )

    process
    {
        return $([IPv4FirewallRule]$PSBoundParameters)
    }
}
class IPv4FirewallSettings
{
    [IPv4FirewallRule[]] $firewallRules
    [bool] $enablePowerBIService
}
function New-AzureNativeTypeAnalysisservicesIPv4FirewallSettings
{
    param (
        [parameter(mandatory=$False,HelpMessage='An array of firewall rules.)')]
        $firewallRules,
        [parameter(mandatory=$False,HelpMessage='The indicator of enabling PBI service.)')]
        [bool]
        $enablePowerBIService
    )

    process
    {
        return $([IPv4FirewallSettings]$PSBoundParameters)
    }
}
class GatewayDetails
{
    [string] $gatewayResourceId
}
function New-AzureNativeTypeAnalysisservicesGatewayDetails
{
    param (
        [parameter(mandatory=$False,HelpMessage='Gateway resource to be associated with the server.)')]
        [string]
        $gatewayResourceId
    )

    process
    {
        return $([GatewayDetails]$PSBoundParameters)
    }
}
class ResourceSku
{
    [ArgumentCompletions('Development', 'Basic', 'Standard')]
    [string] $tier
    [string] $name
    [int] $capacity
}
function New-AzureNativeTypeAnalysisservicesResourceSku
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Azure pricing tier to which the SKU applies.)')]
        [string]
        [ValidateSet('Development', 'Basic', 'Standard')]
        $tier,
        [parameter(mandatory=$False,HelpMessage='Name of the SKU level.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The number of instances in the read only query pool.)')]
        [int]
        $capacity
    )

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

    process
    {
        return $([ServerAdministrators]$PSBoundParameters)
    }
}
function New-AzureNativeAnalysisservicesServerDetails
{
    [Alias('azure_native_analysisservices_serverdetails')]
    param (
        [parameter(mandatory=$False,HelpMessage='The SAS container URI to the backup container.)')]
        [string]
        $backupBlobContainerUri,
        [parameter(mandatory=$False,HelpMessage='The server monitor mode for AS server)')]
        [int]
        $serverMonitorMode,
        [parameter(mandatory=$False,HelpMessage='The firewall settings for the AS server.)')]
        [IPv4FirewallSettings]
        $ipV4FirewallSettings,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Resource group of which a given Analysis Services server is part. This name must be at least 1 character in length, and no more than 90.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The gateway details configured for the AS server.)')]
        [GatewayDetails]
        $gatewayDetails,
        [parameter(mandatory=$False,HelpMessage='The SKU of the Analysis Services resource.)')]
        [ResourceSku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='Key-value pairs of additional resource provisioning properties.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='How the read-write server''s participation in the query pool is controlled.<br/>It can have the following values: <ul><li>readOnly - indicates that the read-write server is intended not to participate in query operations</li><li>all - indicates that the read-write server can participate in query operations</li></ul>Specifying readOnly when capacity is 1 results in error.)')]
        $querypoolConnectionMode,
        [parameter(mandatory=$False,HelpMessage='Location of the Analysis Services resource.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the Analysis Services server. It must be a minimum of 3 characters, and a maximum of 63.)')]
        [string]
        $serverName,
        [parameter(mandatory=$False,HelpMessage='The managed mode of the server (0 = not managed, 1 = managed).)')]
        [int]
        $managedMode,
        [parameter(mandatory=$False,HelpMessage='A collection of AS server administrators)')]
        [ServerAdministrators]
        $asAdministrators,
        [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:analysisservices:ServerDetails")

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

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

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

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

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

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

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

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

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

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

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

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