pspulumiyaml.azurenative.synapse.psm1

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getKey -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetWorkspace
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getWorkspace -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetSqlPoolSensitivityLabel
{
    param (
        [parameter(mandatory=$False,HelpMessage='SQL pool name)')]
        [string]
        $sqlPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the column.)')]
        [string]
        $columnName,
        [parameter(mandatory=$False,HelpMessage='The name of the table.)')]
        [string]
        $tableName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The source of the sensitivity label.)')]
        [string]
        $sensitivityLabelSource,
        [parameter(mandatory=$False,HelpMessage='The name of the schema.)')]
        [string]
        $schemaName
    )

    process
    {
        $arguments = @{}
        $arguments["columnName"] = $columnName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["schemaName"] = $schemaName
        $arguments["sensitivityLabelSource"] = $sensitivityLabelSource
        $arguments["sqlPoolName"] = $sqlPoolName
        $arguments["tableName"] = $tableName
        $arguments["workspaceName"] = $workspaceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getSqlPoolSensitivityLabel -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetSqlPool
{
    param (
        [parameter(mandatory=$False,HelpMessage='SQL pool name)')]
        [string]
        $sqlPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getSqlPool -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetWorkspaceAadAdmin
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getWorkspaceAadAdmin -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetBigDataPool
{
    param (
        [parameter(mandatory=$False,HelpMessage='Big Data pool name)')]
        [string]
        $bigDataPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getBigDataPool -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetDatabase
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the database in the Kusto pool.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getDatabase -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetWorkspaceSqlAadAdmin
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getWorkspaceSqlAadAdmin -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetSqlPoolWorkloadClassifier
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the workload group.)')]
        [string]
        $workloadGroupName,
        [parameter(mandatory=$False,HelpMessage='SQL pool name)')]
        [string]
        $sqlPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the workload classifier.)')]
        [string]
        $workloadClassifierName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getSqlPoolWorkloadClassifier -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetkustoPool
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getkustoPool -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetKustoPoolAttachedDatabaseConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the attached database configuration.)')]
        [string]
        $attachedDatabaseConfigurationName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getKustoPoolAttachedDatabaseConfiguration -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetEventGridDataConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the database in the Kusto pool.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the data connection.)')]
        [string]
        $dataConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getEventGridDataConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseListIntegrationRuntimeAuthKey
{
    param (
        [parameter(mandatory=$False,HelpMessage='Integration runtime name)')]
        [string]
        $integrationRuntimeName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:listIntegrationRuntimeAuthKey -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetEventHubDataConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the database in the Kusto pool.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the data connection.)')]
        [string]
        $dataConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getEventHubDataConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetReadWriteDatabase
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the database in the Kusto pool.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getReadWriteDatabase -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetSqlPoolTransparentDataEncryption
{
    param (
        [parameter(mandatory=$False,HelpMessage='SQL pool name)')]
        [string]
        $sqlPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the transparent data encryption configuration.)')]
        [string]
        $transparentDataEncryptionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getSqlPoolTransparentDataEncryption -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetSqlPoolVulnerabilityAssessmentRuleBaseline
{
    param (
        [parameter(mandatory=$False,HelpMessage='SQL pool name)')]
        [string]
        $sqlPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the vulnerability assessment rule baseline (default implies a baseline on a Sql pool level rule and master for server level rule).)')]
        [string]
        $baselineName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The vulnerability assessment rule ID.)')]
        [string]
        $ruleId,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the vulnerability assessment.)')]
        [string]
        $vulnerabilityAssessmentName
    )

    process
    {
        $arguments = @{}
        $arguments["baselineName"] = $baselineName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["ruleId"] = $ruleId
        $arguments["sqlPoolName"] = $sqlPoolName
        $arguments["vulnerabilityAssessmentName"] = $vulnerabilityAssessmentName
        $arguments["workspaceName"] = $workspaceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getSqlPoolVulnerabilityAssessmentRuleBaseline -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetPrivateLinkHub
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of the privateLinkHub)')]
        [string]
        $privateLinkHubName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getPrivateLinkHub -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetDataConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the database in the Kusto pool.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the data connection.)')]
        [string]
        $dataConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getDataConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetSqlPoolVulnerabilityAssessment
{
    param (
        [parameter(mandatory=$False,HelpMessage='SQL pool name)')]
        [string]
        $sqlPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the vulnerability assessment.)')]
        [string]
        $vulnerabilityAssessmentName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getSqlPoolVulnerabilityAssessment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetDatabasePrincipalAssignment
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the database in the Kusto pool.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto principalAssignment.)')]
        [string]
        $principalAssignmentName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getDatabasePrincipalAssignment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetWorkspaceManagedSqlServerVulnerabilityAssessment
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the vulnerability assessment.)')]
        [string]
        $vulnerabilityAssessmentName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getWorkspaceManagedSqlServerVulnerabilityAssessment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetPrivateEndpointConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection.)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getPrivateEndpointConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetIotHubDataConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the database in the Kusto pool.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the data connection.)')]
        [string]
        $dataConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getIotHubDataConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetIpFirewallRule
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The IP firewall rule name)')]
        [string]
        $ruleName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getIpFirewallRule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetIntegrationRuntimeConnectionInfo
{
    param (
        [parameter(mandatory=$False,HelpMessage='Integration runtime name)')]
        [string]
        $integrationRuntimeName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getIntegrationRuntimeConnectionInfo -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetKustoPoolPrincipalAssignment
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto principalAssignment.)')]
        [string]
        $principalAssignmentName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getKustoPoolPrincipalAssignment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetIntegrationRuntimeStatus
{
    param (
        [parameter(mandatory=$False,HelpMessage='Integration runtime name)')]
        [string]
        $integrationRuntimeName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getIntegrationRuntimeStatus -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetIntegrationRuntimeObjectMetadatum
{
    param (
        [parameter(mandatory=$False,HelpMessage='Integration runtime name)')]
        [string]
        $integrationRuntimeName,
        [parameter(mandatory=$False,HelpMessage='Metadata path.)')]
        [string]
        $metadataPath,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getIntegrationRuntimeObjectMetadatum -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetSqlPoolWorkloadGroup
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the workload group.)')]
        [string]
        $workloadGroupName,
        [parameter(mandatory=$False,HelpMessage='SQL pool name)')]
        [string]
        $sqlPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getSqlPoolWorkloadGroup -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseGetIntegrationRuntime
{
    param (
        [parameter(mandatory=$False,HelpMessage='Integration runtime name)')]
        [string]
        $integrationRuntimeName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:getIntegrationRuntime -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseListKustoPoolFollowerDatabases
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:listKustoPoolFollowerDatabases -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSynapseListKustoPoolLanguageExtensions
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:synapse:listKustoPoolLanguageExtensions -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class Sku
{
    [string] $tier
    [string] $name
    [int] $capacity
}
function New-AzureNativeTypeSynapseSku
{
    param (
        [parameter(mandatory=$False,HelpMessage='The service tier)')]
        [string]
        $tier,
        [parameter(mandatory=$False,HelpMessage='The SKU name)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted.)')]
        [int]
        $capacity
    )

    process
    {
        return $([Sku]$PSBoundParameters)
    }
}
function New-AzureNativeSynapseSqlPool
{
    [Alias('azure_native_synapse_sqlpool')]
    param (
        [parameter(mandatory=$False,HelpMessage='Resource state)')]
        [string]
        $provisioningState,
        [parameter(mandatory=$False,HelpMessage='Snapshot time to restore)')]
        [string]
        $restorePointInTime,
        [parameter(mandatory=$False,HelpMessage='Specifies the mode of sql pool creation.

Default: regular sql pool creation.

PointInTimeRestore: Creates a sql pool by restoring a point in time backup of an existing sql pool. sourceDatabaseId must be specified as the resource ID of the existing sql pool, and restorePointInTime must be specified.

Recovery: Creates a sql pool by a geo-replicated backup. sourceDatabaseId must be specified as the recoverableDatabaseId to restore.

Restore: Creates a sql pool by restoring a backup of a deleted sql pool. SourceDatabaseId should be the sql pool''s original resource ID. SourceDatabaseId and sourceDatabaseDeletionDate must be specified.)'
)]
        [string]
        [ValidateSet('Default', 'PointInTimeRestore', 'Recovery', 'Restore')]
        $createMode,
        [parameter(mandatory=$False,HelpMessage='Source database to create from)')]
        [string]
        $sourceDatabaseId,
        [parameter(mandatory=$False,HelpMessage='Date the SQL pool was created)')]
        [string]
        $creationDate,
        [parameter(mandatory=$False,HelpMessage='SQL pool SKU)')]
        [Sku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='The storage account type used to store backups for this sql pool.)')]
        [string]
        [ValidateSet('GRS', 'LRS', 'ZRS')]
        $storageAccountType,
        [parameter(mandatory=$False,HelpMessage='Maximum size in bytes)')]
        [int]
        $maxSizeBytes,
        [parameter(mandatory=$False,HelpMessage='Backup database to restore from)')]
        [string]
        $recoverableDatabaseId,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='SQL pool name)')]
        [string]
        $sqlPoolName,
        [parameter(mandatory=$False,HelpMessage='Resource status)')]
        [string]
        $status,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='Collation mode)')]
        [string]
        $collation,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [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:synapse:SqlPool")

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseWorkspaceAadAdmin
{
    [Alias('azure_native_synapse_workspaceaadadmin')]
    param (
        [parameter(mandatory=$False,HelpMessage='Tenant ID of the workspace active directory administrator)')]
        [string]
        $tenantId,
        [parameter(mandatory=$False,HelpMessage='Object ID of the workspace active directory administrator)')]
        [string]
        $sid,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Login of the workspace active directory administrator)')]
        [string]
        $login,
        [parameter(mandatory=$False,HelpMessage='Workspace active directory administrator type)')]
        [string]
        $administratorType,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [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:synapse:WorkspaceAadAdmin")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class VulnerabilityAssessmentRecurringScansProperties
{
    [string[]] $emails
    [bool] $emailSubscriptionAdmins
    [bool] $isEnabled
}
function New-AzureNativeTypeSynapseVulnerabilityAssessmentRecurringScansProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies an array of e-mail addresses to which the scan notification is sent.)')]
        [string[]]
        $emails,
        [parameter(mandatory=$False,HelpMessage='Specifies that the schedule scan notification will be is sent to the subscription administrators.)')]
        [bool]
        $emailSubscriptionAdmins,
        [parameter(mandatory=$False,HelpMessage='Recurring scans state.)')]
        [bool]
        $isEnabled
    )

    process
    {
        return $([VulnerabilityAssessmentRecurringScansProperties]$PSBoundParameters)
    }
}
function New-AzureNativeSynapseSqlPoolVulnerabilityAssessment
{
    [Alias('azure_native_synapse_sqlpoolvulnerabilityassessment')]
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies the identifier key of the storage account for vulnerability assessment scan results. If ''StorageContainerSasKey'' isn''t specified, storageAccountAccessKey is required.)')]
        [string]
        $storageAccountAccessKey,
        [parameter(mandatory=$False,HelpMessage='A shared access signature (SAS Key) that has write access to the blob container specified in ''storageContainerPath'' parameter. If ''storageAccountAccessKey'' isn''t specified, StorageContainerSasKey is required.)')]
        [string]
        $storageContainerSasKey,
        [parameter(mandatory=$False,HelpMessage='SQL pool name)')]
        [string]
        $sqlPoolName,
        [parameter(mandatory=$False,HelpMessage='The recurring scans settings)')]
        [VulnerabilityAssessmentRecurringScansProperties]
        $recurringScans,
        [parameter(mandatory=$False,HelpMessage='The name of the vulnerability assessment.)')]
        [string]
        $vulnerabilityAssessmentName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy doesn''t set)')]
        [string]
        $storageContainerPath,
        [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:synapse:SqlPoolVulnerabilityAssessment")

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapsePrivateLinkHub
{
    [Alias('azure_native_synapse_privatelinkhub')]
    param (
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Name of the privateLinkHub)')]
        [string]
        $privateLinkHubName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='PrivateLinkHub provisioning state)')]
        [string]
        $provisioningState,
        [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:synapse:PrivateLinkHub")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseWorkspaceManagedSqlServerVulnerabilityAssessment
{
    [Alias('azure_native_synapse_workspacemanagedsqlservervulnerabilityassessment')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/).)')]
        [string]
        $storageContainerPath,
        [parameter(mandatory=$False,HelpMessage='The name of the vulnerability assessment.)')]
        [string]
        $vulnerabilityAssessmentName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The recurring scans settings)')]
        [VulnerabilityAssessmentRecurringScansProperties]
        $recurringScans,
        [parameter(mandatory=$False,HelpMessage='Specifies the identifier key of the storage account for vulnerability assessment scan results. If ''StorageContainerSasKey'' isn''t specified, storageAccountAccessKey is required.)')]
        [string]
        $storageAccountAccessKey,
        [parameter(mandatory=$False,HelpMessage='A shared access signature (SAS Key) that has read and write access to the blob container specified in ''storageContainerPath'' parameter. If ''storageAccountAccessKey'' isn''t specified, StorageContainerSasKey is required.)')]
        [string]
        $storageContainerSasKey,
        [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:synapse:WorkspaceManagedSqlServerVulnerabilityAssessment")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseWorkspaceSqlAadAdmin
{
    [Alias('azure_native_synapse_workspacesqlaadadmin')]
    param (
        [parameter(mandatory=$False,HelpMessage='Tenant ID of the workspace active directory administrator)')]
        [string]
        $tenantId,
        [parameter(mandatory=$False,HelpMessage='Object ID of the workspace active directory administrator)')]
        [string]
        $sid,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Login of the workspace active directory administrator)')]
        [string]
        $login,
        [parameter(mandatory=$False,HelpMessage='Workspace active directory administrator type)')]
        [string]
        $administratorType,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [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:synapse:WorkspaceSqlAadAdmin")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseIpFirewallRule
{
    [Alias('azure_native_synapse_ipfirewallrule')]
    param (
        [parameter(mandatory=$False,HelpMessage='The start IP address of the firewall rule. Must be IPv4 format)')]
        [string]
        $startIpAddress,
        [parameter(mandatory=$False,HelpMessage='The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress)')]
        [string]
        $endIpAddress,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The IP firewall rule name)')]
        [string]
        $ruleName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [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:synapse:IpFirewallRule")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class PrivateLinkServiceConnectionState
{
    [string] $status
    [string] $description
}
function New-AzureNativeTypeSynapsePrivateLinkServiceConnectionState
{
    param (
        [parameter(mandatory=$False,HelpMessage='The private link service connection status.)')]
        [string]
        $status,
        [parameter(mandatory=$False,HelpMessage='The private link service connection description.)')]
        [string]
        $description
    )

    process
    {
        return $([PrivateLinkServiceConnectionState]$PSBoundParameters)
    }
}
function New-AzureNativeSynapsePrivateEndpointConnection
{
    [Alias('azure_native_synapse_privateendpointconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='Connection state of the private endpoint connection.)')]
        [PrivateLinkServiceConnectionState]
        $privateLinkServiceConnectionState,
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection.)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [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:synapse:PrivateEndpointConnection")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class PurviewConfiguration
{
    [string] $purviewResourceId
}
function New-AzureNativeTypeSynapsePurviewConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='Purview Resource ID)')]
        [string]
        $purviewResourceId
    )

    process
    {
        return $([PurviewConfiguration]$PSBoundParameters)
    }
}
class WorkspaceRepositoryConfiguration
{
    [string] $collaborationBranch
    [string] $type
    [string] $accountName
    [string] $rootFolder
    [string] $repositoryName
    [string] $projectName
    [string] $hostName
    [string] $tenantId
    [string] $lastCommitId
}
function New-AzureNativeTypeSynapseWorkspaceRepositoryConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='Collaboration branch)')]
        [string]
        $collaborationBranch,
        [parameter(mandatory=$False,HelpMessage='Type of workspace repositoryID configuration. Example WorkspaceVSTSConfiguration, WorkspaceGitHubConfiguration)')]
        [string]
        $type,
        [parameter(mandatory=$False,HelpMessage='Account name)')]
        [string]
        $accountName,
        [parameter(mandatory=$False,HelpMessage='Root folder to use in the repository)')]
        [string]
        $rootFolder,
        [parameter(mandatory=$False,HelpMessage='Repository name)')]
        [string]
        $repositoryName,
        [parameter(mandatory=$False,HelpMessage='VSTS project name)')]
        [string]
        $projectName,
        [parameter(mandatory=$False,HelpMessage='GitHub Enterprise host name. For example: https://github.mydomain.com)')]
        [string]
        $hostName,
        [parameter(mandatory=$False,HelpMessage='The VSTS tenant ID)')]
        [string]
        $tenantId,
        [parameter(mandatory=$False,HelpMessage='The last commit ID)')]
        [string]
        $lastCommitId
    )

    process
    {
        return $([WorkspaceRepositoryConfiguration]$PSBoundParameters)
    }
}
class ManagedIdentity
{
    [ArgumentCompletions('None', 'SystemAssigned')]
    [object] $type
}
function New-AzureNativeTypeSynapseManagedIdentity
{
    param (
        [parameter(mandatory=$False,HelpMessage='The type of managed identity for the workspace)')]
        $type
    )

    process
    {
        return $([ManagedIdentity]$PSBoundParameters)
    }
}
class VirtualNetworkProfile
{
    [string] $computeSubnetId
}
function New-AzureNativeTypeSynapseVirtualNetworkProfile
{
    param (
        [parameter(mandatory=$False,HelpMessage='Subnet ID used for computes in workspace)')]
        [string]
        $computeSubnetId
    )

    process
    {
        return $([VirtualNetworkProfile]$PSBoundParameters)
    }
}
class ManagedVirtualNetworkSettings
{
    [bool] $preventDataExfiltration
    [bool] $linkedAccessCheckOnTargetResource
    [string[]] $allowedAadTenantIdsForLinking
}
function New-AzureNativeTypeSynapseManagedVirtualNetworkSettings
{
    param (
        [parameter(mandatory=$False,HelpMessage='Prevent Data Exfiltration)')]
        [bool]
        $preventDataExfiltration,
        [parameter(mandatory=$False,HelpMessage='Linked Access Check On Target Resource)')]
        [bool]
        $linkedAccessCheckOnTargetResource,
        [parameter(mandatory=$False,HelpMessage='Allowed Aad Tenant Ids For Linking)')]
        [string[]]
        $allowedAadTenantIdsForLinking
    )

    process
    {
        return $([ManagedVirtualNetworkSettings]$PSBoundParameters)
    }
}
class WorkspaceKeyDetails
{
    [string] $keyVaultUrl
    [string] $name
}
function New-AzureNativeTypeSynapseWorkspaceKeyDetails
{
    param (
        [parameter(mandatory=$False,HelpMessage='Workspace Key sub-resource key vault url)')]
        [string]
        $keyVaultUrl,
        [parameter(mandatory=$False,HelpMessage='Workspace Key sub-resource name)')]
        [string]
        $name
    )

    process
    {
        return $([WorkspaceKeyDetails]$PSBoundParameters)
    }
}
class CustomerManagedKeyDetails
{
    [WorkspaceKeyDetails] $key
}
function New-AzureNativeTypeSynapseCustomerManagedKeyDetails
{
    param (
        [parameter(mandatory=$False,HelpMessage='The key object of the workspace)')]
        [WorkspaceKeyDetails]
        $key
    )

    process
    {
        return $([CustomerManagedKeyDetails]$PSBoundParameters)
    }
}
class EncryptionDetails
{
    [CustomerManagedKeyDetails] $cmk
}
function New-AzureNativeTypeSynapseEncryptionDetails
{
    param (
        [parameter(mandatory=$False,HelpMessage='Customer Managed Key Details)')]
        [CustomerManagedKeyDetails]
        $cmk
    )

    process
    {
        return $([EncryptionDetails]$PSBoundParameters)
    }
}
class DataLakeStorageAccountDetails
{
    [string] $filesystem
    [string] $accountUrl
}
function New-AzureNativeTypeSynapseDataLakeStorageAccountDetails
{
    param (
        [parameter(mandatory=$False,HelpMessage='Filesystem name)')]
        [string]
        $filesystem,
        [parameter(mandatory=$False,HelpMessage='Account URL)')]
        [string]
        $accountUrl
    )

    process
    {
        return $([DataLakeStorageAccountDetails]$PSBoundParameters)
    }
}
function New-AzureNativeSynapseWorkspace
{
    [Alias('azure_native_synapse_workspace')]
    param (
        [parameter(mandatory=$False,HelpMessage='Purview Configuration)')]
        [PurviewConfiguration]
        $purviewConfiguration,
        [parameter(mandatory=$False,HelpMessage='Git integration settings)')]
        [WorkspaceRepositoryConfiguration]
        $workspaceRepositoryConfiguration,
        [parameter(mandatory=$False,HelpMessage='Private endpoint connections to the workspace)')]
        $privateEndpointConnections,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Identity of the workspace)')]
        [ManagedIdentity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='Setting this to ''default'' will ensure that all compute for this workspace is in a virtual network managed on behalf of the user.)')]
        [string]
        $managedVirtualNetwork,
        [parameter(mandatory=$False,HelpMessage='SQL administrator login password)')]
        [string]
        $sqlAdministratorLoginPassword,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='Virtual Network profile)')]
        [VirtualNetworkProfile]
        $virtualNetworkProfile,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Workspace managed resource group. The resource group name uniquely identifies the resource group within the user subscriptionId. The resource group name must be no longer than 90 characters long, and must be alphanumeric characters (Char.IsLetterOrDigit()) and ''-'', ''_'', ''('', '')'' and''.''. Note that the name cannot end with ''.'')')]
        [string]
        $managedResourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Managed Virtual Network Settings)')]
        [ManagedVirtualNetworkSettings]
        $managedVirtualNetworkSettings,
        [parameter(mandatory=$False,HelpMessage='The encryption details of the workspace)')]
        [EncryptionDetails]
        $encryption,
        [parameter(mandatory=$False,HelpMessage='Enable or Disable public network access to workspace)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $publicNetworkAccess,
        [parameter(mandatory=$False,HelpMessage='Workspace default data lake storage account details)')]
        [DataLakeStorageAccountDetails]
        $defaultDataLakeStorage,
        [parameter(mandatory=$False,HelpMessage='Login for workspace SQL active directory administrator)')]
        [string]
        $sqlAdministratorLogin,
        [parameter(mandatory=$False,HelpMessage='Connectivity endpoints)')]
        [hashtable]
        $connectivityEndpoints,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [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:synapse:Workspace")

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseDataConnection
{
    [Alias('azure_native_synapse_dataconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='Kind of the endpoint for the data connection)')]
        [string]
        [ValidateSet('EventHub', 'EventGrid', 'IotHub')]
        $kind,
        [parameter(mandatory=$False,HelpMessage='The name of the database in the Kusto pool.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the data connection.)')]
        [string]
        $dataConnectionName,
        [parameter(mandatory=$False,HelpMessage='Resource location.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [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:synapse:DataConnection")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseEventGridDataConnection
{
    [Alias('azure_native_synapse_eventgriddataconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='The data format of the message. Optionally the data format can be added to each message.)')]
        [string]
        [ValidateSet('MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'TXT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE', 'PARQUET', 'ORC', 'APACHEAVRO', 'W3CLOGFILE')]
        $dataFormat,
        [parameter(mandatory=$False,HelpMessage='The table where the data should be ingested. Optionally the table information can be added to each message.)')]
        [string]
        $tableName,
        [parameter(mandatory=$False,HelpMessage='Kind of the endpoint for the data connection
Expected value is ''EventGrid''.)'
)]
        [string]
        $kind,
        [parameter(mandatory=$False,HelpMessage='The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message.)')]
        [string]
        $mappingRuleName,
        [parameter(mandatory=$False,HelpMessage='A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file)')]
        [bool]
        $ignoreFirstRecord,
        [parameter(mandatory=$False,HelpMessage='The name of the data connection.)')]
        [string]
        $dataConnectionName,
        [parameter(mandatory=$False,HelpMessage='The resource ID where the event grid is configured to send events.)')]
        [string]
        $eventHubResourceId,
        [parameter(mandatory=$False,HelpMessage='The name of the database in the Kusto pool.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='Resource location.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The resource ID of the storage account where the data resides.)')]
        [string]
        $storageAccountResourceId,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The event hub consumer group.)')]
        [string]
        $consumerGroup,
        [parameter(mandatory=$False,HelpMessage='The name of blob storage event type to process.)')]
        [string]
        [ValidateSet('Microsoft.Storage.BlobCreated', 'Microsoft.Storage.BlobRenamed')]
        $blobStorageEventType,
        [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:synapse:EventGridDataConnection")

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $resource.properties["consumerGroup"] = $consumerGroup
        $resource.properties["databaseName"] = $databaseName
        $resource.properties["eventHubResourceId"] = $eventHubResourceId
        $resource.properties["kind"] = $kind
        $resource.properties["kustoPoolName"] = $kustoPoolName
        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["storageAccountResourceId"] = $storageAccountResourceId
        $resource.properties["workspaceName"] = $workspaceName

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseReadWriteDatabase
{
    [Alias('azure_native_synapse_readwritedatabase')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the database in the Kusto pool.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The time the data should be kept in cache for fast queries in TimeSpan.)')]
        [string]
        $hotCachePeriod,
        [parameter(mandatory=$False,HelpMessage='Kind of the database
Expected value is ''ReadWrite''.)'
)]
        [string]
        $kind,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='Resource location.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The time the data should be kept before it stops being accessible to queries in TimeSpan.)')]
        [string]
        $softDeletePeriod,
        [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:synapse:ReadWriteDatabase")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class TableLevelSharingProperties
{
    [string[]] $materializedViewsToInclude
    [string[]] $materializedViewsToExclude
    [string[]] $tablesToInclude
    [string[]] $externalTablesToExclude
    [string[]] $tablesToExclude
    [string[]] $externalTablesToInclude
}
function New-AzureNativeTypeSynapseTableLevelSharingProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='List of materialized views to include in the follower database)')]
        [string[]]
        $materializedViewsToInclude,
        [parameter(mandatory=$False,HelpMessage='List of materialized views exclude from the follower database)')]
        [string[]]
        $materializedViewsToExclude,
        [parameter(mandatory=$False,HelpMessage='List of tables to include in the follower database)')]
        [string[]]
        $tablesToInclude,
        [parameter(mandatory=$False,HelpMessage='List of external tables exclude from the follower database)')]
        [string[]]
        $externalTablesToExclude,
        [parameter(mandatory=$False,HelpMessage='List of tables to exclude from the follower database)')]
        [string[]]
        $tablesToExclude,
        [parameter(mandatory=$False,HelpMessage='List of external tables to include in the follower database)')]
        [string[]]
        $externalTablesToInclude
    )

    process
    {
        return $([TableLevelSharingProperties]$PSBoundParameters)
    }
}
function New-AzureNativeSynapseKustoPoolAttachedDatabaseConfiguration
{
    [Alias('azure_native_synapse_kustopoolattacheddatabaseconfiguration')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the attached database configuration.)')]
        [string]
        $attachedDatabaseConfigurationName,
        [parameter(mandatory=$False,HelpMessage='The name of the database which you would like to attach, use * if you want to follow all current and future databases.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='Table level sharing specifications)')]
        [TableLevelSharingProperties]
        $tableLevelSharingProperties,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='The default principals modification kind)')]
        [string]
        [ValidateSet('Union', 'Replace', 'None')]
        $defaultPrincipalsModificationKind,
        [parameter(mandatory=$False,HelpMessage='Resource location.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The resource id of the kusto pool where the databases you would like to attach reside.)')]
        [string]
        $kustoPoolResourceId,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [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:synapse:KustoPoolAttachedDatabaseConfiguration")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class AzureSku
{
    [ArgumentCompletions('Basic', 'Standard')]
    [string] $tier
    [ArgumentCompletions('Standard_DS13_v2+1TB_PS', 'Standard_DS13_v2+2TB_PS', 'Standard_DS14_v2+3TB_PS', 'Standard_DS14_v2+4TB_PS', 'Standard_D13_v2', 'Standard_D14_v2', 'Standard_L8s', 'Standard_L16s', 'Standard_L8s_v2', 'Standard_L16s_v2', 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_L4s', 'Dev(No SLA)_Standard_D11_v2', 'Standard_E64i_v3', 'Standard_E80ids_v4', 'Standard_E2a_v4', 'Standard_E4a_v4', 'Standard_E8a_v4', 'Standard_E16a_v4', 'Standard_E8as_v4+1TB_PS', 'Standard_E8as_v4+2TB_PS', 'Standard_E16as_v4+3TB_PS', 'Standard_E16as_v4+4TB_PS', 'Dev(No SLA)_Standard_E2a_v4')]
    [string] $name
    [int] $capacity
}
function New-AzureNativeTypeSynapseAzureSku
{
    param (
        [parameter(mandatory=$False,HelpMessage='SKU tier.)')]
        [string]
        [ValidateSet('Basic', 'Standard')]
        $tier,
        [parameter(mandatory=$False,HelpMessage='SKU name.)')]
        [string]
        [ValidateSet('Standard_DS13_v2+1TB_PS', 'Standard_DS13_v2+2TB_PS', 'Standard_DS14_v2+3TB_PS', 'Standard_DS14_v2+4TB_PS', 'Standard_D13_v2', 'Standard_D14_v2', 'Standard_L8s', 'Standard_L16s', 'Standard_L8s_v2', 'Standard_L16s_v2', 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_L4s', 'Dev(No SLA)_Standard_D11_v2', 'Standard_E64i_v3', 'Standard_E80ids_v4', 'Standard_E2a_v4', 'Standard_E4a_v4', 'Standard_E8a_v4', 'Standard_E16a_v4', 'Standard_E8as_v4+1TB_PS', 'Standard_E8as_v4+2TB_PS', 'Standard_E16as_v4+3TB_PS', 'Standard_E16as_v4+4TB_PS', 'Dev(No SLA)_Standard_E2a_v4')]
        $name,
        [parameter(mandatory=$False,HelpMessage='The number of instances of the cluster.)')]
        [int]
        $capacity
    )

    process
    {
        return $([AzureSku]$PSBoundParameters)
    }
}
function New-AzureNativeSynapseKustoPool
{
    [Alias('azure_native_synapse_kustopool')]
    param (
        [parameter(mandatory=$False,HelpMessage='The engine type)')]
        [string]
        [ValidateSet('V2', 'V3')]
        $engineType,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The SKU of the kusto pool.)')]
        [AzureSku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='The workspace unique identifier.)')]
        [string]
        $workspaceUid,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [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:synapse:kustoPool")

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class SelfHostedIntegrationRuntime
{
    [string] $type
    [string] $description
    [object] $linkedInfo #todo add class here
}
class LinkedIntegrationRuntimeRbacAuthorization
{
    [string] $authorizationType
    [string] $resourceId
}
function New-AzureNativeTypeSynapseLinkedIntegrationRuntimeRbacAuthorization
{
    param (
        [parameter(mandatory=$False,HelpMessage='The authorization type for integration runtime sharing.
Expected value is ''RBAC''.)'
)]
        [string]
        $authorizationType,
        [parameter(mandatory=$False,HelpMessage='The resource identifier of the integration runtime to be shared.)')]
        [string]
        $resourceId
    )

    process
    {
        return $([LinkedIntegrationRuntimeRbacAuthorization]$PSBoundParameters)
    }
}
function New-AzureNativeTypeSynapseSelfHostedIntegrationRuntime
{
    param (
        [parameter(mandatory=$False,HelpMessage='The type of integration runtime.
Expected value is ''SelfHosted''.)'
)]
        [string]
        $type,
        [parameter(mandatory=$False,HelpMessage='Integration runtime description.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Linked integration runtime type from data factory)')]
        [LinkedIntegrationRuntimeRbacAuthorization]
        $linkedInfo
    )

    process
    {
        return $([SelfHostedIntegrationRuntime]$PSBoundParameters)
    }
}
function New-AzureNativeSynapseIntegrationRuntime
{
    [Alias('azure_native_synapse_integrationruntime')]
    param (
        [parameter(mandatory=$False,HelpMessage='Integration runtime name)')]
        [string]
        $integrationRuntimeName,
        [parameter(mandatory=$False,HelpMessage='Integration runtime properties.)')]
        [SelfHostedIntegrationRuntime]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [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:synapse:IntegrationRuntime")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class AutoScaleProperties
{
    [int] $maxNodeCount
    [bool] $enabled
    [int] $minNodeCount
}
function New-AzureNativeTypeSynapseAutoScaleProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The maximum number of nodes the Big Data pool can support.)')]
        [int]
        $maxNodeCount,
        [parameter(mandatory=$False,HelpMessage='Whether automatic scaling is enabled for the Big Data pool.)')]
        [bool]
        $enabled,
        [parameter(mandatory=$False,HelpMessage='The minimum number of nodes the Big Data pool can support.)')]
        [int]
        $minNodeCount
    )

    process
    {
        return $([AutoScaleProperties]$PSBoundParameters)
    }
}
class DynamicExecutorAllocation
{
    [bool] $enabled
}
function New-AzureNativeTypeSynapseDynamicExecutorAllocation
{
    param (
        [parameter(mandatory=$False,HelpMessage='Indicates whether Dynamic Executor Allocation is enabled or not.)')]
        [bool]
        $enabled
    )

    process
    {
        return $([DynamicExecutorAllocation]$PSBoundParameters)
    }
}
class AutoPauseProperties
{
    [int] $delayInMinutes
    [bool] $enabled
}
function New-AzureNativeTypeSynapseAutoPauseProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Number of minutes of idle time before the Big Data pool is automatically paused.)')]
        [int]
        $delayInMinutes,
        [parameter(mandatory=$False,HelpMessage='Whether auto-pausing is enabled for the Big Data pool.)')]
        [bool]
        $enabled
    )

    process
    {
        return $([AutoPauseProperties]$PSBoundParameters)
    }
}
class LibraryRequirements
{
    [string] $content
    [string] $filename
}
function New-AzureNativeTypeSynapseLibraryRequirements
{
    param (
        [parameter(mandatory=$False,HelpMessage='The library requirements.)')]
        [string]
        $content,
        [parameter(mandatory=$False,HelpMessage='The filename of the library requirements file.)')]
        [string]
        $filename
    )

    process
    {
        return $([LibraryRequirements]$PSBoundParameters)
    }
}
function New-AzureNativeSynapseBigDataPool
{
    [Alias('azure_native_synapse_bigdatapool')]
    param (
        [parameter(mandatory=$False,HelpMessage='The Apache Spark version.)')]
        [string]
        $sparkVersion,
        [parameter(mandatory=$False,HelpMessage='Big Data pool name)')]
        [string]
        $bigDataPoolName,
        [parameter(mandatory=$False,HelpMessage='Auto-scaling properties)')]
        [AutoScaleProperties]
        $autoScale,
        [parameter(mandatory=$False,HelpMessage='The level of compute power that each node in the Big Data pool has.)')]
        [string]
        [ValidateSet('None', 'Small', 'Medium', 'Large', 'XLarge', 'XXLarge', 'XXXLarge')]
        $nodeSize,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='List of custom libraries/packages associated with the spark pool.)')]
        $customLibraries,
        [parameter(mandatory=$False,HelpMessage='Whether compute isolation is required or not.)')]
        [bool]
        $isComputeIsolationEnabled,
        [parameter(mandatory=$False,HelpMessage='Dynamic Executor Allocation)')]
        [DynamicExecutorAllocation]
        $dynamicExecutorAllocation,
        [parameter(mandatory=$False,HelpMessage='Auto-pausing properties)')]
        [AutoPauseProperties]
        $autoPause,
        [parameter(mandatory=$False,HelpMessage='The number of nodes in the Big Data pool.)')]
        [int]
        $nodeCount,
        [parameter(mandatory=$False,HelpMessage='The time when the Big Data pool was created.)')]
        [string]
        $creationDate,
        [parameter(mandatory=$False,HelpMessage='Library version requirements)')]
        [LibraryRequirements]
        $libraryRequirements,
        [parameter(mandatory=$False,HelpMessage='The default folder where Spark logs will be written.)')]
        [string]
        $defaultSparkLogFolder,
        [parameter(mandatory=$False,HelpMessage='The state of the Big Data pool.)')]
        [string]
        $provisioningState,
        [parameter(mandatory=$False,HelpMessage='Whether to stop any running jobs in the Big Data pool)')]
        [bool]
        $force,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The cache size)')]
        [int]
        $cacheSize,
        [parameter(mandatory=$False,HelpMessage='The Spark events folder)')]
        [string]
        $sparkEventsFolder,
        [parameter(mandatory=$False,HelpMessage='The kind of nodes that the Big Data pool provides.)')]
        [string]
        [ValidateSet('None', 'MemoryOptimized', 'HardwareAcceleratedFPGA', 'HardwareAcceleratedGPU')]
        $nodeSizeFamily,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Spark configuration file to specify additional properties)')]
        [LibraryRequirements]
        $sparkConfigProperties,
        [parameter(mandatory=$False,HelpMessage='Whether session level packages enabled.)')]
        [bool]
        $sessionLevelPackagesEnabled,
        [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:synapse:BigDataPool")

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseEventHubDataConnection
{
    [Alias('azure_native_synapse_eventhubdataconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='The data format of the message. Optionally the data format can be added to each message.)')]
        [string]
        [ValidateSet('MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'TXT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE', 'PARQUET', 'ORC', 'APACHEAVRO', 'W3CLOGFILE')]
        $dataFormat,
        [parameter(mandatory=$False,HelpMessage='Kind of the endpoint for the data connection
Expected value is ''EventHub''.)'
)]
        [string]
        $kind,
        [parameter(mandatory=$False,HelpMessage='System properties of the event hub)')]
        [string[]]
        $eventSystemProperties,
        [parameter(mandatory=$False,HelpMessage='The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message.)')]
        [string]
        $mappingRuleName,
        [parameter(mandatory=$False,HelpMessage='The table where the data should be ingested. Optionally the table information can be added to each message.)')]
        [string]
        $tableName,
        [parameter(mandatory=$False,HelpMessage='The name of the data connection.)')]
        [string]
        $dataConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the database in the Kusto pool.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='Resource location.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The event hub consumer group.)')]
        [string]
        $consumerGroup,
        [parameter(mandatory=$False,HelpMessage='The event hub messages compression type)')]
        [string]
        [ValidateSet('None', 'GZip')]
        $compression,
        [parameter(mandatory=$False,HelpMessage='The resource ID of the event hub to be used to create a data connection.)')]
        [string]
        $eventHubResourceId,
        [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:synapse:EventHubDataConnection")

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $resource.properties["consumerGroup"] = $consumerGroup
        $resource.properties["databaseName"] = $databaseName
        $resource.properties["eventHubResourceId"] = $eventHubResourceId
        $resource.properties["kind"] = $kind
        $resource.properties["kustoPoolName"] = $kustoPoolName
        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["workspaceName"] = $workspaceName

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseIotHubDataConnection
{
    [Alias('azure_native_synapse_iothubdataconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='The data format of the message. Optionally the data format can be added to each message.)')]
        [string]
        [ValidateSet('MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'TXT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE', 'PARQUET', 'ORC', 'APACHEAVRO', 'W3CLOGFILE')]
        $dataFormat,
        [parameter(mandatory=$False,HelpMessage='Kind of the endpoint for the data connection
Expected value is ''IotHub''.)'
)]
        [string]
        $kind,
        [parameter(mandatory=$False,HelpMessage='System properties of the iot hub)')]
        [string[]]
        $eventSystemProperties,
        [parameter(mandatory=$False,HelpMessage='The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message.)')]
        [string]
        $mappingRuleName,
        [parameter(mandatory=$False,HelpMessage='The table where the data should be ingested. Optionally the table information can be added to each message.)')]
        [string]
        $tableName,
        [parameter(mandatory=$False,HelpMessage='The name of the data connection.)')]
        [string]
        $dataConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the share access policy)')]
        [string]
        $sharedAccessPolicyName,
        [parameter(mandatory=$False,HelpMessage='The name of the database in the Kusto pool.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='Resource location.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The resource ID of the Iot hub to be used to create a data connection.)')]
        [string]
        $iotHubResourceId,
        [parameter(mandatory=$False,HelpMessage='The iot hub consumer group.)')]
        [string]
        $consumerGroup,
        [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:synapse:IotHubDataConnection")

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $resource.properties["consumerGroup"] = $consumerGroup
        $resource.properties["databaseName"] = $databaseName
        $resource.properties["iotHubResourceId"] = $iotHubResourceId
        $resource.properties["kind"] = $kind
        $resource.properties["kustoPoolName"] = $kustoPoolName
        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["sharedAccessPolicyName"] = $sharedAccessPolicyName
        $resource.properties["workspaceName"] = $workspaceName

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseSqlPoolVulnerabilityAssessmentRuleBaseline
{
    [Alias('azure_native_synapse_sqlpoolvulnerabilityassessmentrulebaseline')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='SQL pool name)')]
        [string]
        $sqlPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the vulnerability assessment rule baseline (default implies a baseline on a Sql pool level rule and master for workspace level rule).)')]
        [string]
        $baselineName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The vulnerability assessment rule ID.)')]
        [string]
        $ruleId,
        [parameter(mandatory=$False,HelpMessage='The rule baseline result)')]
        $baselineResults,
        [parameter(mandatory=$False,HelpMessage='The name of the vulnerability assessment.)')]
        [string]
        $vulnerabilityAssessmentName,
        [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:synapse:SqlPoolVulnerabilityAssessmentRuleBaseline")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseDatabase
{
    [Alias('azure_native_synapse_database')]
    param (
        [parameter(mandatory=$False,HelpMessage='Kind of the database)')]
        [string]
        [ValidateSet('ReadWrite', 'ReadOnlyFollowing')]
        $kind,
        [parameter(mandatory=$False,HelpMessage='The name of the database in the Kusto pool.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Resource location.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [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:synapse:Database")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseSqlPoolTransparentDataEncryption
{
    [Alias('azure_native_synapse_sqlpooltransparentdataencryption')]
    param (
        [parameter(mandatory=$False,HelpMessage='The status of the database transparent data encryption.)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $status,
        [parameter(mandatory=$False,HelpMessage='SQL pool name)')]
        [string]
        $sqlPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the transparent data encryption configuration.)')]
        [string]
        $transparentDataEncryptionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [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:synapse:SqlPoolTransparentDataEncryption")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseKustoPoolPrincipalAssignment
{
    [Alias('azure_native_synapse_kustopoolprincipalassignment')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto principalAssignment.)')]
        [string]
        $principalAssignmentName,
        [parameter(mandatory=$False,HelpMessage='The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.)')]
        [string]
        $principalId,
        [parameter(mandatory=$False,HelpMessage='Principal type.)')]
        [string]
        [ValidateSet('App', 'Group', 'User')]
        $principalType,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The tenant id of the principal)')]
        [string]
        $tenantId,
        [parameter(mandatory=$False,HelpMessage='Cluster principal role.)')]
        [string]
        [ValidateSet('AllDatabasesAdmin', 'AllDatabasesViewer')]
        $role,
        [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:synapse:KustoPoolPrincipalAssignment")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseKey
{
    [Alias('azure_native_synapse_key')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace key)')]
        [string]
        $keyName,
        [parameter(mandatory=$False,HelpMessage='Used to activate the workspace after a customer managed key is provided.)')]
        [bool]
        $isActiveCMK,
        [parameter(mandatory=$False,HelpMessage='The Key Vault Url of the workspace key.)')]
        [string]
        $keyVaultUrl,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [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:synapse:Key")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseSqlPoolWorkloadClassifier
{
    [Alias('azure_native_synapse_sqlpoolworkloadclassifier')]
    param (
        [parameter(mandatory=$False,HelpMessage='The workload classifier context.)')]
        [string]
        $context,
        [parameter(mandatory=$False,HelpMessage='The workload classifier importance.)')]
        [string]
        $importance,
        [parameter(mandatory=$False,HelpMessage='The workload classifier start time for classification.)')]
        [string]
        $startTime,
        [parameter(mandatory=$False,HelpMessage='SQL pool name)')]
        [string]
        $sqlPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the workload classifier.)')]
        [string]
        $workloadClassifierName,
        [parameter(mandatory=$False,HelpMessage='The workload classifier end time for classification.)')]
        [string]
        $endTime,
        [parameter(mandatory=$False,HelpMessage='The workload classifier label.)')]
        [string]
        $label,
        [parameter(mandatory=$False,HelpMessage='The workload classifier member name.)')]
        [string]
        $memberName,
        [parameter(mandatory=$False,HelpMessage='The name of the workload group.)')]
        [string]
        $workloadGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [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:synapse:SqlPoolWorkloadClassifier")

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseDatabasePrincipalAssignment
{
    [Alias('azure_native_synapse_databaseprincipalassignment')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the database in the Kusto pool.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto principalAssignment.)')]
        [string]
        $principalAssignmentName,
        [parameter(mandatory=$False,HelpMessage='The name of the Kusto pool.)')]
        [string]
        $kustoPoolName,
        [parameter(mandatory=$False,HelpMessage='Principal type.)')]
        [string]
        [ValidateSet('App', 'Group', 'User')]
        $principalType,
        [parameter(mandatory=$False,HelpMessage='The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.)')]
        [string]
        $principalId,
        [parameter(mandatory=$False,HelpMessage='Database principal role.)')]
        [string]
        [ValidateSet('Admin', 'Ingestor', 'Monitor', 'User', 'UnrestrictedViewer', 'Viewer')]
        $role,
        [parameter(mandatory=$False,HelpMessage='The tenant id of the principal)')]
        [string]
        $tenantId,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [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:synapse:DatabasePrincipalAssignment")

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $resource.properties["databaseName"] = $databaseName
        $resource.properties["kustoPoolName"] = $kustoPoolName
        $resource.properties["principalId"] = $principalId
        $resource.properties["principalType"] = $principalType
        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["role"] = $role
        $resource.properties["workspaceName"] = $workspaceName

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseSqlPoolWorkloadGroup
{
    [Alias('azure_native_synapse_sqlpoolworkloadgroup')]
    param (
        [parameter(mandatory=$False,HelpMessage='The workload group importance level.)')]
        [string]
        $importance,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The workload group request minimum grant percentage.)')]
        [int]
        $minResourcePercentPerRequest,
        [parameter(mandatory=$False,HelpMessage='SQL pool name)')]
        [string]
        $sqlPoolName,
        [parameter(mandatory=$False,HelpMessage='The name of the workload group.)')]
        [string]
        $workloadGroupName,
        [parameter(mandatory=$False,HelpMessage='The workload group cap percentage resource.)')]
        [int]
        $maxResourcePercent,
        [parameter(mandatory=$False,HelpMessage='The workload group query execution timeout.)')]
        [int]
        $queryExecutionTimeout,
        [parameter(mandatory=$False,HelpMessage='The workload group request maximum grant percentage.)')]
        [int]
        $maxResourcePercentPerRequest,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The workload group minimum percentage resource.)')]
        [int]
        $minResourcePercent,
        [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:synapse:SqlPoolWorkloadGroup")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSynapseSqlPoolSensitivityLabel
{
    [Alias('azure_native_synapse_sqlpoolsensitivitylabel')]
    param (
        [parameter(mandatory=$False,HelpMessage='The label name.)')]
        [string]
        $labelName,
        [parameter(mandatory=$False,HelpMessage='The name of the schema.)')]
        [string]
        $schemaName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage=')')]
        $rank,
        [parameter(mandatory=$False,HelpMessage='The source of the sensitivity label.)')]
        [string]
        $sensitivityLabelSource,
        [parameter(mandatory=$False,HelpMessage='The label ID.)')]
        [string]
        $labelId,
        [parameter(mandatory=$False,HelpMessage='The name of the workspace)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the column.)')]
        [string]
        $columnName,
        [parameter(mandatory=$False,HelpMessage='The name of the table.)')]
        [string]
        $tableName,
        [parameter(mandatory=$False,HelpMessage='SQL pool name)')]
        [string]
        $sqlPoolName,
        [parameter(mandatory=$False,HelpMessage='The information type.)')]
        [string]
        $informationType,
        [parameter(mandatory=$False,HelpMessage='The information type ID.)')]
        [string]
        $informationTypeId,
        [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:synapse:SqlPoolSensitivityLabel")

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

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

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

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

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

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

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

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