pspulumiyaml.azurenative.machinelearningservices.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionMachinelearningservicesListMachineLearningComputeKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='Name of the Azure Machine Learning compute.)')]
        [string]
        $computeName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:listMachineLearningComputeKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetOnlineDeploymentLogs
{
    param (
        [parameter(mandatory=$False,HelpMessage='The maximum number of lines to tail.)')]
        [int]
        $tail,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Inference endpoint name.)')]
        [string]
        $endpointName,
        [parameter(mandatory=$False,HelpMessage='The type of container to retrieve logs from.)')]
        [string]
        [ValidateSet('StorageInitializer', 'InferenceServer')]
        $containerType,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name and identifier for the endpoint.)')]
        [string]
        $deploymentName
    )

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

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getOnlineDeploymentLogs -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetOnlineEndpointToken
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Online Endpoint name.)')]
        [string]
        $endpointName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

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

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

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getDataContainer -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetJob
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name and identifier for the Job.)')]
        [string]
        $id,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getJob -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetMachineLearningService
{
    param (
        [parameter(mandatory=$False,HelpMessage='Set to True to include Model details.)')]
        [bool]
        $expand,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of the Azure Machine Learning service.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

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

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getComponentContainer -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesListOnlineEndpointKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Online Endpoint name.)')]
        [string]
        $endpointName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:listOnlineEndpointKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetDataVersion
{
    param (
        [parameter(mandatory=$False,HelpMessage='Version identifier.)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Container name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getDataVersion -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetBatchEndpoint
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name for the Batch Endpoint.)')]
        [string]
        $endpointName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getBatchEndpoint -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetMachineLearningCompute
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='Name of the Azure Machine Learning compute.)')]
        [string]
        $computeName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getMachineLearningCompute -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetOnlineEndpoint
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Online Endpoint name.)')]
        [string]
        $endpointName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getOnlineEndpoint -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetMachineLearningDataset
{
    param (
        [parameter(mandatory=$False,HelpMessage='The Dataset name.)')]
        [string]
        $datasetName,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getMachineLearningDataset -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetBatchDeployment
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Endpoint name)')]
        [string]
        $endpointName,
        [parameter(mandatory=$False,HelpMessage='The identifier for the Batch deployments.)')]
        [string]
        $deploymentName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getBatchDeployment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetEnvironmentSpecificationVersion
{
    param (
        [parameter(mandatory=$False,HelpMessage='Version identifier.)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Container name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getEnvironmentSpecificationVersion -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetWorkspace
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getEnvironmentContainer -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetAKSService
{
    param (
        [parameter(mandatory=$False,HelpMessage='Set to True to include Model details.)')]
        [bool]
        $expand,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of the Azure Machine Learning service.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getAKSService -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetMachineLearningDatastore
{
    param (
        [parameter(mandatory=$False,HelpMessage='The Datastore name.)')]
        [string]
        $datastoreName,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getMachineLearningDatastore -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetModelVersion
{
    param (
        [parameter(mandatory=$False,HelpMessage='Version identifier.)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Container name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getModelVersion -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesListWorkspaceNotebookAccessToken
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:listWorkspaceNotebookAccessToken -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetLinkedWorkspace
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Friendly name of the linked workspace)')]
        [string]
        $linkName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getLinkedWorkspace -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetWorkspaceConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Friendly name of the workspace connection)')]
        [string]
        $connectionName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getWorkspaceConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetLabelingJob
{
    param (
        [parameter(mandatory=$False,HelpMessage='Boolean value to indicate whether to include LabelCategories in response.)')]
        [bool]
        $includeLabelCategories,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Boolean value to indicate whether to include JobInstructions in response.)')]
        [bool]
        $includeJobInstructions,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='Name and identifier for LabelingJob.)')]
        [string]
        $labelingJobId
    )

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

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getLabelingJob -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetOnlineDeployment
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Inference endpoint name.)')]
        [string]
        $endpointName,
        [parameter(mandatory=$False,HelpMessage='Inference Endpoint Deployment name.)')]
        [string]
        $deploymentName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getOnlineDeployment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesListBatchEndpointKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Inference Endpoint name.)')]
        [string]
        $endpointName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:listBatchEndpointKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesListWorkspaceKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:listWorkspaceKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetEndpointVariant
{
    param (
        [parameter(mandatory=$False,HelpMessage='Set to True to include Model details.)')]
        [bool]
        $expand,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of the Azure Machine Learning service.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getEndpointVariant -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesListStorageAccountKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:listStorageAccountKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetComponentVersion
{
    param (
        [parameter(mandatory=$False,HelpMessage='Version identifier.)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Container name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getComponentVersion -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetACIService
{
    param (
        [parameter(mandatory=$False,HelpMessage='Set to True to include Model details.)')]
        [bool]
        $expand,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of the Azure Machine Learning service.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getACIService -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesListMachineLearningComputeNodes
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='Name of the Azure Machine Learning compute.)')]
        [string]
        $computeName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:listMachineLearningComputeNodes -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesListNotebookKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:listNotebookKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetPrivateEndpointConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection associated with the workspace)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getPrivateEndpointConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetCodeVersion
{
    param (
        [parameter(mandatory=$False,HelpMessage='Version identifier.)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Container name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:listDatastoreSecrets -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningservicesGetLinkedService
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Friendly name of the linked workspace)')]
        [string]
        $linkName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName
    )

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

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningservices:getModelContainer -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class CreateServiceRequestKeys
{
    [string] $primaryKey
    [string] $secondaryKey
}
function New-AzureNativeTypeMachinelearningservicesCreateServiceRequestKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='The primary key.)')]
        [string]
        $primaryKey,
        [parameter(mandatory=$False,HelpMessage='The secondary key.)')]
        [string]
        $secondaryKey
    )

    process
    {
        return $([CreateServiceRequestKeys]$PSBoundParameters)
    }
}
class DatasetReference
{
    [string] $id
    [string] $name
}
function New-AzureNativeTypeMachinelearningservicesDatasetReference
{
    param (
        [parameter(mandatory=$False,HelpMessage='The id of the dataset reference.)')]
        [string]
        $id,
        [parameter(mandatory=$False,HelpMessage='The name of the dataset reference.)')]
        [string]
        $name
    )

    process
    {
        return $([DatasetReference]$PSBoundParameters)
    }
}
class ContainerResourceRequirements
{
    [int] $memoryInGBLimit
    [int] $cpu
    [int] $gpu
    [int] $memoryInGB
    [int] $fpga
    [int] $cpuLimit
}
function New-AzureNativeTypeMachinelearningservicesContainerResourceRequirements
{
    param (
        [parameter(mandatory=$False,HelpMessage='The maximum amount of memory (in GB) allowed to be used by the container. More info:
https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/)'
)]
        [int]
        $memoryInGBLimit,
        [parameter(mandatory=$False,HelpMessage='The minimum amount of CPU cores to be used by the container. More info:
https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/)'
)]
        [int]
        $cpu,
        [parameter(mandatory=$False,HelpMessage='The number of GPU cores in the container.)')]
        [int]
        $gpu,
        [parameter(mandatory=$False,HelpMessage='The minimum amount of memory (in GB) to be used by the container. More info:
https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/)'
)]
        [int]
        $memoryInGB,
        [parameter(mandatory=$False,HelpMessage='The number of FPGA PCIE devices exposed to the container. Must be multiple of 2.)')]
        [int]
        $fpga,
        [parameter(mandatory=$False,HelpMessage='The maximum amount of CPU cores allowed to be used by the container. More info:
https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/)'
)]
        [int]
        $cpuLimit
    )

    process
    {
        return $([ContainerResourceRequirements]$PSBoundParameters)
    }
}
class Model
{
    [string] $description
    [string] $sampleInputData
    [string] $runId
    [bool] $unpack
    [string] $url
    [string] $mimeType
    [object] $kvTags
    [string] $experimentName
    [object] $properties
    [string] $createdTime
    [int] $version
    [string] $frameworkVersion
    [string] $id
    [DatasetReference[]] $datasets
    [string] $parentModelId
    [string] $framework
    [string] $name
    [string] $sampleOutputData
    [string[]] $derivedModelIds
    [string] $modifiedTime
    [ContainerResourceRequirements] $resourceRequirements
}
function New-AzureNativeTypeMachinelearningservicesModel
{
    param (
        [parameter(mandatory=$False,HelpMessage='The Model description text.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Sample Input Data for the Model. A reference to a dataset in the workspace in the format aml://dataset/{datasetId})')]
        [string]
        $sampleInputData,
        [parameter(mandatory=$False,HelpMessage='The RunId that created this model.)')]
        [string]
        $runId,
        [parameter(mandatory=$False,HelpMessage='Indicates whether we need to unpack the Model during docker Image creation.)')]
        [bool]
        $unpack,
        [parameter(mandatory=$False,HelpMessage='The URL of the Model. Usually a SAS URL.)')]
        [string]
        $url,
        [parameter(mandatory=$False,HelpMessage='The MIME type of Model content. For more details about MIME type, please open https://www.iana.org/assignments/media-types/media-types.xhtml)')]
        [string]
        $mimeType,
        [parameter(mandatory=$False,HelpMessage='The Model tag dictionary. Items are mutable.)')]
        [hashtable]
        $kvTags,
        [parameter(mandatory=$False,HelpMessage='The name of the experiment where this model was created.)')]
        [string]
        $experimentName,
        [parameter(mandatory=$False,HelpMessage='The Model property dictionary. Properties are immutable.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The Model creation time (UTC).)')]
        [string]
        $createdTime,
        [parameter(mandatory=$False,HelpMessage='The Model version assigned by Model Management Service.)')]
        [int]
        $version,
        [parameter(mandatory=$False,HelpMessage='The Model framework version.)')]
        [string]
        $frameworkVersion,
        [parameter(mandatory=$False,HelpMessage='The Model Id.)')]
        [string]
        $id,
        [parameter(mandatory=$False,HelpMessage='The list of datasets associated with the model.)')]
        $datasets,
        [parameter(mandatory=$False,HelpMessage='The Parent Model Id.)')]
        [string]
        $parentModelId,
        [parameter(mandatory=$False,HelpMessage='The Model framework.)')]
        [string]
        $framework,
        [parameter(mandatory=$False,HelpMessage='The Model name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Sample Output Data for the Model. A reference to a dataset in the workspace in the format aml://dataset/{datasetId})')]
        [string]
        $sampleOutputData,
        [parameter(mandatory=$False,HelpMessage='Models derived from this model)')]
        [string[]]
        $derivedModelIds,
        [parameter(mandatory=$False,HelpMessage='The Model last modified time (UTC).)')]
        [string]
        $modifiedTime,
        [parameter(mandatory=$False,HelpMessage='Resource requirements for the model)')]
        [ContainerResourceRequirements]
        $resourceRequirements
    )

    process
    {
        return $([Model]$PSBoundParameters)
    }
}
class SparkMavenPackage
{
    [string] $version
    [string] $group
    [string] $artifact
}
function New-AzureNativeTypeMachinelearningservicesSparkMavenPackage
{
    param (
        [parameter(mandatory=$False,HelpMessage=')')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage=')')]
        [string]
        $group,
        [parameter(mandatory=$False,HelpMessage=')')]
        [string]
        $artifact
    )

    process
    {
        return $([SparkMavenPackage]$PSBoundParameters)
    }
}
class ModelEnvironmentDefinitionSpark
{
    [string[]] $repositories
    [SparkMavenPackage[]] $packages
    [bool] $precachePackages
}
function New-AzureNativeTypeMachinelearningservicesModelEnvironmentDefinitionSpark
{
    param (
        [parameter(mandatory=$False,HelpMessage='The list of spark repositories.)')]
        [string[]]
        $repositories,
        [parameter(mandatory=$False,HelpMessage='The Spark packages to use.)')]
        $packages,
        [parameter(mandatory=$False,HelpMessage='Whether to precache the packages.)')]
        [bool]
        $precachePackages
    )

    process
    {
        return $([ModelEnvironmentDefinitionSpark]$PSBoundParameters)
    }
}
class ModelDockerSectionBaseImageRegistry
{
    [string] $address
    [string] $username
    [string] $password
}
function New-AzureNativeTypeMachinelearningservicesModelDockerSectionBaseImageRegistry
{
    param (
        [parameter(mandatory=$False,HelpMessage=')')]
        [string]
        $address,
        [parameter(mandatory=$False,HelpMessage=')')]
        [string]
        $username,
        [parameter(mandatory=$False,HelpMessage=')')]
        [string]
        $password
    )

    process
    {
        return $([ModelDockerSectionBaseImageRegistry]$PSBoundParameters)
    }
}
class ModelEnvironmentDefinitionDocker
{
    [string] $baseDockerfile
    [ModelDockerSectionBaseImageRegistry] $baseImageRegistry
    [string] $baseImage
}
function New-AzureNativeTypeMachinelearningservicesModelEnvironmentDefinitionDocker
{
    param (
        [parameter(mandatory=$False,HelpMessage='Base Dockerfile used for Docker-based runs. Mutually exclusive with BaseImage.)')]
        [string]
        $baseDockerfile,
        [parameter(mandatory=$False,HelpMessage='Image registry that contains the base image.)')]
        [ModelDockerSectionBaseImageRegistry]
        $baseImageRegistry,
        [parameter(mandatory=$False,HelpMessage='Base image used for Docker-based runs. Mutually exclusive with BaseDockerfile.)')]
        [string]
        $baseImage
    )

    process
    {
        return $([ModelEnvironmentDefinitionDocker]$PSBoundParameters)
    }
}
class RGitHubPackage
{
    [string] $authToken
    [string] $repository
}
function New-AzureNativeTypeMachinelearningservicesRGitHubPackage
{
    param (
        [parameter(mandatory=$False,HelpMessage='Personal access token to install from a private repo)')]
        [string]
        $authToken,
        [parameter(mandatory=$False,HelpMessage='Repository address in the format username/repo[/subdir][@ref|#pull].)')]
        [string]
        $repository
    )

    process
    {
        return $([RGitHubPackage]$PSBoundParameters)
    }
}
class RCranPackage
{
    [string] $name
    [string] $repository
}
function New-AzureNativeTypeMachinelearningservicesRCranPackage
{
    param (
        [parameter(mandatory=$False,HelpMessage='The package name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The repository name.)')]
        [string]
        $repository
    )

    process
    {
        return $([RCranPackage]$PSBoundParameters)
    }
}
class ModelEnvironmentDefinitionR
{
    [RGitHubPackage[]] $gitHubPackages
    [string[]] $customUrlPackages
    [string] $snapshotDate
    [RCranPackage[]] $cranPackages
    [string] $rscriptPath
    [string] $rVersion
    [bool] $userManaged
    [string[]] $bioConductorPackages
}
function New-AzureNativeTypeMachinelearningservicesModelEnvironmentDefinitionR
{
    param (
        [parameter(mandatory=$False,HelpMessage='The packages directly from GitHub.)')]
        $gitHubPackages,
        [parameter(mandatory=$False,HelpMessage='The packages from custom urls.)')]
        [string[]]
        $customUrlPackages,
        [parameter(mandatory=$False,HelpMessage='Date of MRAN snapshot to use in YYYY-MM-DD format, e.g. "2019-04-17")')]
        [string]
        $snapshotDate,
        [parameter(mandatory=$False,HelpMessage='The CRAN packages to use.)')]
        $cranPackages,
        [parameter(mandatory=$False,HelpMessage='The Rscript path to use if an environment build is not required.
The path specified gets used to call the user script.)'
)]
        [string]
        $rscriptPath,
        [parameter(mandatory=$False,HelpMessage='The version of R to be installed)')]
        [string]
        $rVersion,
        [parameter(mandatory=$False,HelpMessage='Indicates whether the environment is managed by user or by AzureML.)')]
        [bool]
        $userManaged,
        [parameter(mandatory=$False,HelpMessage='The packages from Bioconductor.)')]
        [string[]]
        $bioConductorPackages
    )

    process
    {
        return $([ModelEnvironmentDefinitionR]$PSBoundParameters)
    }
}
class ModelEnvironmentDefinitionPython
{
    [string] $baseCondaEnvironment
    [string] $interpreterPath
    [bool] $userManagedDependencies
    [object] $condaDependencies
}
function New-AzureNativeTypeMachinelearningservicesModelEnvironmentDefinitionPython
{
    param (
        [parameter(mandatory=$False,HelpMessage=')')]
        [string]
        $baseCondaEnvironment,
        [parameter(mandatory=$False,HelpMessage='The python interpreter path to use if an environment build is not required. The path specified gets used to call the user script.)')]
        [string]
        $interpreterPath,
        [parameter(mandatory=$False,HelpMessage='True means that AzureML reuses an existing python environment; False means that AzureML will create a python environment based on the Conda dependencies specification.)')]
        [bool]
        $userManagedDependencies,
        [parameter(mandatory=$False,HelpMessage='A JObject containing Conda dependencies.)')]
        $condaDependencies
    )

    process
    {
        return $([ModelEnvironmentDefinitionPython]$PSBoundParameters)
    }
}
class EnvironmentImageRequestEnvironment
{
    [string] $inferencingStackVersion
    [ModelEnvironmentDefinitionSpark] $spark
    [object] $environmentVariables
    [string] $version
    [ModelEnvironmentDefinitionDocker] $docker
    [string] $name
    [ModelEnvironmentDefinitionR] $r
    [ModelEnvironmentDefinitionPython] $python
}
function New-AzureNativeTypeMachinelearningservicesEnvironmentImageRequestEnvironment
{
    param (
        [parameter(mandatory=$False,HelpMessage='The inferencing stack version added to the image. To avoid adding an inferencing stack, do not set this value. Valid values: "latest".)')]
        [string]
        $inferencingStackVersion,
        [parameter(mandatory=$False,HelpMessage='The configuration for a Spark environment.)')]
        [ModelEnvironmentDefinitionSpark]
        $spark,
        [parameter(mandatory=$False,HelpMessage='Definition of environment variables to be defined in the environment.)')]
        [hashtable]
        $environmentVariables,
        [parameter(mandatory=$False,HelpMessage='The environment version.)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='The definition of a Docker container.)')]
        [ModelEnvironmentDefinitionDocker]
        $docker,
        [parameter(mandatory=$False,HelpMessage='The name of the environment.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Settings for a R environment.)')]
        [ModelEnvironmentDefinitionR]
        $r,
        [parameter(mandatory=$False,HelpMessage='Settings for a Python environment.)')]
        [ModelEnvironmentDefinitionPython]
        $python
    )

    process
    {
        return $([EnvironmentImageRequestEnvironment]$PSBoundParameters)
    }
}
class EnvironmentImageRequestEnvironmentReference
{
    [string] $name
    [string] $version
}
function New-AzureNativeTypeMachinelearningservicesEnvironmentImageRequestEnvironmentReference
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the environment.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Version of the environment.)')]
        [string]
        $version
    )

    process
    {
        return $([EnvironmentImageRequestEnvironmentReference]$PSBoundParameters)
    }
}
class ImageAsset
{
    [string] $mimeType
    [string] $id
    [bool] $unpack
    [string] $url
}
function New-AzureNativeTypeMachinelearningservicesImageAsset
{
    param (
        [parameter(mandatory=$False,HelpMessage='The mime type.)')]
        [string]
        $mimeType,
        [parameter(mandatory=$False,HelpMessage='The Asset Id.)')]
        [string]
        $id,
        [parameter(mandatory=$False,HelpMessage='Whether the Asset is unpacked.)')]
        [bool]
        $unpack,
        [parameter(mandatory=$False,HelpMessage='The Url of the Asset.)')]
        [string]
        $url
    )

    process
    {
        return $([ImageAsset]$PSBoundParameters)
    }
}
class CreateServiceRequestEnvironmentImageRequest
{
    [string] $driverProgram
    [Model[]] $models
    [EnvironmentImageRequestEnvironment] $environment
    [EnvironmentImageRequestEnvironmentReference] $environmentReference
    [ImageAsset[]] $assets
    [string[]] $modelIds
}
function New-AzureNativeTypeMachinelearningservicesCreateServiceRequestEnvironmentImageRequest
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the driver file.)')]
        [string]
        $driverProgram,
        [parameter(mandatory=$False,HelpMessage='The list of models.)')]
        $models,
        [parameter(mandatory=$False,HelpMessage='The details of the AZURE ML environment.)')]
        [EnvironmentImageRequestEnvironment]
        $environment,
        [parameter(mandatory=$False,HelpMessage='The unique identifying details of the AZURE ML environment.)')]
        [EnvironmentImageRequestEnvironmentReference]
        $environmentReference,
        [parameter(mandatory=$False,HelpMessage='The list of assets.)')]
        $assets,
        [parameter(mandatory=$False,HelpMessage='The list of model Ids.)')]
        [string[]]
        $modelIds
    )

    process
    {
        return $([CreateServiceRequestEnvironmentImageRequest]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesMachineLearningService
{
    [Alias('azure_native_machinelearningservices_machinelearningservice')]
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure location/region.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The authentication keys.)')]
        [CreateServiceRequestKeys]
        $keys,
        [parameter(mandatory=$False,HelpMessage='The service properties dictionary. Properties are immutable.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The service tag dictionary. Tags are mutable.)')]
        [hashtable]
        $kvTags,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The compute environment type for the service.)')]
        [string]
        [ValidateSet('ACI', 'AKS')]
        $computeType,
        [parameter(mandatory=$False,HelpMessage='The description of the service.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Name of the Azure Machine Learning service.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The Environment, models and assets needed for inferencing.)')]
        [CreateServiceRequestEnvironmentImageRequest]
        $environmentImageRequest,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:MachineLearningService")

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class Route
{
    [int] $port
    [string] $path
}
function New-AzureNativeTypeMachinelearningservicesRoute
{
    param (
        [parameter(mandatory=$False,HelpMessage='[Required] The port for the route.)')]
        [int]
        $port,
        [parameter(mandatory=$False,HelpMessage='[Required] The path for the route.)')]
        [string]
        $path
    )

    process
    {
        return $([Route]$PSBoundParameters)
    }
}
class InferenceContainerProperties
{
    [Route] $scoringRoute
    [Route] $readinessRoute
    [Route] $livenessRoute
}
function New-AzureNativeTypeMachinelearningservicesInferenceContainerProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The port to send the scoring requests to, within the inference server container.)')]
        [Route]
        $scoringRoute,
        [parameter(mandatory=$False,HelpMessage='The route to check the readiness of the inference server container.)')]
        [Route]
        $readinessRoute,
        [parameter(mandatory=$False,HelpMessage='The route to check the liveness of the inference server container.)')]
        [Route]
        $livenessRoute
    )

    process
    {
        return $([InferenceContainerProperties]$PSBoundParameters)
    }
}
class EnvironmentSpecificationVersion
{
    [bool] $isAnonymous
    [string] $description
    [object] $docker #todo add class here
    [object] $tags
    [object] $properties
    [InferenceContainerProperties] $inferenceContainerProperties
    [string] $condaFile
}
class DockerImagePlatform
{
    [ValidateSet('Linux', 'Windows')]
    [string] $operatingSystemType
}
function New-AzureNativeTypeMachinelearningservicesDockerImagePlatform
{
    param (
        [parameter(mandatory=$False,HelpMessage='The OS type the Environment.)')]
        [string]
        [ValidateSet('Linux', 'Windows')]
        $operatingSystemType
    )

    process
    {
        return $([DockerImagePlatform]$PSBoundParameters)
    }
}
class DockerImage
{
    [string] $dockerImageUri
    [DockerImagePlatform] $platform
    [string] $dockerSpecificationType
}
function New-AzureNativeTypeMachinelearningservicesDockerImage
{
    param (
        [parameter(mandatory=$False,HelpMessage='[Required] Image name of a custom base image.
<seealso href="https://docs.microsoft.com/en-us/azure/machine-learning/how-to-deploy-custom-docker-image#use-a-custom-base-image" />)'
)]
        [string]
        $dockerImageUri,
        [parameter(mandatory=$False,HelpMessage='The platform information of the docker image.)')]
        [DockerImagePlatform]
        $platform,
        [parameter(mandatory=$False,HelpMessage='Enum to determine docker specification type. Must be either Build or Image.
Expected value is ''Image''.)'
)]
        [string]
        $dockerSpecificationType
    )

    process
    {
        return $([DockerImage]$PSBoundParameters)
    }
}
function New-AzureNativeTypeMachinelearningservicesEnvironmentSpecificationVersion
{
    param (
        [parameter(mandatory=$False,HelpMessage='If the name version are system generated (anonymous registration).)')]
        [bool]
        $isAnonymous,
        [parameter(mandatory=$False,HelpMessage='The asset description text.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Configuration settings for Docker.)')]
        [DockerImage]
        $docker,
        [parameter(mandatory=$False,HelpMessage='Tag dictionary. Tags can be added, removed, and updated.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The asset property dictionary.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Defines configuration specific to inference.)')]
        [InferenceContainerProperties]
        $inferenceContainerProperties,
        [parameter(mandatory=$False,HelpMessage='Standard configuration file used by Conda that lets you install any kind of package, including Python, R, and C/C++ packages.
<see href="https://repo2docker.readthedocs.io/en/latest/config_files.html#environment-yml-install-a-conda-environment" />)'
)]
        [string]
        $condaFile
    )

    process
    {
        return $([EnvironmentSpecificationVersion]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesEnvironmentSpecificationVersion
{
    [Alias('azure_native_machinelearningservices_environmentspecificationversion')]
    param (
        [parameter(mandatory=$False,HelpMessage='Version of EnvironmentSpecificationVersion.)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of EnvironmentSpecificationVersion.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='[Required] Additional attributes of the entity.)')]
        [EnvironmentSpecificationVersion]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:EnvironmentSpecificationVersion")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class Objective
{
    [ValidateSet('Minimize', 'Maximize')]
    [string] $goal
    [ValidateSet('Minimize', 'Maximize')]
    [string] $primaryMetric
}
function New-AzureNativeTypeMachinelearningservicesObjective
{
    param (
        [parameter(mandatory=$False,HelpMessage='[Required] Defines supported metric goals for hyperparameter tuning)')]
        [string]
        [ValidateSet('Minimize', 'Maximize')]
        $goal,
        [parameter(mandatory=$False,HelpMessage='[Required] Name of the metric to optimize.)')]
        [string]
        $primaryMetric
    )

    process
    {
        return $([Objective]$PSBoundParameters)
    }
}
class ComputeConfiguration
{
    [string] $instanceType
    [int] $instanceCount
    [object] $properties
    [string] $target
    [string] $location
    [bool] $isLocal
}
function New-AzureNativeTypeMachinelearningservicesComputeConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='SKU type to run on.)')]
        [string]
        $instanceType,
        [parameter(mandatory=$False,HelpMessage='Number of instances or nodes.)')]
        [int]
        $instanceCount,
        [parameter(mandatory=$False,HelpMessage='Additional properties.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='ARM resource ID of the Compute you are targeting. If not provided the resource will be deployed as Managed.)')]
        [string]
        $target,
        [parameter(mandatory=$False,HelpMessage='Location for virtual cluster run.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Set to true for jobs running on local compute.)')]
        [bool]
        $isLocal
    )

    process
    {
        return $([ComputeConfiguration]$PSBoundParameters)
    }
}
class TrialComponent
{
    [object] $outputDataBindings
    [object] $inputDataBindings
    [object] $environmentVariables
    [string] $codeId
    [string] $command
    [object] $distribution #todo add class here
    [string] $timeout
    [string] $environmentId
}
class OutputDataBinding
{
    [string] $pathOnCompute
    [string] $pathOnDatastore
    [string] $datastoreId
    [ValidateSet('Mount', 'Download', 'Upload', 'ReadOnlyMount', 'ReadWriteMount', 'Direct', 'EvalMount', 'EvalDownload')]
    [string] $mode
}
function New-AzureNativeTypeMachinelearningservicesOutputDataBinding
{
    param (
        [parameter(mandatory=$False,HelpMessage='Location of data inside the container process.)')]
        [string]
        $pathOnCompute,
        [parameter(mandatory=$False,HelpMessage='Path within the datastore to the data.)')]
        [string]
        $pathOnDatastore,
        [parameter(mandatory=$False,HelpMessage='ARM resource ID of the datastore where the data output will be stored.)')]
        [string]
        $datastoreId,
        [parameter(mandatory=$False,HelpMessage='Mechanism for data movement to datastore.)')]
        [string]
        [ValidateSet('Mount', 'Download', 'Upload', 'ReadOnlyMount', 'ReadWriteMount', 'Direct', 'EvalMount', 'EvalDownload')]
        $mode
    )

    process
    {
        return $([OutputDataBinding]$PSBoundParameters)
    }
}
class InputDataBinding
{
    [string] $pathOnCompute
    [string] $dataId
    [ValidateSet('Mount', 'Download', 'Upload', 'ReadOnlyMount', 'ReadWriteMount', 'Direct', 'EvalMount', 'EvalDownload')]
    [string] $mode
}
function New-AzureNativeTypeMachinelearningservicesInputDataBinding
{
    param (
        [parameter(mandatory=$False,HelpMessage='Location of data inside the container process.)')]
        [string]
        $pathOnCompute,
        [parameter(mandatory=$False,HelpMessage='ARM resource ID of the registered dataVersion.)')]
        [string]
        $dataId,
        [parameter(mandatory=$False,HelpMessage='Mechanism for accessing the data artifact.)')]
        [string]
        [ValidateSet('Mount', 'Download', 'Upload', 'ReadOnlyMount', 'ReadWriteMount', 'Direct', 'EvalMount', 'EvalDownload')]
        $mode
    )

    process
    {
        return $([InputDataBinding]$PSBoundParameters)
    }
}
class TensorFlow
{
    [int] $workerCount
    [string] $distributionType
    [int] $parameterServerCount
}
function New-AzureNativeTypeMachinelearningservicesTensorFlow
{
    param (
        [parameter(mandatory=$False,HelpMessage='Number of workers. Overwrites the node count in compute binding.)')]
        [int]
        $workerCount,
        [parameter(mandatory=$False,HelpMessage='Enum to determine the job distribution type.
Expected value is ''TensorFlow''.)'
)]
        [string]
        $distributionType,
        [parameter(mandatory=$False,HelpMessage='Number of parameter server tasks.)')]
        [int]
        $parameterServerCount
    )

    process
    {
        return $([TensorFlow]$PSBoundParameters)
    }
}
function New-AzureNativeTypeMachinelearningservicesTrialComponent
{
    param (
        [parameter(mandatory=$False,HelpMessage='Mapping of output data bindings used in the job.)')]
        [OutputDataBinding]
        $outputDataBindings,
        [parameter(mandatory=$False,HelpMessage='Mapping of input data bindings used in the job.)')]
        [InputDataBinding]
        $inputDataBindings,
        [parameter(mandatory=$False,HelpMessage='Environment variables included in the job.)')]
        [hashtable]
        $environmentVariables,
        [parameter(mandatory=$False,HelpMessage='ARM resource ID of the code asset.)')]
        [string]
        $codeId,
        [parameter(mandatory=$False,HelpMessage='[Required] The command to execute on startup of the job. eg. "python train.py")')]
        [string]
        $command,
        [parameter(mandatory=$False,HelpMessage='Distribution configuration of the job. If set, this should be one of Mpi, Tensorflow, PyTorch, or null.)')]
        [TensorFlow]
        $distribution,
        [parameter(mandatory=$False,HelpMessage='The max run duration in ISO 8601 format, after which the trial component will be cancelled.
Only supports duration with precision as low as Seconds.)'
)]
        [string]
        $timeout,
        [parameter(mandatory=$False,HelpMessage='The ARM resource ID of the Environment specification for the job.)')]
        [string]
        $environmentId
    )

    process
    {
        return $([TrialComponent]$PSBoundParameters)
    }
}
class SweepJob
{
    [int] $maxConcurrentTrials
    [object] $tags
    [string] $experimentName
    [Objective] $objective
    [object] $earlyTermination #todo add class here
    [object] $identity #todo add class here
    [ComputeConfiguration] $compute
    [int] $maxTotalTrials
    [string] $description
    [string] $jobType
    [TrialComponent] $trial
    [int] $priority
    [object] $searchSpace
    [ValidateSet('Grid', 'Random', 'Bayesian')]
    [string] $algorithm
    [ValidateSet('Grid', 'Random', 'Bayesian')]
    [string] $timeout
    [ValidateSet('Grid', 'Random', 'Bayesian')]
    [object] $properties
}
class TruncationSelectionPolicy
{
    [int] $truncationPercentage
    [int] $evaluationInterval
    [int] $delayEvaluation
    [string] $policyType
}
function New-AzureNativeTypeMachinelearningservicesTruncationSelectionPolicy
{
    param (
        [parameter(mandatory=$False,HelpMessage='The percentage of runs to cancel at each evaluation interval.)')]
        [int]
        $truncationPercentage,
        [parameter(mandatory=$False,HelpMessage='Interval (number of runs) between policy evaluations.)')]
        [int]
        $evaluationInterval,
        [parameter(mandatory=$False,HelpMessage='Number of intervals by which to delay the first evaluation.)')]
        [int]
        $delayEvaluation,
        [parameter(mandatory=$False,HelpMessage='
Expected value is ''TruncationSelection''.)'
)]
        [string]
        $policyType
    )

    process
    {
        return $([TruncationSelectionPolicy]$PSBoundParameters)
    }
}
class ManagedIdentity
{
    [string] $resourceId
    [string] $objectId
    [string] $clientId
    [string] $identityType
}
function New-AzureNativeTypeMachinelearningservicesManagedIdentity
{
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies a user-assigned identity by ARM resource ID. For system-assigned, do not set this field.)')]
        [string]
        $resourceId,
        [parameter(mandatory=$False,HelpMessage='Specifies a user-assigned identity by object ID. For system-assigned, do not set this field.)')]
        [string]
        $objectId,
        [parameter(mandatory=$False,HelpMessage='Specifies a user-assigned identity by client ID. For system-assigned, do not set this field.)')]
        [string]
        $clientId,
        [parameter(mandatory=$False,HelpMessage='Enum to determine identity framework.
Expected value is ''Managed''.)'
)]
        [string]
        $identityType
    )

    process
    {
        return $([ManagedIdentity]$PSBoundParameters)
    }
}
function New-AzureNativeTypeMachinelearningservicesSweepJob
{
    param (
        [parameter(mandatory=$False,HelpMessage='An upper bound on the number of trials performed in parallel.)')]
        [int]
        $maxConcurrentTrials,
        [parameter(mandatory=$False,HelpMessage='Tag dictionary. Tags can be added, removed, and updated.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The name of the experiment the job belongs to. If not set, the job is placed in the "Default" experiment.)')]
        [string]
        $experimentName,
        [parameter(mandatory=$False,HelpMessage='[Required] Optimization objective.)')]
        [Objective]
        $objective,
        [parameter(mandatory=$False,HelpMessage='Early termination policies enable canceling poor-performing runs before they complete.)')]
        [TruncationSelectionPolicy]
        $earlyTermination,
        [parameter(mandatory=$False,HelpMessage='Identity configuration. If set, this should be one of AmlToken, ManagedIdentity or null.
Defaults to AmlToken if null.)'
)]
        [ManagedIdentity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='[Required] Compute binding for the job.)')]
        [ComputeConfiguration]
        $compute,
        [parameter(mandatory=$False,HelpMessage='An upper bound on the number of trials to perform.)')]
        [int]
        $maxTotalTrials,
        [parameter(mandatory=$False,HelpMessage='The asset description text.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Enum to determine the type of job.
Expected value is ''Sweep''.)'
)]
        [string]
        $jobType,
        [parameter(mandatory=$False,HelpMessage='Trial component definition.)')]
        [TrialComponent]
        $trial,
        [parameter(mandatory=$False,HelpMessage='Job priority for scheduling policy. Only applies to AMLCompute.
Private preview feature and only available to users on the allow list.)'
)]
        [int]
        $priority,
        [parameter(mandatory=$False,HelpMessage='[Required] A dictionary containing each parameter and its distribution. The dictionary key is the name of the parameter)')]
        [object]
        $searchSpace,
        [parameter(mandatory=$False,HelpMessage='[Required] Type of the hyperparameter sampling algorithms)')]
        [string]
        [ValidateSet('Grid', 'Random', 'Bayesian')]
        $algorithm,
        [parameter(mandatory=$False,HelpMessage='The total timeout in ISO 8601 format. Only supports duration with precision as low as Minutes.)')]
        [string]
        $timeout,
        [parameter(mandatory=$False,HelpMessage='The asset property dictionary.)')]
        [hashtable]
        $properties
    )

    process
    {
        return $([SweepJob]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesJob
{
    [Alias('azure_native_machinelearningservices_job')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name and identifier for the Job.)')]
        [string]
        $id,
        [parameter(mandatory=$False,HelpMessage='[Required] Additional attributes of the entity.)')]
        [SweepJob]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:Job")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ComponentVersion
{
    [object] $properties
    [bool] $isAnonymous
    [string] $description
    [bool] $isArchived
    [object] $componentSpec
    [object] $tags
}
function New-AzureNativeTypeMachinelearningservicesComponentVersion
{
    param (
        [parameter(mandatory=$False,HelpMessage='The asset property dictionary.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='If the name version are system generated (anonymous registration).)')]
        [bool]
        $isAnonymous,
        [parameter(mandatory=$False,HelpMessage='The asset description text.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Is the asset archived?)')]
        [bool]
        $isArchived,
        [parameter(mandatory=$False,HelpMessage='Defines Component definition details.
<see href="https://docs.microsoft.com/en-us/azure/machine-learning/reference-yaml-component-command" />)'
)]
        $componentSpec,
        [parameter(mandatory=$False,HelpMessage='Tag dictionary. Tags can be added, removed, and updated.)')]
        [hashtable]
        $tags
    )

    process
    {
        return $([ComponentVersion]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesComponentVersion
{
    [Alias('azure_native_machinelearningservices_componentversion')]
    param (
        [parameter(mandatory=$False,HelpMessage='Version identifier.)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Container name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='[Required] Additional attributes of the entity.)')]
        [ComponentVersion]
        $componentVersionDetails,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:ComponentVersion")

        $resource.properties["componentVersionDetails"] = $componentVersionDetails
        $resource.properties["name"] = $name
        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["workspaceName"] = $workspaceName

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class CodeContainer
{
    [string] $description
    [object] $properties
    [object] $tags
}
function New-AzureNativeTypeMachinelearningservicesCodeContainer
{
    param (
        [parameter(mandatory=$False,HelpMessage='The asset description text.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='The asset property dictionary.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Tag dictionary. Tags can be added, removed, and updated.)')]
        [hashtable]
        $tags
    )

    process
    {
        return $([CodeContainer]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesCodeContainer
{
    [Alias('azure_native_machinelearningservices_codecontainer')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Container name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='[Required] Additional attributes of the entity.)')]
        [CodeContainer]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:CodeContainer")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ModelContainer
{
    [string] $description
    [object] $properties
    [object] $tags
}
function New-AzureNativeTypeMachinelearningservicesModelContainer
{
    param (
        [parameter(mandatory=$False,HelpMessage='The asset description text.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='The asset property dictionary.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Tag dictionary. Tags can be added, removed, and updated.)')]
        [hashtable]
        $tags
    )

    process
    {
        return $([ModelContainer]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesModelContainer
{
    [Alias('azure_native_machinelearningservices_modelcontainer')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Container name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='[Required] Additional attributes of the entity.)')]
        [ModelContainer]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:ModelContainer")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class AKSServiceCreateRequestLivenessProbeRequirements
{
    [int] $timeoutSeconds
    [int] $periodSeconds
    [int] $initialDelaySeconds
    [int] $failureThreshold
    [int] $successThreshold
}
function New-AzureNativeTypeMachinelearningservicesAKSServiceCreateRequestLivenessProbeRequirements
{
    param (
        [parameter(mandatory=$False,HelpMessage='The probe timeout in seconds.)')]
        [int]
        $timeoutSeconds,
        [parameter(mandatory=$False,HelpMessage='The length of time between probes in seconds.)')]
        [int]
        $periodSeconds,
        [parameter(mandatory=$False,HelpMessage='The delay before the first probe in seconds.)')]
        [int]
        $initialDelaySeconds,
        [parameter(mandatory=$False,HelpMessage='The number of failures to allow before returning an unhealthy status.)')]
        [int]
        $failureThreshold,
        [parameter(mandatory=$False,HelpMessage='The number of successful probes before returning a healthy status.)')]
        [int]
        $successThreshold
    )

    process
    {
        return $([AKSServiceCreateRequestLivenessProbeRequirements]$PSBoundParameters)
    }
}
class AKSServiceCreateRequestDataCollection
{
    [bool] $eventHubEnabled
    [bool] $storageEnabled
}
function New-AzureNativeTypeMachinelearningservicesAKSServiceCreateRequestDataCollection
{
    param (
        [parameter(mandatory=$False,HelpMessage='Option for enabling/disabling Event Hub.)')]
        [bool]
        $eventHubEnabled,
        [parameter(mandatory=$False,HelpMessage='Option for enabling/disabling storage.)')]
        [bool]
        $storageEnabled
    )

    process
    {
        return $([AKSServiceCreateRequestDataCollection]$PSBoundParameters)
    }
}
class AKSServiceCreateRequestAutoScaler
{
    [int] $maxReplicas
    [int] $targetUtilization
    [int] $minReplicas
    [bool] $autoscaleEnabled
    [int] $refreshPeriodInSeconds
}
function New-AzureNativeTypeMachinelearningservicesAKSServiceCreateRequestAutoScaler
{
    param (
        [parameter(mandatory=$False,HelpMessage='The maximum number of replicas in the cluster.)')]
        [int]
        $maxReplicas,
        [parameter(mandatory=$False,HelpMessage='The target utilization percentage to use for determining whether to scale the cluster.)')]
        [int]
        $targetUtilization,
        [parameter(mandatory=$False,HelpMessage='The minimum number of replicas to scale down to.)')]
        [int]
        $minReplicas,
        [parameter(mandatory=$False,HelpMessage='Option to enable/disable auto scaling.)')]
        [bool]
        $autoscaleEnabled,
        [parameter(mandatory=$False,HelpMessage='The amount of seconds to wait between auto scale updates.)')]
        [int]
        $refreshPeriodInSeconds
    )

    process
    {
        return $([AKSServiceCreateRequestAutoScaler]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesAKSService
{
    [Alias('azure_native_machinelearningservices_aksservice')]
    param (
        [parameter(mandatory=$False,HelpMessage='The number of replicas on the cluster.)')]
        [int]
        $numReplicas,
        [parameter(mandatory=$False,HelpMessage='Maximum time a request will wait in the queue (in milliseconds). After this time, the service will return 503 (Service Unavailable))')]
        [int]
        $maxQueueWaitMs,
        [parameter(mandatory=$False,HelpMessage='The name of the compute resource.)')]
        [string]
        $computeName,
        [parameter(mandatory=$False,HelpMessage='The container resource requirements.)')]
        [ContainerResourceRequirements]
        $containerResourceRequirements,
        [parameter(mandatory=$False,HelpMessage='Whether or not Application Insights is enabled.)')]
        [bool]
        $appInsightsEnabled,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The maximum number of concurrent requests per container.)')]
        [int]
        $maxConcurrentRequestsPerContainer,
        [parameter(mandatory=$False,HelpMessage='The liveness probe requirements.)')]
        [AKSServiceCreateRequestLivenessProbeRequirements]
        $livenessProbeRequirements,
        [parameter(mandatory=$False,HelpMessage='The description of the service.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='The authentication keys.)')]
        [CreateServiceRequestKeys]
        $keys,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of the Azure Machine Learning service.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='Is this the default variant.)')]
        [bool]
        $isDefault,
        [parameter(mandatory=$False,HelpMessage='The service tag dictionary. Tags are mutable.)')]
        [hashtable]
        $kvTags,
        [parameter(mandatory=$False,HelpMessage='The scoring timeout in milliseconds.)')]
        [int]
        $scoringTimeoutMs,
        [parameter(mandatory=$False,HelpMessage='Whether or not authentication is enabled.)')]
        [bool]
        $authEnabled,
        [parameter(mandatory=$False,HelpMessage='The service properties dictionary. Properties are immutable.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Details of the data collection options specified.)')]
        [AKSServiceCreateRequestDataCollection]
        $dataCollection,
        [parameter(mandatory=$False,HelpMessage='The auto scaler properties.)')]
        [AKSServiceCreateRequestAutoScaler]
        $autoScaler,
        [parameter(mandatory=$False,HelpMessage='The amount of traffic variant receives.)')]
        [int]
        $trafficPercentile,
        [parameter(mandatory=$False,HelpMessage='The Environment, models and assets needed for inferencing.)')]
        [CreateServiceRequestEnvironmentImageRequest]
        $environmentImageRequest,
        [parameter(mandatory=$False,HelpMessage='The type of the variant.)')]
        [string]
        [ValidateSet('Control', 'Treatment')]
        $type,
        [parameter(mandatory=$False,HelpMessage='Whether or not AAD authentication is enabled.)')]
        [bool]
        $aadAuthEnabled,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure location/region.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Kubernetes namespace for the service.)')]
        [string]
        $namespace,
        [parameter(mandatory=$False,HelpMessage='The compute environment type for the service.
Expected value is ''AKS''.)'
)]
        [string]
        $computeType,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:AKSService")

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class Sku
{
    [string] $name
    [string] $tier
}
function New-AzureNativeTypeMachinelearningservicesSku
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the sku)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Tier of the sku like Basic or Enterprise)')]
        [string]
        $tier
    )

    process
    {
        return $([Sku]$PSBoundParameters)
    }
}
class VirtualMachineSshCredentials
{
    [string] $publicKeyData
    [string] $privateKeyData
    [string] $username
    [string] $password
}
function New-AzureNativeTypeMachinelearningservicesVirtualMachineSshCredentials
{
    param (
        [parameter(mandatory=$False,HelpMessage='Public key data)')]
        [string]
        $publicKeyData,
        [parameter(mandatory=$False,HelpMessage='Private key data)')]
        [string]
        $privateKeyData,
        [parameter(mandatory=$False,HelpMessage='Username of admin account)')]
        [string]
        $username,
        [parameter(mandatory=$False,HelpMessage='Password of admin account)')]
        [string]
        $password
    )

    process
    {
        return $([VirtualMachineSshCredentials]$PSBoundParameters)
    }
}
class VirtualMachineProperties
{
    [string] $address
    [VirtualMachineSshCredentials] $administratorAccount
    [string] $virtualMachineSize
    [int] $sshPort
}
function New-AzureNativeTypeMachinelearningservicesVirtualMachineProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Public IP address of the virtual machine.)')]
        [string]
        $address,
        [parameter(mandatory=$False,HelpMessage='Admin credentials for virtual machine)')]
        [VirtualMachineSshCredentials]
        $administratorAccount,
        [parameter(mandatory=$False,HelpMessage='Virtual Machine size)')]
        [string]
        $virtualMachineSize,
        [parameter(mandatory=$False,HelpMessage='Port open for ssh connections.)')]
        [int]
        $sshPort
    )

    process
    {
        return $([VirtualMachineProperties]$PSBoundParameters)
    }
}
class VirtualMachine
{
    [string] $description
    [VirtualMachineProperties] $properties
    [string] $computeType
    [string] $resourceId
    [string] $computeLocation
}
function New-AzureNativeTypeMachinelearningservicesVirtualMachine
{
    param (
        [parameter(mandatory=$False,HelpMessage='The description of the Machine Learning compute.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage=')')]
        [VirtualMachineProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The type of compute
Expected value is ''VirtualMachine''.)'
)]
        [string]
        $computeType,
        [parameter(mandatory=$False,HelpMessage='ARM resource id of the underlying compute)')]
        [string]
        $resourceId,
        [parameter(mandatory=$False,HelpMessage='Location for the underlying compute)')]
        [string]
        $computeLocation
    )

    process
    {
        return $([VirtualMachine]$PSBoundParameters)
    }
}
class Identity
{
    [ValidateSet('SystemAssigned', 'SystemAssigned,UserAssigned', 'UserAssigned', 'None')]
    [object] $type
    [ValidateSet('SystemAssigned', 'SystemAssigned,UserAssigned', 'UserAssigned', 'None')]
    [object] $userAssignedIdentities
}
function New-AzureNativeTypeMachinelearningservicesIdentity
{
    param (
        [parameter(mandatory=$False,HelpMessage='The identity type.)')]
        $type,
        [parameter(mandatory=$False,HelpMessage='The user assigned identities associated with the resource.)')]
        [object]
        $userAssignedIdentities
    )

    process
    {
        return $([Identity]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesMachineLearningCompute
{
    [Alias('azure_native_machinelearningservices_machinelearningcompute')]
    param (
        [parameter(mandatory=$False,HelpMessage='The sku of the workspace.)')]
        [Sku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='Contains resource tags defined as key/value pairs.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Compute properties)')]
        [VirtualMachine]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='Name of the Azure Machine Learning compute.)')]
        [string]
        $computeName,
        [parameter(mandatory=$False,HelpMessage='The identity of the resource.)')]
        [Identity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='Specifies the location of the resource.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:MachineLearningCompute")

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class DataVersion
{
    [bool] $isAnonymous
    [string] $description
    [string] $path
    [string] $datastoreId
    [object] $properties
    [ValidateSet('tabular', 'file')]
    [string] $datasetType
    [ValidateSet('tabular', 'file')]
    [object] $tags
}
function New-AzureNativeTypeMachinelearningservicesDataVersion
{
    param (
        [parameter(mandatory=$False,HelpMessage='If the name version are system generated (anonymous registration).)')]
        [bool]
        $isAnonymous,
        [parameter(mandatory=$False,HelpMessage='The asset description text.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='[Required] The path of the file/directory in the datastore.)')]
        [string]
        $path,
        [parameter(mandatory=$False,HelpMessage='ARM resource ID of the datastore where the asset is located.)')]
        [string]
        $datastoreId,
        [parameter(mandatory=$False,HelpMessage='The asset property dictionary.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The Format of dataset.)')]
        [string]
        [ValidateSet('tabular', 'file')]
        $datasetType,
        [parameter(mandatory=$False,HelpMessage='Tag dictionary. Tags can be added, removed, and updated.)')]
        [hashtable]
        $tags
    )

    process
    {
        return $([DataVersion]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesDataVersion
{
    [Alias('azure_native_machinelearningservices_dataversion')]
    param (
        [parameter(mandatory=$False,HelpMessage='Version identifier.)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Container name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='[Required] Additional attributes of the entity.)')]
        [DataVersion]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:DataVersion")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class DataContainer
{
    [string] $description
    [object] $properties
    [object] $tags
}
function New-AzureNativeTypeMachinelearningservicesDataContainer
{
    param (
        [parameter(mandatory=$False,HelpMessage='The asset description text.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='The asset property dictionary.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Tag dictionary. Tags can be added, removed, and updated.)')]
        [hashtable]
        $tags
    )

    process
    {
        return $([DataContainer]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesDataContainer
{
    [Alias('azure_native_machinelearningservices_datacontainer')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Container name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='[Required] Additional attributes of the entity.)')]
        [DataContainer]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:DataContainer")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ACIServiceCreateRequestDataCollection
{
    [bool] $eventHubEnabled
    [bool] $storageEnabled
}
function New-AzureNativeTypeMachinelearningservicesACIServiceCreateRequestDataCollection
{
    param (
        [parameter(mandatory=$False,HelpMessage='Option for enabling/disabling Event Hub.)')]
        [bool]
        $eventHubEnabled,
        [parameter(mandatory=$False,HelpMessage='Option for enabling/disabling storage.)')]
        [bool]
        $storageEnabled
    )

    process
    {
        return $([ACIServiceCreateRequestDataCollection]$PSBoundParameters)
    }
}
class ACIServiceCreateRequestEncryptionProperties
{
    [string] $keyVersion
    [string] $keyName
    [string] $vaultBaseUrl
}
function New-AzureNativeTypeMachinelearningservicesACIServiceCreateRequestEncryptionProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Encryption Key Version)')]
        [string]
        $keyVersion,
        [parameter(mandatory=$False,HelpMessage='Encryption Key name)')]
        [string]
        $keyName,
        [parameter(mandatory=$False,HelpMessage='vault base Url)')]
        [string]
        $vaultBaseUrl
    )

    process
    {
        return $([ACIServiceCreateRequestEncryptionProperties]$PSBoundParameters)
    }
}
class ACIServiceCreateRequestVnetConfiguration
{
    [string] $subnetName
    [string] $vnetName
}
function New-AzureNativeTypeMachinelearningservicesACIServiceCreateRequestVnetConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the virtual network subnet.)')]
        [string]
        $subnetName,
        [parameter(mandatory=$False,HelpMessage='The name of the virtual network.)')]
        [string]
        $vnetName
    )

    process
    {
        return $([ACIServiceCreateRequestVnetConfiguration]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesACIService
{
    [Alias('azure_native_machinelearningservices_aciservice')]
    param (
        [parameter(mandatory=$False,HelpMessage='Details of the data collection options specified.)')]
        [ACIServiceCreateRequestDataCollection]
        $dataCollection,
        [parameter(mandatory=$False,HelpMessage='The Environment, models and assets needed for inferencing.)')]
        [CreateServiceRequestEnvironmentImageRequest]
        $environmentImageRequest,
        [parameter(mandatory=$False,HelpMessage='Whether or not Application Insights is enabled.)')]
        [bool]
        $appInsightsEnabled,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure location/region.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The authentication keys.)')]
        [CreateServiceRequestKeys]
        $keys,
        [parameter(mandatory=$False,HelpMessage='The encryption properties.)')]
        [ACIServiceCreateRequestEncryptionProperties]
        $encryptionProperties,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The service tag dictionary. Tags are mutable.)')]
        [hashtable]
        $kvTags,
        [parameter(mandatory=$False,HelpMessage='The container resource requirements.)')]
        [ContainerResourceRequirements]
        $containerResourceRequirements,
        [parameter(mandatory=$False,HelpMessage='The public SSL key in PEM format for the certificate.)')]
        [string]
        $sslKey,
        [parameter(mandatory=$False,HelpMessage='The public SSL certificate in PEM format to use if SSL is enabled.)')]
        [string]
        $sslCertificate,
        [parameter(mandatory=$False,HelpMessage='The service properties dictionary. Properties are immutable.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The compute environment type for the service.
Expected value is ''ACI''.)'
)]
        [string]
        $computeType,
        [parameter(mandatory=$False,HelpMessage='Whether or not authentication is enabled on the service.)')]
        [bool]
        $authEnabled,
        [parameter(mandatory=$False,HelpMessage='The CName for the service.)')]
        [string]
        $cname,
        [parameter(mandatory=$False,HelpMessage='Name of the Azure Machine Learning service.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The description of the service.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='The virtual network configuration.)')]
        [ACIServiceCreateRequestVnetConfiguration]
        $vnetConfiguration,
        [parameter(mandatory=$False,HelpMessage='The Dns label for the service.)')]
        [string]
        $dnsNameLabel,
        [parameter(mandatory=$False,HelpMessage='Whether or not SSL is enabled.)')]
        [bool]
        $sslEnabled,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:ACIService")

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeMachinelearningservicesWorkspaceConnection
{
    [Alias('azure_native_machinelearningservices_workspaceconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='Friendly name of the workspace connection)')]
        [string]
        $connectionName,
        [parameter(mandatory=$False,HelpMessage='Target of the workspace connection.)')]
        [string]
        $target,
        [parameter(mandatory=$False,HelpMessage='Value details of the workspace connection.)')]
        [string]
        $value,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Authorization type of the workspace connection.)')]
        [string]
        $authType,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='Category of the workspace connection.)')]
        [string]
        $category,
        [parameter(mandatory=$False,HelpMessage='format for the workspace connection value)')]
        [string]
        [ValidateSet('JSON')]
        $valueFormat,
        [parameter(mandatory=$False,HelpMessage='Friendly name of the workspace connection)')]
        [string]
        $name,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:WorkspaceConnection")

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class PrivateLinkServiceConnectionState
{
    [string] $description
    [string] $actionsRequired
    [ValidateSet('Pending', 'Approved', 'Rejected', 'Disconnected', 'Timeout')]
    [string] $status
}
function New-AzureNativeTypeMachinelearningservicesPrivateLinkServiceConnectionState
{
    param (
        [parameter(mandatory=$False,HelpMessage='The reason for approval/rejection of the connection.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='A message indicating if changes on the service provider require any updates on the consumer.)')]
        [string]
        $actionsRequired,
        [parameter(mandatory=$False,HelpMessage='Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.)')]
        [string]
        [ValidateSet('Pending', 'Approved', 'Rejected', 'Disconnected', 'Timeout')]
        $status
    )

    process
    {
        return $([PrivateLinkServiceConnectionState]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesPrivateEndpointConnection
{
    [Alias('azure_native_machinelearningservices_privateendpointconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='The sku of the workspace.)')]
        [Sku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='A collection of information about the state of the connection between service consumer and provider.)')]
        [PrivateLinkServiceConnectionState]
        $privateLinkServiceConnectionState,
        [parameter(mandatory=$False,HelpMessage='Contains resource tags defined as key/value pairs.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The identity of the resource.)')]
        [Identity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='Specifies the location of the resource.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection associated with the workspace)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:PrivateEndpointConnection")

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ResourceIdentity
{
    [ValidateSet('SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned', 'None')]
    [string] $type
    [ValidateSet('SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned', 'None')]
    [object] $userAssignedIdentities
}
class UserAssignedIdentityMeta
{
    [string] $principalId
    [string] $clientId
}
function New-AzureNativeTypeMachinelearningservicesUserAssignedIdentityMeta
{
    param (
        [parameter(mandatory=$False,HelpMessage='The object ID of the service principal object for your managed identity that is used to grant role-based access to an Azure resource.)')]
        [string]
        $principalId,
        [parameter(mandatory=$False,HelpMessage='Aka application ID, a unique identifier generated by Azure AD that is tied to an application and service principal during its initial provisioning.)')]
        [string]
        $clientId
    )

    process
    {
        return $([UserAssignedIdentityMeta]$PSBoundParameters)
    }
}
function New-AzureNativeTypeMachinelearningservicesResourceIdentity
{
    param (
        [parameter(mandatory=$False,HelpMessage='Defines values for a ResourceIdentity''s type.)')]
        [string]
        [ValidateSet('SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned', 'None')]
        $type,
        [parameter(mandatory=$False,HelpMessage='Dictionary of the user assigned identities, key is ARM resource ID of the UAI.)')]
        [UserAssignedIdentityMeta]
        $userAssignedIdentities
    )

    process
    {
        return $([ResourceIdentity]$PSBoundParameters)
    }
}
class OnlineRequestSettings
{
    [int] $maxConcurrentRequestsPerInstance
    [string] $maxQueueWait
    [string] $requestTimeout
}
function New-AzureNativeTypeMachinelearningservicesOnlineRequestSettings
{
    param (
        [parameter(mandatory=$False,HelpMessage='The number of requests allowed to queue at once for this deployment.)')]
        [int]
        $maxConcurrentRequestsPerInstance,
        [parameter(mandatory=$False,HelpMessage='The maximum queue wait time in ISO 8601 format. Supports millisecond precision.)')]
        [string]
        $maxQueueWait,
        [parameter(mandatory=$False,HelpMessage='The request timeout in ISO 8601 format. Supports millisecond precision.)')]
        [string]
        $requestTimeout
    )

    process
    {
        return $([OnlineRequestSettings]$PSBoundParameters)
    }
}
class ProbeSettings
{
    [string] $period
    [string] $timeout
    [string] $initialDelay
    [int] $failureThreshold
    [int] $successThreshold
}
function New-AzureNativeTypeMachinelearningservicesProbeSettings
{
    param (
        [parameter(mandatory=$False,HelpMessage='The length of time between probes in ISO 8601 format.)')]
        [string]
        $period,
        [parameter(mandatory=$False,HelpMessage='The probe timeout in ISO 8601 format.)')]
        [string]
        $timeout,
        [parameter(mandatory=$False,HelpMessage='The delay before the first probe in ISO 8601 format.)')]
        [string]
        $initialDelay,
        [parameter(mandatory=$False,HelpMessage='The number of failures to allow before returning an unhealthy status.)')]
        [int]
        $failureThreshold,
        [parameter(mandatory=$False,HelpMessage='The number of successful probes before returning a healthy status.)')]
        [int]
        $successThreshold
    )

    process
    {
        return $([ProbeSettings]$PSBoundParameters)
    }
}
class CodeConfiguration
{
    [string] $codeId
    [string] $scoringScript
}
function New-AzureNativeTypeMachinelearningservicesCodeConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='ARM resource ID of the code asset.)')]
        [string]
        $codeId,
        [parameter(mandatory=$False,HelpMessage='[Required] The script to execute on startup. eg. "score.py")')]
        [string]
        $scoringScript
    )

    process
    {
        return $([CodeConfiguration]$PSBoundParameters)
    }
}
class ManagedOnlineDeployment
{
    [string] $instanceType
    [OnlineRequestSettings] $requestSettings
    [object] $scaleSettings #todo add class here
    [string] $endpointComputeType
    [object] $model #todo add class here
    [object] $properties
    [ProbeSettings] $readinessProbe
    [string] $description
    [object] $environmentVariables
    [bool] $appInsightsEnabled
    [CodeConfiguration] $codeConfiguration
    [ProbeSettings] $livenessProbe
    [string] $environmentId
}
class ManualScaleSettings
{
    [string] $scaleType
    [int] $minInstances
    [int] $maxInstances
    [int] $instanceCount
}
function New-AzureNativeTypeMachinelearningservicesManualScaleSettings
{
    param (
        [parameter(mandatory=$False,HelpMessage='
Expected value is ''Manual''.)'
)]
        [string]
        $scaleType,
        [parameter(mandatory=$False,HelpMessage='Minimum number of instances for this deployment.)')]
        [int]
        $minInstances,
        [parameter(mandatory=$False,HelpMessage='Maximum number of instances for this deployment.)')]
        [int]
        $maxInstances,
        [parameter(mandatory=$False,HelpMessage='Fixed number of instances for this deployment.)')]
        [int]
        $instanceCount
    )

    process
    {
        return $([ManualScaleSettings]$PSBoundParameters)
    }
}
class OutputPathAssetReference
{
    [string] $referenceType
    [string] $path
    [string] $jobId
}
function New-AzureNativeTypeMachinelearningservicesOutputPathAssetReference
{
    param (
        [parameter(mandatory=$False,HelpMessage='Enum to determine which reference method to use for an asset.
Expected value is ''OutputPath''.)'
)]
        [string]
        $referenceType,
        [parameter(mandatory=$False,HelpMessage='The path of the file/directory in the job output.)')]
        [string]
        $path,
        [parameter(mandatory=$False,HelpMessage='ARM resource ID of the job.)')]
        [string]
        $jobId
    )

    process
    {
        return $([OutputPathAssetReference]$PSBoundParameters)
    }
}
function New-AzureNativeTypeMachinelearningservicesManagedOnlineDeployment
{
    param (
        [parameter(mandatory=$False,HelpMessage='Compute instance type.)')]
        [string]
        $instanceType,
        [parameter(mandatory=$False,HelpMessage='Online deployment scoring requests configuration.)')]
        [OnlineRequestSettings]
        $requestSettings,
        [parameter(mandatory=$False,HelpMessage='Online deployment scaling configuration.)')]
        [ManualScaleSettings]
        $scaleSettings,
        [parameter(mandatory=$False,HelpMessage='Enum to determine endpoint compute type.
Expected value is ''Managed''.)'
)]
        [string]
        $endpointComputeType,
        [parameter(mandatory=$False,HelpMessage='Reference to the model asset for the endpoint deployment.)')]
        [OutputPathAssetReference]
        $model,
        [parameter(mandatory=$False,HelpMessage='Property dictionary. Properties can be added, but not removed or altered.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Deployment container liveness/readiness probe configuration.)')]
        [ProbeSettings]
        $readinessProbe,
        [parameter(mandatory=$False,HelpMessage='Description of the endpoint deployment.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Environment variables configuration for the deployment.)')]
        [hashtable]
        $environmentVariables,
        [parameter(mandatory=$False,HelpMessage='If true, enables Application Insights logging.)')]
        [bool]
        $appInsightsEnabled,
        [parameter(mandatory=$False,HelpMessage='Code configuration for the endpoint deployment.)')]
        [CodeConfiguration]
        $codeConfiguration,
        [parameter(mandatory=$False,HelpMessage='Deployment container liveness/readiness probe configuration.)')]
        [ProbeSettings]
        $livenessProbe,
        [parameter(mandatory=$False,HelpMessage='ARM resource ID of the environment specification for the endpoint deployment.)')]
        [string]
        $environmentId
    )

    process
    {
        return $([ManagedOnlineDeployment]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesOnlineDeployment
{
    [Alias('azure_native_machinelearningservices_onlinedeployment')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Service identity associated with a resource.)')]
        [ResourceIdentity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type.)')]
        [string]
        $kind,
        [parameter(mandatory=$False,HelpMessage='[Required] Additional attributes of the entity.)')]
        [ManagedOnlineDeployment]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Inference endpoint name.)')]
        [string]
        $endpointName,
        [parameter(mandatory=$False,HelpMessage='Inference Endpoint Deployment name.)')]
        [string]
        $deploymentName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:OnlineDeployment")

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class LinkedServiceProps
{
    [string] $linkedServiceResourceId
    [string] $createdTime
    [ValidateSet('Synapse')]
    [object] $linkType
    [ValidateSet('Synapse')]
    [string] $modifiedTime
}
function New-AzureNativeTypeMachinelearningservicesLinkedServiceProps
{
    param (
        [parameter(mandatory=$False,HelpMessage='ResourceId of the link target of the linked service.)')]
        [string]
        $linkedServiceResourceId,
        [parameter(mandatory=$False,HelpMessage='The creation time of the linked service.)')]
        [string]
        $createdTime,
        [parameter(mandatory=$False,HelpMessage='Type of the link target.)')]
        $linkType,
        [parameter(mandatory=$False,HelpMessage='The last modified time of the linked service.)')]
        [string]
        $modifiedTime
    )

    process
    {
        return $([LinkedServiceProps]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesLinkedService
{
    [Alias('azure_native_machinelearningservices_linkedservice')]
    param (
        [parameter(mandatory=$False,HelpMessage='Friendly name of the linked service)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='Friendly name of the linked workspace)')]
        [string]
        $linkName,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Identity for the resource.)')]
        [Identity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='LinkedService specific properties.)')]
        [LinkedServiceProps]
        $properties,
        [parameter(mandatory=$False,HelpMessage='location of the linked service.)')]
        [string]
        $location,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:LinkedService")

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class LinkedWorkspaceProps
{
    [string] $linkedWorkspaceResourceId
    [string] $userAssignedIdentityResourceId
}
function New-AzureNativeTypeMachinelearningservicesLinkedWorkspaceProps
{
    param (
        [parameter(mandatory=$False,HelpMessage='ResourceId of the link target of the linked workspace.)')]
        [string]
        $linkedWorkspaceResourceId,
        [parameter(mandatory=$False,HelpMessage='ResourceId of the user assigned identity for the linked workspace.)')]
        [string]
        $userAssignedIdentityResourceId
    )

    process
    {
        return $([LinkedWorkspaceProps]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesLinkedWorkspace
{
    [Alias('azure_native_machinelearningservices_linkedworkspace')]
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Friendly name of the linked workspace)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Friendly name of the linked workspace)')]
        [string]
        $linkName,
        [parameter(mandatory=$False,HelpMessage='LinkedWorkspace specific properties.)')]
        [LinkedWorkspaceProps]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:LinkedWorkspace")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ModelVersion
{
    [object] $flavors
    [bool] $isAnonymous
    [string] $description
    [string] $path
    [string] $datastoreId
    [object] $properties
    [object] $tags
}
class FlavorData
{
    [object] $data
}
function New-AzureNativeTypeMachinelearningservicesFlavorData
{
    param (
        [parameter(mandatory=$False,HelpMessage='Model flavor-specific data.)')]
        [hashtable]
        $data
    )

    process
    {
        return $([FlavorData]$PSBoundParameters)
    }
}
function New-AzureNativeTypeMachinelearningservicesModelVersion
{
    param (
        [parameter(mandatory=$False,HelpMessage='Mapping of model flavors to their properties.)')]
        [FlavorData]
        $flavors,
        [parameter(mandatory=$False,HelpMessage='If the name version are system generated (anonymous registration).)')]
        [bool]
        $isAnonymous,
        [parameter(mandatory=$False,HelpMessage='The asset description text.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='[Required] The path of the file/directory in the datastore.)')]
        [string]
        $path,
        [parameter(mandatory=$False,HelpMessage='ARM resource ID of the datastore where the asset is located.)')]
        [string]
        $datastoreId,
        [parameter(mandatory=$False,HelpMessage='The asset property dictionary.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Tag dictionary. Tags can be added, removed, and updated.)')]
        [hashtable]
        $tags
    )

    process
    {
        return $([ModelVersion]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesModelVersion
{
    [Alias('azure_native_machinelearningservices_modelversion')]
    param (
        [parameter(mandatory=$False,HelpMessage='Version identifier.)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Container name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='[Required] Additional attributes of the entity.)')]
        [ModelVersion]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:ModelVersion")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class CodeVersion
{
    [bool] $isAnonymous
    [string] $description
    [string] $path
    [string] $datastoreId
    [object] $properties
    [object] $tags
}
function New-AzureNativeTypeMachinelearningservicesCodeVersion
{
    param (
        [parameter(mandatory=$False,HelpMessage='If the name version are system generated (anonymous registration).)')]
        [bool]
        $isAnonymous,
        [parameter(mandatory=$False,HelpMessage='The asset description text.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='[Required] The path of the file/directory in the datastore.)')]
        [string]
        $path,
        [parameter(mandatory=$False,HelpMessage='ARM resource ID of the datastore where the asset is located.)')]
        [string]
        $datastoreId,
        [parameter(mandatory=$False,HelpMessage='The asset property dictionary.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Tag dictionary. Tags can be added, removed, and updated.)')]
        [hashtable]
        $tags
    )

    process
    {
        return $([CodeVersion]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesCodeVersion
{
    [Alias('azure_native_machinelearningservices_codeversion')]
    param (
        [parameter(mandatory=$False,HelpMessage='Version identifier.)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Container name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='[Required] Additional attributes of the entity.)')]
        [CodeVersion]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:CodeVersion")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class DatasetCreateRequestRegistration
{
    [string] $description
    [string] $name
    [object] $tags
}
function New-AzureNativeTypeMachinelearningservicesDatasetCreateRequestRegistration
{
    param (
        [parameter(mandatory=$False,HelpMessage='The description for the dataset.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='The name of the dataset.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Tags associated with the dataset.)')]
        [hashtable]
        $tags
    )

    process
    {
        return $([DatasetCreateRequestRegistration]$PSBoundParameters)
    }
}
class DatasetCreateRequestTimeSeries
{
    [string] $coarseGrainTimestamp
    [string] $fineGrainTimestamp
}
function New-AzureNativeTypeMachinelearningservicesDatasetCreateRequestTimeSeries
{
    param (
        [parameter(mandatory=$False,HelpMessage='Column name to be used as CoarseGrainTimestamp. Can only be used if ''fineGrainTimestamp'' is specified and cannot be same as ''fineGrainTimestamp''.)')]
        [string]
        $coarseGrainTimestamp,
        [parameter(mandatory=$False,HelpMessage=' Column name to be used as FineGrainTimestamp)')]
        [string]
        $fineGrainTimestamp
    )

    process
    {
        return $([DatasetCreateRequestTimeSeries]$PSBoundParameters)
    }
}
class DatasetCreateRequestDataPath
{
    [ValidateSet('delimited_files', 'json_lines_files', 'parquet_files')]
    [string] $datastoreName
    [ValidateSet('delimited_files', 'json_lines_files', 'parquet_files')]
    [string] $relativePath
}
function New-AzureNativeTypeMachinelearningservicesDatasetCreateRequestDataPath
{
    param (
        [parameter(mandatory=$False,HelpMessage='The datastore name.)')]
        [string]
        $datastoreName,
        [parameter(mandatory=$False,HelpMessage='Path within the datastore.)')]
        [string]
        $relativePath
    )

    process
    {
        return $([DatasetCreateRequestDataPath]$PSBoundParameters)
    }
}
class DatasetCreateRequestPath
{
    [ValidateSet('delimited_files', 'json_lines_files', 'parquet_files')]
    [string] $httpUrl
    [ValidateSet('delimited_files', 'json_lines_files', 'parquet_files')]
    [DatasetCreateRequestDataPath] $dataPath
}
function New-AzureNativeTypeMachinelearningservicesDatasetCreateRequestPath
{
    param (
        [parameter(mandatory=$False,HelpMessage='The Http URL.)')]
        [string]
        $httpUrl,
        [parameter(mandatory=$False,HelpMessage=')')]
        [DatasetCreateRequestDataPath]
        $dataPath
    )

    process
    {
        return $([DatasetCreateRequestPath]$PSBoundParameters)
    }
}
class DatasetCreateRequestQuery
{
    [ValidateSet('delimited_files', 'json_lines_files', 'parquet_files')]
    [string] $datastoreName
    [ValidateSet('delimited_files', 'json_lines_files', 'parquet_files')]
    [string] $query
}
function New-AzureNativeTypeMachinelearningservicesDatasetCreateRequestQuery
{
    param (
        [parameter(mandatory=$False,HelpMessage='The SQL/PostgreSQL/MySQL datastore name.)')]
        [string]
        $datastoreName,
        [parameter(mandatory=$False,HelpMessage='SQL Quey.)')]
        [string]
        $query
    )

    process
    {
        return $([DatasetCreateRequestQuery]$PSBoundParameters)
    }
}
class DatasetCreateRequestParameters
{
    [string] $separator
    [ValidateSet('delimited_files', 'json_lines_files', 'parquet_files')]
    [string] $sourceType
    [ValidateSet('delimited_files', 'json_lines_files', 'parquet_files')]
    [DatasetCreateRequestPath] $path
    [ValidateSet('delimited_files', 'json_lines_files', 'parquet_files')]
    [string] $partitionFormat
    [ValidateSet('delimited_files', 'json_lines_files', 'parquet_files')]
    [bool] $includePath
    [ValidateSet('delimited_files', 'json_lines_files', 'parquet_files')]
    [DatasetCreateRequestQuery] $query
    [ValidateSet('all_files_have_same_headers', 'only_first_file_has_headers', 'no_headers', 'combine_all_files_headers')]
    [string] $header
}
function New-AzureNativeTypeMachinelearningservicesDatasetCreateRequestParameters
{
    param (
        [parameter(mandatory=$False,HelpMessage='The separator used to split columns for ''delimited_files'' sourceType.)')]
        [string]
        $separator,
        [parameter(mandatory=$False,HelpMessage='Data source type.)')]
        [string]
        [ValidateSet('delimited_files', 'json_lines_files', 'parquet_files')]
        $sourceType,
        [parameter(mandatory=$False,HelpMessage=')')]
        [DatasetCreateRequestPath]
        $path,
        [parameter(mandatory=$False,HelpMessage='The partition information of each path will be extracted into columns based on the specified format. Format part ''{column_name}'' creates string column, and ''{column_name:yyyy/MM/dd/HH/mm/ss}'' creates datetime column, where ''yyyy'', ''MM'', ''dd'', ''HH'', ''mm'' and ''ss'' are used to extract year, month, day, hour, minute and second for the datetime type. The format should start from the position of first partition key until the end of file path. For example, given the path ''../USA/2019/01/01/data.parquet'' where the partition is by country/region and time, partition_format=''/{CountryOrRegion}/{PartitionDate:yyyy/MM/dd}/data.csv'' creates a string column ''CountryOrRegion'' with the value ''USA'' and a datetime column ''PartitionDate'' with the value ''2019-01-01)')]
        [string]
        $partitionFormat,
        [parameter(mandatory=$False,HelpMessage='Boolean to keep path information as column in the dataset. Defaults to False. This is useful when reading multiple files, and want to know which file a particular record originated from, or to keep useful information in file path.)')]
        [bool]
        $includePath,
        [parameter(mandatory=$False,HelpMessage=')')]
        [DatasetCreateRequestQuery]
        $query,
        [parameter(mandatory=$False,HelpMessage='Header type.)')]
        [string]
        [ValidateSet('all_files_have_same_headers', 'only_first_file_has_headers', 'no_headers', 'combine_all_files_headers')]
        $header
    )

    process
    {
        return $([DatasetCreateRequestParameters]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesMachineLearningDataset
{
    [Alias('azure_native_machinelearningservices_machinelearningdataset')]
    param (
        [parameter(mandatory=$False,HelpMessage='The Dataset name.)')]
        [string]
        $datasetName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage=')')]
        [DatasetCreateRequestRegistration]
        $registration,
        [parameter(mandatory=$False,HelpMessage='Skip validation that ensures data can be loaded from the dataset before registration.)')]
        [bool]
        $skipValidation,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Specifies dataset type.)')]
        [string]
        [ValidateSet('tabular', 'file')]
        $datasetType,
        [parameter(mandatory=$False,HelpMessage=')')]
        [DatasetCreateRequestTimeSeries]
        $timeSeries,
        [parameter(mandatory=$False,HelpMessage=')')]
        [DatasetCreateRequestParameters]
        $parameters,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:MachineLearningDataset")

        $resource.properties["datasetType"] = $datasetType
        $resource.properties["parameters"] = $parameters
        $resource.properties["registration"] = $registration
        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["workspaceName"] = $workspaceName

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class EndpointAuthKeys
{
    [ValidateSet('AMLToken', 'Key', 'AADToken')]
    [string] $primaryKey
    [ValidateSet('AMLToken', 'Key', 'AADToken')]
    [string] $secondaryKey
}
function New-AzureNativeTypeMachinelearningservicesEndpointAuthKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='The primary key.)')]
        [string]
        $primaryKey,
        [parameter(mandatory=$False,HelpMessage='The secondary key.)')]
        [string]
        $secondaryKey
    )

    process
    {
        return $([EndpointAuthKeys]$PSBoundParameters)
    }
}
class OnlineEndpoint
{
    [ValidateSet('AMLToken', 'Key', 'AADToken')]
    [string] $authMode
    [ValidateSet('AMLToken', 'Key', 'AADToken')]
    [object] $traffic
    [ValidateSet('AMLToken', 'Key', 'AADToken')]
    [string] $description
    [ValidateSet('AMLToken', 'Key', 'AADToken')]
    [EndpointAuthKeys] $keys
    [ValidateSet('AMLToken', 'Key', 'AADToken')]
    [object] $properties
    [ValidateSet('AMLToken', 'Key', 'AADToken')]
    [string] $target
}
function New-AzureNativeTypeMachinelearningservicesOnlineEndpoint
{
    param (
        [parameter(mandatory=$False,HelpMessage='[Required] Inference endpoint authentication mode type)')]
        [string]
        [ValidateSet('AMLToken', 'Key', 'AADToken')]
        $authMode,
        [parameter(mandatory=$False,HelpMessage='Traffic rules on how the traffic will be routed across deployments.)')]
        [object]
        $traffic,
        [parameter(mandatory=$False,HelpMessage='Description of the inference endpoint.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='EndpointAuthKeys to set initially on an Endpoint.
This property will always be returned as null. AuthKey values must be retrieved using the ListKeys API.)'
)]
        [EndpointAuthKeys]
        $keys,
        [parameter(mandatory=$False,HelpMessage='Property dictionary. Properties can be added, but not removed or altered.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='ARM resource ID of the compute if it exists.
optional)'
)]
        [string]
        $target
    )

    process
    {
        return $([OnlineEndpoint]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesOnlineEndpoint
{
    [Alias('azure_native_machinelearningservices_onlineendpoint')]
    param (
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='[Required] Additional attributes of the entity.)')]
        [OnlineEndpoint]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Service identity associated with a resource.)')]
        [ResourceIdentity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Online Endpoint name.)')]
        [string]
        $endpointName,
        [parameter(mandatory=$False,HelpMessage='Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type.)')]
        [string]
        $kind,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:OnlineEndpoint")

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class BatchRetrySettings
{
    [string] $timeout
    [int] $maxRetries
}
function New-AzureNativeTypeMachinelearningservicesBatchRetrySettings
{
    param (
        [parameter(mandatory=$False,HelpMessage='Invocation timeout for a mini-batch, in ISO 8601 format.)')]
        [string]
        $timeout,
        [parameter(mandatory=$False,HelpMessage='Maximum retry count for a mini-batch)')]
        [int]
        $maxRetries
    )

    process
    {
        return $([BatchRetrySettings]$PSBoundParameters)
    }
}
class BatchOutputConfiguration
{
    [string] $appendRowFileName
    [ValidateSet('SummaryOnly', 'AppendRow')]
    [string] $outputAction
}
function New-AzureNativeTypeMachinelearningservicesBatchOutputConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='Customized output file name for append_row output action.)')]
        [string]
        $appendRowFileName,
        [parameter(mandatory=$False,HelpMessage='Indicates how the output will be organized.)')]
        [string]
        [ValidateSet('SummaryOnly', 'AppendRow')]
        $outputAction
    )

    process
    {
        return $([BatchOutputConfiguration]$PSBoundParameters)
    }
}
class BatchDeployment
{
    [BatchRetrySettings] $retrySettings
    [int] $miniBatchSize
    [BatchOutputConfiguration] $outputConfiguration
    [object] $model #todo add class here
    [object] $properties
    [ComputeConfiguration] $compute
    [string] $description
    [object] $environmentVariables
    [int] $errorThreshold
    [ValidateSet('Info', 'Warning', 'Debug')]
    [string] $loggingLevel
    [ValidateSet('Info', 'Warning', 'Debug')]
    [string[]] $partitionKeys
    [ValidateSet('Info', 'Warning', 'Debug')]
    [CodeConfiguration] $codeConfiguration
    [ValidateSet('Info', 'Warning', 'Debug')]
    [string] $environmentId
}
function New-AzureNativeTypeMachinelearningservicesBatchDeployment
{
    param (
        [parameter(mandatory=$False,HelpMessage='Retry Settings for the batch inference operation.)')]
        [BatchRetrySettings]
        $retrySettings,
        [parameter(mandatory=$False,HelpMessage='Size of the mini-batch passed to each batch invocation.
For FileDataset, this is the number of files per mini-batch.
For TabularDataset, this is the size of the records in bytes, per mini-batch.)'
)]
        [int]
        $miniBatchSize,
        [parameter(mandatory=$False,HelpMessage='Output configuration for the batch inference operation.)')]
        [BatchOutputConfiguration]
        $outputConfiguration,
        [parameter(mandatory=$False,HelpMessage='Reference to the model asset for the endpoint deployment.)')]
        [OutputPathAssetReference]
        $model,
        [parameter(mandatory=$False,HelpMessage='Property dictionary. Properties can be added, but not removed or altered.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Configuration for compute binding.)')]
        [ComputeConfiguration]
        $compute,
        [parameter(mandatory=$False,HelpMessage='Description of the endpoint deployment.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Environment variables configuration for the deployment.)')]
        [hashtable]
        $environmentVariables,
        [parameter(mandatory=$False,HelpMessage='Error threshold, if the error count for the entire input goes above this value,
the batch inference will be aborted. Range is [-1, int.MaxValue].
For FileDataset, this value is the count of file failures.
For TabularDataset, this value is the count of record failures.
If set to -1 (the lower bound), all failures during batch inference will be ignored.)'
)]
        [int]
        $errorThreshold,
        [parameter(mandatory=$False,HelpMessage='Logging level for batch inference operation.)')]
        [string]
        [ValidateSet('Info', 'Warning', 'Debug')]
        $loggingLevel,
        [parameter(mandatory=$False,HelpMessage='Partition keys list used for Named partitioning.)')]
        [string[]]
        $partitionKeys,
        [parameter(mandatory=$False,HelpMessage='Code configuration for the endpoint deployment.)')]
        [CodeConfiguration]
        $codeConfiguration,
        [parameter(mandatory=$False,HelpMessage='ARM resource ID of the environment specification for the endpoint deployment.)')]
        [string]
        $environmentId
    )

    process
    {
        return $([BatchDeployment]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesBatchDeployment
{
    [Alias('azure_native_machinelearningservices_batchdeployment')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Service identity associated with a resource.)')]
        [ResourceIdentity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type.)')]
        [string]
        $kind,
        [parameter(mandatory=$False,HelpMessage='[Required] Additional attributes of the entity.)')]
        [BatchDeployment]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Inference endpoint name)')]
        [string]
        $endpointName,
        [parameter(mandatory=$False,HelpMessage='The identifier for the Batch inference deployment.)')]
        [string]
        $deploymentName,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:BatchDeployment")

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeMachinelearningservicesEndpointVariant
{
    [Alias('azure_native_machinelearningservices_endpointvariant')]
    param (
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The amount of traffic variant receives.)')]
        [int]
        $trafficPercentile,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure location/region.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Name of the Azure Machine Learning service.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The service properties dictionary. Properties are immutable.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The description of the service.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='The compute environment type for the service.
Expected value is ''Custom''.)'
)]
        [string]
        $computeType,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The service tag dictionary. Tags are mutable.)')]
        [hashtable]
        $kvTags,
        [parameter(mandatory=$False,HelpMessage='The authentication keys.)')]
        [CreateServiceRequestKeys]
        $keys,
        [parameter(mandatory=$False,HelpMessage='The type of the variant.)')]
        [string]
        [ValidateSet('Control', 'Treatment')]
        $type,
        [parameter(mandatory=$False,HelpMessage='Is this the default variant.)')]
        [bool]
        $isDefault,
        [parameter(mandatory=$False,HelpMessage='The Environment, models and assets needed for inferencing.)')]
        [CreateServiceRequestEnvironmentImageRequest]
        $environmentImageRequest,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:EndpointVariant")

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

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

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

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class EnvironmentContainer
{
    [string] $description
    [object] $properties
    [object] $tags
}
function New-AzureNativeTypeMachinelearningservicesEnvironmentContainer
{
    param (
        [parameter(mandatory=$False,HelpMessage='The asset description text.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='The asset property dictionary.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Tag dictionary. Tags can be added, removed, and updated.)')]
        [hashtable]
        $tags
    )

    process
    {
        return $([EnvironmentContainer]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesEnvironmentContainer
{
    [Alias('azure_native_machinelearningservices_environmentcontainer')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Container name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='[Required] Additional attributes of the entity.)')]
        [EnvironmentContainer]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:EnvironmentContainer")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ComputeBinding
{
    [string] $computeId
    [int] $nodeCount
}
function New-AzureNativeTypeMachinelearningservicesComputeBinding
{
    param (
        [parameter(mandatory=$False,HelpMessage='ID of the compute resource.)')]
        [string]
        $computeId,
        [parameter(mandatory=$False,HelpMessage='Number of nodes.)')]
        [int]
        $nodeCount
    )

    process
    {
        return $([ComputeBinding]$PSBoundParameters)
    }
}
class MLAssistConfiguration
{
    [int] $prelabelAccuracyThreshold
    [ComputeBinding] $inferencingComputeBinding
    [bool] $mlAssistEnabled
    [string] $modelNamePrefix
    [ComputeBinding] $trainingComputeBinding
}
function New-AzureNativeTypeMachinelearningservicesMLAssistConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='Prelabel accuracy threshold used in MLAssist feature.)')]
        [int]
        $prelabelAccuracyThreshold,
        [parameter(mandatory=$False,HelpMessage='The compute designated for inferencing.)')]
        [ComputeBinding]
        $inferencingComputeBinding,
        [parameter(mandatory=$False,HelpMessage='Indicates whether MLAssist feature is enabled.)')]
        [bool]
        $mlAssistEnabled,
        [parameter(mandatory=$False,HelpMessage='Name prefix to use for machine learning model. For each iteration modelName will be appended with iteration e.g.{modelName}_{i}.)')]
        [string]
        $modelNamePrefix,
        [parameter(mandatory=$False,HelpMessage='The compute designated for training.)')]
        [ComputeBinding]
        $trainingComputeBinding
    )

    process
    {
        return $([MLAssistConfiguration]$PSBoundParameters)
    }
}
class LabelingJobImageProperties
{
    [ValidateSet('Classification', 'BoundingBox', 'InstanceSegmentation')]
    [string] $annotationType
    [ValidateSet('Image', 'Text')]
    [string] $mediaType
}
function New-AzureNativeTypeMachinelearningservicesLabelingJobImageProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Annotation type of image labeling tasks.)')]
        [string]
        [ValidateSet('Classification', 'BoundingBox', 'InstanceSegmentation')]
        $annotationType,
        [parameter(mandatory=$False,HelpMessage='Media type of data asset.)')]
        [string]
        [ValidateSet('Image', 'Text')]
        $mediaType
    )

    process
    {
        return $([LabelingJobImageProperties]$PSBoundParameters)
    }
}
class LabelingDatasetConfiguration
{
    [string] $assetName
    [string] $datasetVersion
    [bool] $enableIncrementalDatasetRefresh
}
function New-AzureNativeTypeMachinelearningservicesLabelingDatasetConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the data asset to perform labeling.)')]
        [string]
        $assetName,
        [parameter(mandatory=$False,HelpMessage='AML dataset version.)')]
        [string]
        $datasetVersion,
        [parameter(mandatory=$False,HelpMessage='Indicates whether to enable incremental dataset refresh.)')]
        [bool]
        $enableIncrementalDatasetRefresh
    )

    process
    {
        return $([LabelingDatasetConfiguration]$PSBoundParameters)
    }
}
class LabelingJobInstructions
{
    [string] $uri
}
function New-AzureNativeTypeMachinelearningservicesLabelingJobInstructions
{
    param (
        [parameter(mandatory=$False,HelpMessage='The link to a page with detailed labeling instructions for labelers.)')]
        [string]
        $uri
    )

    process
    {
        return $([LabelingJobInstructions]$PSBoundParameters)
    }
}
class LabelingJobProperties
{
    [MLAssistConfiguration] $mlAssistConfiguration
    [object] $properties
    [object] $labelCategories
    [LabelingJobImageProperties] $labelingJobMediaProperties
    [LabelingDatasetConfiguration] $datasetConfiguration
    [LabelingJobInstructions] $jobInstructions
    [object] $tags
}
class LabelCategory
{
    [object] $classes
    [bool] $allowMultiSelect
    [string] $displayName
}
class LabelClass
{
    [object] $subclasses
    [string] $displayName
}
function New-AzureNativeTypeMachinelearningservicesLabelClass
{
    param (
        [parameter(mandatory=$False,HelpMessage='Dictionary of subclasses of the label class.)')]
        [LabelClass]
        $subclasses,
        [parameter(mandatory=$False,HelpMessage='Display name of the label class.)')]
        [string]
        $displayName
    )

    process
    {
        return $([LabelClass]$PSBoundParameters)
    }
}
function New-AzureNativeTypeMachinelearningservicesLabelCategory
{
    param (
        [parameter(mandatory=$False,HelpMessage='Dictionary of label classes in this category.)')]
        [LabelClass]
        $classes,
        [parameter(mandatory=$False,HelpMessage='Indicates whether it is allowed to select multiple classes in this category.)')]
        [bool]
        $allowMultiSelect,
        [parameter(mandatory=$False,HelpMessage='Display name of the label category.)')]
        [string]
        $displayName
    )

    process
    {
        return $([LabelCategory]$PSBoundParameters)
    }
}
function New-AzureNativeTypeMachinelearningservicesLabelingJobProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Machine learning assisted configuration for the job.)')]
        [MLAssistConfiguration]
        $mlAssistConfiguration,
        [parameter(mandatory=$False,HelpMessage='The job property dictionary. Properties can be added, but not removed or altered.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Label categories of the job.)')]
        [LabelCategory]
        $labelCategories,
        [parameter(mandatory=$False,HelpMessage='Media specific properties in a labeling job.)')]
        [LabelingJobImageProperties]
        $labelingJobMediaProperties,
        [parameter(mandatory=$False,HelpMessage='Dataset configuration for the job.)')]
        [LabelingDatasetConfiguration]
        $datasetConfiguration,
        [parameter(mandatory=$False,HelpMessage='Instructions for the job.)')]
        [LabelingJobInstructions]
        $jobInstructions,
        [parameter(mandatory=$False,HelpMessage='The job tag dictionary. Tags can be added, removed, and updated.)')]
        [hashtable]
        $tags
    )

    process
    {
        return $([LabelingJobProperties]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesLabelingJob
{
    [Alias('azure_native_machinelearningservices_labelingjob')]
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Definition of a labeling job.)')]
        [LabelingJobProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='Name and identifier for LabelingJob.)')]
        [string]
        $labelingJobId,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:LabelingJob")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ComponentContainer
{
    [string] $description
    [bool] $isArchived
    [object] $properties
    [object] $tags
}
function New-AzureNativeTypeMachinelearningservicesComponentContainer
{
    param (
        [parameter(mandatory=$False,HelpMessage='The asset description text.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Is the asset archived?)')]
        [bool]
        $isArchived,
        [parameter(mandatory=$False,HelpMessage='The asset property dictionary.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Tag dictionary. Tags can be added, removed, and updated.)')]
        [hashtable]
        $tags
    )

    process
    {
        return $([ComponentContainer]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesComponentContainer
{
    [Alias('azure_native_machinelearningservices_componentcontainer')]
    param (
        [parameter(mandatory=$False,HelpMessage='[Required] Additional attributes of the entity.)')]
        [ComponentContainer]
        $componentContainerDetails,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Container name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:ComponentContainer")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class CosmosDbSettings
{
    [int] $collectionsThroughput
}
function New-AzureNativeTypeMachinelearningservicesCosmosDbSettings
{
    param (
        [parameter(mandatory=$False,HelpMessage='The throughput of the collections in cosmosdb database)')]
        [int]
        $collectionsThroughput
    )

    process
    {
        return $([CosmosDbSettings]$PSBoundParameters)
    }
}
class ServiceManagedResourcesSettings
{
    [CosmosDbSettings] $cosmosDb
}
function New-AzureNativeTypeMachinelearningservicesServiceManagedResourcesSettings
{
    param (
        [parameter(mandatory=$False,HelpMessage='The settings for the service managed cosmosdb account.)')]
        [CosmosDbSettings]
        $cosmosDb
    )

    process
    {
        return $([ServiceManagedResourcesSettings]$PSBoundParameters)
    }
}
class KeyVaultProperties
{
    [ValidateSet('Enabled', 'Disabled')]
    [string] $keyVaultArmId
    [ValidateSet('Enabled', 'Disabled')]
    [string] $identityClientId
    [ValidateSet('Enabled', 'Disabled')]
    [string] $keyIdentifier
}
function New-AzureNativeTypeMachinelearningservicesKeyVaultProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The ArmId of the keyVault where the customer owned encryption key is present.)')]
        [string]
        $keyVaultArmId,
        [parameter(mandatory=$False,HelpMessage='For future use - The client id of the identity which will be used to access key vault.)')]
        [string]
        $identityClientId,
        [parameter(mandatory=$False,HelpMessage='Key vault uri to access the encryption key.)')]
        [string]
        $keyIdentifier
    )

    process
    {
        return $([KeyVaultProperties]$PSBoundParameters)
    }
}
class IdentityForCmk
{
    [ValidateSet('Enabled', 'Disabled')]
    [string] $userAssignedIdentity
}
function New-AzureNativeTypeMachinelearningservicesIdentityForCmk
{
    param (
        [parameter(mandatory=$False,HelpMessage='The ArmId of the user assigned identity that will be used to access the customer managed key vault)')]
        [string]
        $userAssignedIdentity
    )

    process
    {
        return $([IdentityForCmk]$PSBoundParameters)
    }
}
class EncryptionProperty
{
    [ValidateSet('Enabled', 'Disabled')]
    [string] $status
    [ValidateSet('Enabled', 'Disabled')]
    [KeyVaultProperties] $keyVaultProperties
    [ValidateSet('Enabled', 'Disabled')]
    [IdentityForCmk] $identity
}
function New-AzureNativeTypeMachinelearningservicesEncryptionProperty
{
    param (
        [parameter(mandatory=$False,HelpMessage='Indicates whether or not the encryption is enabled for the workspace.)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $status,
        [parameter(mandatory=$False,HelpMessage='Customer Key vault properties.)')]
        [KeyVaultProperties]
        $keyVaultProperties,
        [parameter(mandatory=$False,HelpMessage='The identity that will be used to access the key vault for encryption at rest.)')]
        [IdentityForCmk]
        $identity
    )

    process
    {
        return $([EncryptionProperty]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesWorkspace
{
    [Alias('azure_native_machinelearningservices_workspace')]
    param (
        [parameter(mandatory=$False,HelpMessage='Contains resource tags defined as key/value pairs.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='ARM id of the storage account associated with this workspace. This cannot be changed once the workspace has been created)')]
        [string]
        $storageAccount,
        [parameter(mandatory=$False,HelpMessage='The friendly name for this workspace. This name in mutable)')]
        [string]
        $friendlyName,
        [parameter(mandatory=$False,HelpMessage='ARM id of the container registry associated with this workspace. This cannot be changed once the workspace has been created)')]
        [string]
        $containerRegistry,
        [parameter(mandatory=$False,HelpMessage='Specifies the location of the resource.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created)')]
        [string]
        $keyVault,
        [parameter(mandatory=$False,HelpMessage='ARM id of the application insights associated with this workspace. This cannot be changed once the workspace has been created)')]
        [string]
        $applicationInsights,
        [parameter(mandatory=$False,HelpMessage='The flag to indicate whether to allow public access when behind VNet.)')]
        [bool]
        $allowPublicAccessWhenBehindVnet,
        [parameter(mandatory=$False,HelpMessage='The identity of the resource.)')]
        [Identity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='The user assigned identity resource id that represents the workspace identity.)')]
        [string]
        $primaryUserAssignedIdentity,
        [parameter(mandatory=$False,HelpMessage='The flag to signal HBI data in the workspace and reduce diagnostic data collected by the service)')]
        [bool]
        $hbiWorkspace,
        [parameter(mandatory=$False,HelpMessage='The sku of the workspace.)')]
        [Sku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='The list of shared private link resources in this workspace.)')]
        $sharedPrivateLinkResources,
        [parameter(mandatory=$False,HelpMessage='The service managed resource settings.)')]
        [ServiceManagedResourcesSettings]
        $serviceManagedResourcesSettings,
        [parameter(mandatory=$False,HelpMessage='The compute name for image build)')]
        [string]
        $imageBuildCompute,
        [parameter(mandatory=$False,HelpMessage='The description of this workspace.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='The encryption settings of Azure ML workspace.)')]
        [EncryptionProperty]
        $encryption,
        [parameter(mandatory=$False,HelpMessage='Url for the discovery service to identify regional endpoints for machine learning experimentation services)')]
        [string]
        $discoveryUrl,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:Workspace")

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class BatchEndpoint
{
    [string] $description
    [ValidateSet('AMLToken', 'Key', 'AADToken')]
    [string] $authMode
    [ValidateSet('AMLToken', 'Key', 'AADToken')]
    [object] $properties
    [ValidateSet('AMLToken', 'Key', 'AADToken')]
    [object] $traffic
    [ValidateSet('AMLToken', 'Key', 'AADToken')]
    [EndpointAuthKeys] $keys
}
function New-AzureNativeTypeMachinelearningservicesBatchEndpoint
{
    param (
        [parameter(mandatory=$False,HelpMessage='Description of the inference endpoint.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='[Required] Inference endpoint authentication mode type)')]
        [string]
        [ValidateSet('AMLToken', 'Key', 'AADToken')]
        $authMode,
        [parameter(mandatory=$False,HelpMessage='Property dictionary. Properties can be added, but not removed or altered.)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Traffic rules on how the traffic will be routed across deployments.)')]
        [object]
        $traffic,
        [parameter(mandatory=$False,HelpMessage='EndpointAuthKeys to set initially on an Endpoint.
This property will always be returned as null. AuthKey values must be retrieved using the ListKeys API.)'
)]
        [EndpointAuthKeys]
        $keys
    )

    process
    {
        return $([BatchEndpoint]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningservicesBatchEndpoint
{
    [Alias('azure_native_machinelearningservices_batchendpoint')]
    param (
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='[Required] Additional attributes of the entity.)')]
        [BatchEndpoint]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Service identity associated with a resource.)')]
        [ResourceIdentity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Name for the Batch inference endpoint.)')]
        [string]
        $endpointName,
        [parameter(mandatory=$False,HelpMessage='Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type.)')]
        [string]
        $kind,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:BatchEndpoint")

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeMachinelearningservicesMachineLearningDatastore
{
    [Alias('azure_native_machinelearningservices_machinelearningdatastore')]
    param (
        [parameter(mandatory=$False,HelpMessage='The port number.)')]
        [string]
        $port,
        [parameter(mandatory=$False,HelpMessage='The description of the datastore.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Specifies datastore type.)')]
        [string]
        [ValidateSet('blob', 'adls', 'adls-gen2', 'dbfs', 'file', 'mysqldb', 'sqldb', 'psqldb')]
        $dataStoreType,
        [parameter(mandatory=$False,HelpMessage='The username of the database user.)')]
        [string]
        $userName,
        [parameter(mandatory=$False,HelpMessage='The SQL/MySQL/PostgreSQL server name)')]
        [string]
        $serverName,
        [parameter(mandatory=$False,HelpMessage='The name of the azure blob container.)')]
        [string]
        $containerName,
        [parameter(mandatory=$False,HelpMessage='The name of the datastore.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The protocol to be used)')]
        [string]
        $protocol,
        [parameter(mandatory=$False,HelpMessage='Account Key of storage account.)')]
        [string]
        $accountKey,
        [parameter(mandatory=$False,HelpMessage='The name of the file share.)')]
        [string]
        $shareName,
        [parameter(mandatory=$False,HelpMessage='Include datastore secret in response.)')]
        [bool]
        $includeSecret,
        [parameter(mandatory=$False,HelpMessage='The subscription ID of the storage account. Defaults to selected subscription)')]
        [string]
        $storageAccountSubscriptionId,
        [parameter(mandatory=$False,HelpMessage='This sets the ssl value of the server. Defaults to true if not set.)')]
        [bool]
        $enforceSSL,
        [parameter(mandatory=$False,HelpMessage='Name of Azure Machine Learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The resource group the ADLS store belongs to. Defaults to selected resource group.)')]
        [string]
        $adlsResourceGroup,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which workspace is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The endpoint of the server.)')]
        [string]
        $endpoint,
        [parameter(mandatory=$False,HelpMessage='The file system name of the ADLS Gen2.)')]
        [string]
        $fileSystem,
        [parameter(mandatory=$False,HelpMessage='The ID of the subscription the ADLS store belongs to. Defaults to selected subscription.)')]
        [string]
        $adlsSubscriptionId,
        [parameter(mandatory=$False,HelpMessage='The user ID.)')]
        [string]
        $userId,
        [parameter(mandatory=$False,HelpMessage='The Datastore name.)')]
        [string]
        $datastoreName,
        [parameter(mandatory=$False,HelpMessage='Determines what operations will be performed.)')]
        [string]
        $resourceUrl,
        [parameter(mandatory=$False,HelpMessage='Authority url used to authenticate the user.)')]
        [string]
        $authorityUrl,
        [parameter(mandatory=$False,HelpMessage='Sas Token of storage account.)')]
        [string]
        $sasToken,
        [parameter(mandatory=$False,HelpMessage='The service principal Tenant ID.)')]
        [string]
        $tenantId,
        [parameter(mandatory=$False,HelpMessage='If set to true, datastore support data access authenticated with Workspace MSI.)')]
        [bool]
        $workspaceSystemAssignedIdentity,
        [parameter(mandatory=$False,HelpMessage='The name of the storage account.)')]
        [string]
        $accountName,
        [parameter(mandatory=$False,HelpMessage='The password.)')]
        [string]
        $password,
        [parameter(mandatory=$False,HelpMessage='Skip validation that ensures data can be loaded from the dataset before registration.)')]
        [bool]
        $skipValidation,
        [parameter(mandatory=$False,HelpMessage='The ADLS store name.)')]
        [string]
        $storeName,
        [parameter(mandatory=$False,HelpMessage='The resource group of the storage account. Defaults to selected resource group)')]
        [string]
        $storageAccountResourceGroup,
        [parameter(mandatory=$False,HelpMessage='The service principal''s client/application ID.)')]
        [string]
        $clientId,
        [parameter(mandatory=$False,HelpMessage='The service principal''s secret.)')]
        [string]
        $clientSecret,
        [parameter(mandatory=$False,HelpMessage='The database name.)')]
        [string]
        $databaseName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:machinelearningservices:MachineLearningDatastore")

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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