pspulumiyaml.azurenative.machinelearning.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionMachinelearningListWorkspaceKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group to which the machine learning workspace belongs.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the machine learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearning:listWorkspaceKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningGetWebService
{
    param (
        [parameter(mandatory=$False,HelpMessage='The region for which encrypted credential parameters are valid.)')]
        [string]
        $region,
        [parameter(mandatory=$False,HelpMessage='The name of the web service.)')]
        [string]
        $webServiceName,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which the web service is located.)')]
        [string]
        $resourceGroupName
    )

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearning:getWebService -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningGetWorkspace
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group to which the machine learning workspace belongs.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the machine learning workspace.)')]
        [string]
        $workspaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearning:getWorkspace -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningGetCommitmentPlan
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource group name.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The Azure ML commitment plan name.)')]
        [string]
        $commitmentPlanName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearning:getCommitmentPlan -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class ServiceInputOutputSpecification
{
    [string] $title
    [object] $properties
    [string] $description
    [string] $type
}
class TableSpecification
{
    [string] $format
    [object] $properties
    [string] $description
    [string] $type
    [string] $title
}
class ColumnSpecification
{
    [object[]] $enum
    [bool] $xMsIsnullable
    [ArgumentCompletions('Boolean', 'Integer', 'Number', 'String')]
    [string] $type
    [ArgumentCompletions('Byte', 'Char', 'Complex64', 'Complex128', 'Date-time', 'Date-timeOffset', 'Double', 'Duration', 'Float', 'Int8', 'Int16', 'Int32', 'Int64', 'Uint8', 'Uint16', 'Uint32', 'Uint64')]
    [string] $format
    [bool] $xMsIsordered
}
function New-AzureNativeTypeMachinelearningColumnSpecification
{
    param (
        [parameter(mandatory=$False,HelpMessage='If the data type is categorical, this provides the list of accepted categories.)')]
        $enum,
        [parameter(mandatory=$False,HelpMessage='Flag indicating if the type supports null values or not.)')]
        [bool]
        $xMsIsnullable,
        [parameter(mandatory=$False,HelpMessage='Data type of the column.)')]
        [string]
        [ValidateSet('Boolean', 'Integer', 'Number', 'String')]
        $type,
        [parameter(mandatory=$False,HelpMessage='Additional format information for the data type.)')]
        [string]
        [ValidateSet('Byte', 'Char', 'Complex64', 'Complex128', 'Date-time', 'Date-timeOffset', 'Double', 'Duration', 'Float', 'Int8', 'Int16', 'Int32', 'Int64', 'Uint8', 'Uint16', 'Uint32', 'Uint64')]
        $format,
        [parameter(mandatory=$False,HelpMessage='Flag indicating whether the categories are treated as an ordered set or not, if this is a categorical column.)')]
        [bool]
        $xMsIsordered
    )

    process
    {
        return $([ColumnSpecification]$PSBoundParameters)
    }
}
function New-AzureNativeTypeMachinelearningTableSpecification
{
    param (
        [parameter(mandatory=$False,HelpMessage='The format, if ''type'' is not ''object'')')]
        [string]
        $format,
        [parameter(mandatory=$False,HelpMessage='The set of columns within the data table.)')]
        [ColumnSpecification]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Swagger schema description.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='The type of the entity described in swagger.)')]
        [string]
        $type,
        [parameter(mandatory=$False,HelpMessage='Swagger schema title.)')]
        [string]
        $title
    )

    process
    {
        return $([TableSpecification]$PSBoundParameters)
    }
}
function New-AzureNativeTypeMachinelearningServiceInputOutputSpecification
{
    param (
        [parameter(mandatory=$False,HelpMessage='The title of your Swagger schema.)')]
        [string]
        $title,
        [parameter(mandatory=$False,HelpMessage='Specifies a collection that contains the column schema for each input or output of the web service. For more information, see the Swagger specification.)')]
        [TableSpecification]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The description of the Swagger schema.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='The type of the entity described in swagger. Always ''object''.)')]
        [string]
        $type
    )

    process
    {
        return $([ServiceInputOutputSpecification]$PSBoundParameters)
    }
}
class CommitmentPlan
{
    [string] $id
}
function New-AzureNativeTypeMachinelearningCommitmentPlan
{
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies the Azure Resource Manager ID of the commitment plan associated with the web service.)')]
        [string]
        $id
    )

    process
    {
        return $([CommitmentPlan]$PSBoundParameters)
    }
}
class StorageAccount
{
    [string] $key
    [string] $name
}
function New-AzureNativeTypeMachinelearningStorageAccount
{
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies the key used to access the storage account.)')]
        [string]
        $key,
        [parameter(mandatory=$False,HelpMessage='Specifies the name of the storage account.)')]
        [string]
        $name
    )

    process
    {
        return $([StorageAccount]$PSBoundParameters)
    }
}
class MachineLearningWorkspace
{
    [string] $id
}
function New-AzureNativeTypeMachinelearningMachineLearningWorkspace
{
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies the workspace ID of the machine learning workspace associated with the web service)')]
        [string]
        $id
    )

    process
    {
        return $([MachineLearningWorkspace]$PSBoundParameters)
    }
}
class BlobLocation
{
    [string] $credentials
    [string] $uri
}
function New-AzureNativeTypeMachinelearningBlobLocation
{
    param (
        [parameter(mandatory=$False,HelpMessage='Access credentials for the blob, if applicable (e.g. blob specified by storage account connection string + blob URI))')]
        [string]
        $credentials,
        [parameter(mandatory=$False,HelpMessage='The URI from which the blob is accessible from. For example, aml://abc for system assets or https://xyz for user assets or payload.)')]
        [string]
        $uri
    )

    process
    {
        return $([BlobLocation]$PSBoundParameters)
    }
}
class DiagnosticsConfiguration
{
    [ArgumentCompletions('None', 'Error', 'All')]
    [string] $level
    [string] $expiry
}
function New-AzureNativeTypeMachinelearningDiagnosticsConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies the verbosity of the diagnostic output. Valid values are: None - disables tracing; Error - collects only error (stderr) traces; All - collects all traces (stdout and stderr).)')]
        [string]
        [ValidateSet('None', 'Error', 'All')]
        $level,
        [parameter(mandatory=$False,HelpMessage='Specifies the date and time when the logging will cease. If null, diagnostic collection is not time limited.)')]
        [string]
        $expiry
    )

    process
    {
        return $([DiagnosticsConfiguration]$PSBoundParameters)
    }
}
class ExampleRequest
{
    [object] $globalParameters
    [object] $inputs
}
function New-AzureNativeTypeMachinelearningExampleRequest
{
    param (
        [parameter(mandatory=$False,HelpMessage='Sample input data for the web service''s global parameters)')]
        [object]
        $globalParameters,
        [parameter(mandatory=$False,HelpMessage='Sample input data for the web service''s input(s) given as an input name to sample input values matrix map.)')]
        [object]
        $inputs
    )

    process
    {
        return $([ExampleRequest]$PSBoundParameters)
    }
}
class WebServiceKeys
{
    [string] $secondary
    [string] $primary
}
function New-AzureNativeTypeMachinelearningWebServiceKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='The secondary access key.)')]
        [string]
        $secondary,
        [parameter(mandatory=$False,HelpMessage='The primary access key.)')]
        [string]
        $primary
    )

    process
    {
        return $([WebServiceKeys]$PSBoundParameters)
    }
}
class RealtimeConfiguration
{
    [int] $maxConcurrentCalls
}
function New-AzureNativeTypeMachinelearningRealtimeConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies the maximum concurrent calls that can be made to the web service. Minimum value: 4, Maximum value: 200.)')]
        [int]
        $maxConcurrentCalls
    )

    process
    {
        return $([RealtimeConfiguration]$PSBoundParameters)
    }
}
class GraphEdge
{
    [string] $targetNodeId
    [string] $targetPortId
    [string] $sourceNodeId
    [string] $sourcePortId
}
function New-AzureNativeTypeMachinelearningGraphEdge
{
    param (
        [parameter(mandatory=$False,HelpMessage='The destination graph node''s identifier.)')]
        [string]
        $targetNodeId,
        [parameter(mandatory=$False,HelpMessage='The identifier of the destination node''s port that the edge connects into.)')]
        [string]
        $targetPortId,
        [parameter(mandatory=$False,HelpMessage='The source graph node''s identifier.)')]
        [string]
        $sourceNodeId,
        [parameter(mandatory=$False,HelpMessage='The identifier of the source node''s port that the edge connects from.)')]
        [string]
        $sourcePortId
    )

    process
    {
        return $([GraphEdge]$PSBoundParameters)
    }
}
class GraphPackage
{
    [object] $nodes
    [object] $graphParameters
    [GraphEdge[]] $edges
}
class GraphNode
{
    [object] $parameters
    [string] $assetId
    [string] $inputId
    [string] $outputId
}
class WebServiceParameter
{
    [object] $value
    [string] $certificateThumbprint
}
function New-AzureNativeTypeMachinelearningWebServiceParameter
{
    param (
        [parameter(mandatory=$False,HelpMessage='The parameter value)')]
        $value,
        [parameter(mandatory=$False,HelpMessage='If the parameter value in ''value'' field is encrypted, the thumbprint of the certificate should be put here.)')]
        [string]
        $certificateThumbprint
    )

    process
    {
        return $([WebServiceParameter]$PSBoundParameters)
    }
}
function New-AzureNativeTypeMachinelearningGraphNode
{
    param (
        [parameter(mandatory=$False,HelpMessage='If applicable, parameters of the node. Global graph parameters map into these, with values set at runtime.)')]
        [WebServiceParameter]
        $parameters,
        [parameter(mandatory=$False,HelpMessage='The id of the asset represented by this node.)')]
        [string]
        $assetId,
        [parameter(mandatory=$False,HelpMessage='The id of the input element represented by this node.)')]
        [string]
        $inputId,
        [parameter(mandatory=$False,HelpMessage='The id of the output element represented by this node.)')]
        [string]
        $outputId
    )

    process
    {
        return $([GraphNode]$PSBoundParameters)
    }
}
class GraphParameterLink
{
    [string] $nodeId
    [string] $parameterKey
}
function New-AzureNativeTypeMachinelearningGraphParameterLink
{
    param (
        [parameter(mandatory=$False,HelpMessage='The graph node''s identifier)')]
        [string]
        $nodeId,
        [parameter(mandatory=$False,HelpMessage='The identifier of the node parameter that the global parameter maps to.)')]
        [string]
        $parameterKey
    )

    process
    {
        return $([GraphParameterLink]$PSBoundParameters)
    }
}
class GraphParameter
{
    [ArgumentCompletions('String', 'Int', 'Float', 'Enumerated', 'Script', 'Mode', 'Credential', 'Boolean', 'Double', 'ColumnPicker', 'ParameterRange', 'DataGatewayName')]
    [string] $type
    [string] $description
    [GraphParameterLink[]] $links
}
function New-AzureNativeTypeMachinelearningGraphParameter
{
    param (
        [parameter(mandatory=$False,HelpMessage='Graph parameter''s type.)')]
        [string]
        [ValidateSet('String', 'Int', 'Float', 'Enumerated', 'Script', 'Mode', 'Credential', 'Boolean', 'Double', 'ColumnPicker', 'ParameterRange', 'DataGatewayName')]
        $type,
        [parameter(mandatory=$False,HelpMessage='Description of this graph parameter.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Association links for this parameter to nodes in the graph.)')]
        $links
    )

    process
    {
        return $([GraphParameter]$PSBoundParameters)
    }
}
function New-AzureNativeTypeMachinelearningGraphPackage
{
    param (
        [parameter(mandatory=$False,HelpMessage='The set of nodes making up the graph, provided as a nodeId to GraphNode map)')]
        [GraphNode]
        $nodes,
        [parameter(mandatory=$False,HelpMessage='The collection of global parameters for the graph, given as a global parameter name to GraphParameter map. Each parameter here has a 1:1 match with the global parameters values map declared at the WebServiceProperties level.)')]
        [GraphParameter]
        $graphParameters,
        [parameter(mandatory=$False,HelpMessage='The list of edges making up the graph.)')]
        $edges
    )

    process
    {
        return $([GraphPackage]$PSBoundParameters)
    }
}
class WebServicePropertiesForGraph
{
    [ServiceInputOutputSpecification] $output
    [ServiceInputOutputSpecification] $input
    [bool] $readOnly
    [object] $assets
    [CommitmentPlan] $commitmentPlan
    [string] $packageType
    [StorageAccount] $storageAccount
    [bool] $exposeSampleData
    [string] $title
    [string] $description
    [MachineLearningWorkspace] $machineLearningWorkspace
    [BlobLocation] $payloadsLocation
    [DiagnosticsConfiguration] $diagnostics
    [ExampleRequest] $exampleRequest
    [WebServiceKeys] $keys
    [RealtimeConfiguration] $realtimeConfiguration
    [object] $parameters
    [GraphPackage] $package
    [bool] $payloadsInBlobStorage
}
class ModuleAssetParameter
{
    [object] $modeValuesInfo
    [string] $name
    [string] $parameterType
}
class ModeValueInfo
{
    [string] $interfaceString
    [ModuleAssetParameter[]] $parameters
}
function New-AzureNativeTypeMachinelearningModeValueInfo
{
    param (
        [parameter(mandatory=$False,HelpMessage='The interface string name for the nested parameter.)')]
        [string]
        $interfaceString,
        [parameter(mandatory=$False,HelpMessage='The definition of the parameter.)')]
        $parameters
    )

    process
    {
        return $([ModeValueInfo]$PSBoundParameters)
    }
}
function New-AzureNativeTypeMachinelearningModuleAssetParameter
{
    param (
        [parameter(mandatory=$False,HelpMessage='Definitions for nested interface parameters if this is a complex module parameter.)')]
        [ModeValueInfo]
        $modeValuesInfo,
        [parameter(mandatory=$False,HelpMessage='Parameter name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Parameter type.)')]
        [string]
        $parameterType
    )

    process
    {
        return $([ModuleAssetParameter]$PSBoundParameters)
    }
}
class AssetItem
{
    [string] $id
    [string] $name
    [ArgumentCompletions('Module', 'Resource')]
    [string] $type
    [BlobLocation] $locationInfo
    [ModuleAssetParameter[]] $parameters
    [object] $outputPorts
    [object] $metadata
    [object] $inputPorts
}
class OutputPort
{
    [ArgumentCompletions('Dataset')]
    [string] $type
}
function New-AzureNativeTypeMachinelearningOutputPort
{
    param (
        [parameter(mandatory=$False,HelpMessage='Port data type.)')]
        [string]
        [ValidateSet('Dataset')]
        $type
    )

    process
    {
        return $([OutputPort]$PSBoundParameters)
    }
}
class InputPort
{
    [ArgumentCompletions('Dataset')]
    [string] $type
}
function New-AzureNativeTypeMachinelearningInputPort
{
    param (
        [parameter(mandatory=$False,HelpMessage='Port data type.)')]
        [string]
        [ValidateSet('Dataset')]
        $type
    )

    process
    {
        return $([InputPort]$PSBoundParameters)
    }
}
function New-AzureNativeTypeMachinelearningAssetItem
{
    param (
        [parameter(mandatory=$False,HelpMessage='Asset''s Id.)')]
        [string]
        $id,
        [parameter(mandatory=$False,HelpMessage='Asset''s friendly name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Asset''s type.)')]
        [string]
        [ValidateSet('Module', 'Resource')]
        $type,
        [parameter(mandatory=$False,HelpMessage='Access information for the asset.)')]
        [BlobLocation]
        $locationInfo,
        [parameter(mandatory=$False,HelpMessage='If the asset is a custom module, this holds the module''s parameters.)')]
        $parameters,
        [parameter(mandatory=$False,HelpMessage='Information about the asset''s output ports.)')]
        [OutputPort]
        $outputPorts,
        [parameter(mandatory=$False,HelpMessage='If the asset is a custom module, this holds the module''s metadata.)')]
        [hashtable]
        $metadata,
        [parameter(mandatory=$False,HelpMessage='Information about the asset''s input ports.)')]
        [InputPort]
        $inputPorts
    )

    process
    {
        return $([AssetItem]$PSBoundParameters)
    }
}
function New-AzureNativeTypeMachinelearningWebServicePropertiesForGraph
{
    param (
        [parameter(mandatory=$False,HelpMessage='Contains the Swagger 2.0 schema describing one or more of the web service''s outputs. For more information, see the Swagger specification.)')]
        [ServiceInputOutputSpecification]
        $output,
        [parameter(mandatory=$False,HelpMessage='Contains the Swagger 2.0 schema describing one or more of the web service''s inputs. For more information, see the Swagger specification.)')]
        [ServiceInputOutputSpecification]
        $input,
        [parameter(mandatory=$False,HelpMessage='When set to true, indicates that the web service is read-only and can no longer be updated or patched, only removed. Default, is false. Note: Once set to true, you cannot change its value.)')]
        [bool]
        $readOnly,
        [parameter(mandatory=$False,HelpMessage='Contains user defined properties describing web service assets. Properties are expressed as Key/Value pairs.)')]
        [AssetItem]
        $assets,
        [parameter(mandatory=$False,HelpMessage='Contains the commitment plan associated with this web service. Set at creation time. Once set, this value cannot be changed. Note: The commitment plan is not returned from calls to GET operations.)')]
        [CommitmentPlan]
        $commitmentPlan,
        [parameter(mandatory=$False,HelpMessage='Specifies the package type. Valid values are Graph (Specifies a web service published through the Machine Learning Studio) and Code (Specifies a web service published using code such as Python). Note: Code is not supported at this time.
Expected value is ''Graph''.)'
)]
        [string]
        $packageType,
        [parameter(mandatory=$False,HelpMessage='Specifies the storage account that Azure Machine Learning uses to store information about the web service. Only the name of the storage account is returned from calls to GET operations. When updating the storage account information, you must ensure that all necessary assets are available in the new storage account or calls to your web service will fail.)')]
        [StorageAccount]
        $storageAccount,
        [parameter(mandatory=$False,HelpMessage='When set to true, sample data is included in the web service''s swagger definition. The default value is true.)')]
        [bool]
        $exposeSampleData,
        [parameter(mandatory=$False,HelpMessage='The title of the web service.)')]
        [string]
        $title,
        [parameter(mandatory=$False,HelpMessage='The description of the web service.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Specifies the Machine Learning workspace containing the experiment that is source for the web service.)')]
        [MachineLearningWorkspace]
        $machineLearningWorkspace,
        [parameter(mandatory=$False,HelpMessage='The URI of the payload blob. This parameter contains a value only if the payloadsInBlobStorage parameter is set to true. Otherwise is set to null.)')]
        [BlobLocation]
        $payloadsLocation,
        [parameter(mandatory=$False,HelpMessage='Settings controlling the diagnostics traces collection for the web service.)')]
        [DiagnosticsConfiguration]
        $diagnostics,
        [parameter(mandatory=$False,HelpMessage='Defines sample input data for one or more of the service''s inputs.)')]
        [ExampleRequest]
        $exampleRequest,
        [parameter(mandatory=$False,HelpMessage='Contains the web service provisioning keys. If you do not specify provisioning keys, the Azure Machine Learning system generates them for you. Note: The keys are not returned from calls to GET operations.)')]
        [WebServiceKeys]
        $keys,
        [parameter(mandatory=$False,HelpMessage='Contains the configuration settings for the web service endpoint.)')]
        [RealtimeConfiguration]
        $realtimeConfiguration,
        [parameter(mandatory=$False,HelpMessage='The set of global parameters values defined for the web service, given as a global parameter name to default value map. If no default value is specified, the parameter is considered to be required.)')]
        [WebServiceParameter]
        $parameters,
        [parameter(mandatory=$False,HelpMessage='The definition of the graph package making up this web service.)')]
        [GraphPackage]
        $package,
        [parameter(mandatory=$False,HelpMessage='When set to true, indicates that the payload size is larger than 3 MB. Otherwise false. If the payload size exceed 3 MB, the payload is stored in a blob and the PayloadsLocation parameter contains the URI of the blob. Otherwise, this will be set to false and Assets, Input, Output, Package, Parameters, ExampleRequest are inline. The Payload sizes is determined by adding the size of the Assets, Input, Output, Package, Parameters, and the ExampleRequest.)')]
        [bool]
        $payloadsInBlobStorage
    )

    process
    {
        return $([WebServicePropertiesForGraph]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningWebService
{
    [Alias('azure_native_machinelearning_webservice')]
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies the location of the resource.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Contains the property payload that describes the web service.)')]
        [WebServicePropertiesForGraph]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Contains resource tags defined as key/value pairs.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The name of the web service.)')]
        [string]
        $webServiceName,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which the web service is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid,
        [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')]
        [object]
        $DependsOn
    )

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeMachinelearningWorkspace
{
    [Alias('azure_native_machinelearning_workspace')]
    param (
        [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The name of the machine learning workspace.)')]
        [string]
        $workspaceName,
        [parameter(mandatory=$False,HelpMessage='The fully qualified arm id of the storage account associated with this workspace.)')]
        [string]
        $userStorageAccountId,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group to which the machine learning workspace belongs.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The email id of the owner for this workspace.)')]
        [string]
        $ownerEmail,
        [parameter(mandatory=$False,HelpMessage='The location of the resource. This cannot be changed after the resource is created.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The key vault identifier used for encrypted workspaces.)')]
        [string]
        $keyVaultIdentifierId,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid,
        [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')]
        [object]
        $DependsOn
    )

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ResourceSku
{
    [string] $tier
    [string] $name
    [int] $capacity
}
function New-AzureNativeTypeMachinelearningResourceSku
{
    param (
        [parameter(mandatory=$False,HelpMessage='The SKU tier. Along with name, uniquely identifies the SKU.)')]
        [string]
        $tier,
        [parameter(mandatory=$False,HelpMessage='The SKU name. Along with tier, uniquely identifies the SKU.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The scale-out capacity of the resource. 1 is 1x, 2 is 2x, etc. This impacts the quantities and cost of any commitment plan resource.)')]
        [int]
        $capacity
    )

    process
    {
        return $([ResourceSku]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningCommitmentPlan
{
    [Alias('azure_native_machinelearning_commitmentplan')]
    param (
        [parameter(mandatory=$False,HelpMessage='Resource location.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='User-defined tags for the resource.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The resource group name.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The commitment plan SKU.)')]
        [ResourceSku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='The Azure ML commitment plan name.)')]
        [string]
        $commitmentPlanName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid,
        [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')]
        [object]
        $DependsOn
    )

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

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

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

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

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

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

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