Microsoft.MachineLearningServices workspaces/jobs 2022-05-01

Bicep resource definition

The workspaces/jobs resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.MachineLearningServices/workspaces/jobs resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.MachineLearningServices/workspaces/jobs@2022-05-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    computeId: 'string'
    description: 'string'
    displayName: 'string'
    experimentName: 'string'
    identity: {
      identityType: 'string'
      // For remaining properties, see IdentityConfiguration objects
    }
    isArchived: bool
    properties: {
      {customized property}: 'string'
    }
    services: {
      {customized property}: {
        endpoint: 'string'
        jobServiceType: 'string'
        port: int
        properties: {
          {customized property}: 'string'
        }
      }
    }
    tags: {
      {customized property}: 'string'
    }
    jobType: 'string'
    // For remaining properties, see JobBaseProperties objects
  }
}

JobBaseProperties objects

Set the jobType property to specify the type of object.

For Command, use:

{
  codeId: 'string'
  command: 'string'
  distribution: {
    distributionType: 'string'
    // For remaining properties, see DistributionConfiguration objects
  }
  environmentId: 'string'
  environmentVariables: {
    {customized property}: 'string'
  }
  inputs: {
    {customized property}: {
      description: 'string'
      jobInputType: 'string'
      // For remaining properties, see JobInput objects
    }
  }
  jobType: 'Command'
  limits: {
    jobLimitsType: 'string'
    timeout: 'string'
  }
  outputs: {
    {customized property}: {
      description: 'string'
      jobOutputType: 'string'
      // For remaining properties, see JobOutput objects
    }
  }
  resources: {
    instanceCount: int
    instanceType: 'string'
    properties: {
      {customized property}: any(Azure.Bicep.Types.Concrete.AnyType)
    }
  }
}

For Pipeline, use:

{
  inputs: {
    {customized property}: {
      description: 'string'
      jobInputType: 'string'
      // For remaining properties, see JobInput objects
    }
  }
  jobs: {
    {customized property}: any(Azure.Bicep.Types.Concrete.AnyType)
  }
  jobType: 'Pipeline'
  outputs: {
    {customized property}: {
      description: 'string'
      jobOutputType: 'string'
      // For remaining properties, see JobOutput objects
    }
  }
  settings: any(Azure.Bicep.Types.Concrete.AnyType)
}

For Sweep, use:

{
  earlyTermination: {
    delayEvaluation: int
    evaluationInterval: int
    policyType: 'string'
    // For remaining properties, see EarlyTerminationPolicy objects
  }
  inputs: {
    {customized property}: {
      description: 'string'
      jobInputType: 'string'
      // For remaining properties, see JobInput objects
    }
  }
  jobType: 'Sweep'
  limits: {
    jobLimitsType: 'string'
    maxConcurrentTrials: int
    maxTotalTrials: int
    timeout: 'string'
    trialTimeout: 'string'
  }
  objective: {
    goal: 'string'
    primaryMetric: 'string'
  }
  outputs: {
    {customized property}: {
      description: 'string'
      jobOutputType: 'string'
      // For remaining properties, see JobOutput objects
    }
  }
  samplingAlgorithm: {
    samplingAlgorithmType: 'string'
    // For remaining properties, see SamplingAlgorithm objects
  }
  searchSpace: any(Azure.Bicep.Types.Concrete.AnyType)
  trial: {
    codeId: 'string'
    command: 'string'
    distribution: {
      distributionType: 'string'
      // For remaining properties, see DistributionConfiguration objects
    }
    environmentId: 'string'
    environmentVariables: {
      {customized property}: 'string'
    }
    resources: {
      instanceCount: int
      instanceType: 'string'
      properties: {
        {customized property}: any(Azure.Bicep.Types.Concrete.AnyType)
      }
    }
  }
}

IdentityConfiguration objects

Set the identityType property to specify the type of object.

For AMLToken, use:

{
  identityType: 'AMLToken'
}

For Managed, use:

{
  clientId: 'string'
  identityType: 'Managed'
  objectId: 'string'
  resourceId: 'string'
}

For UserIdentity, use:

{
  identityType: 'UserIdentity'
}

DistributionConfiguration objects

Set the distributionType property to specify the type of object.

For Mpi, use:

{
  distributionType: 'Mpi'
  processCountPerInstance: int
}

For PyTorch, use:

{
  distributionType: 'PyTorch'
  processCountPerInstance: int
}

For TensorFlow, use:

{
  distributionType: 'TensorFlow'
  parameterServerCount: int
  workerCount: int
}

EarlyTerminationPolicy objects

Set the policyType property to specify the type of object.

For Bandit, use:

{
  policyType: 'Bandit'
  slackAmount: int
  slackFactor: int
}

For MedianStopping, use:

{
  policyType: 'MedianStopping'
}

For TruncationSelection, use:

{
  policyType: 'TruncationSelection'
  truncationPercentage: int
}

JobInput objects

Set the jobInputType property to specify the type of object.

For custom_model, use:

{
  jobInputType: 'custom_model'
  mode: 'string'
  uri: 'string'
}

For literal, use:

{
  jobInputType: 'literal'
  value: 'string'
}

For mlflow_model, use:

{
  jobInputType: 'mlflow_model'
  mode: 'string'
  uri: 'string'
}

For mltable, use:

{
  jobInputType: 'mltable'
  mode: 'string'
  uri: 'string'
}

For triton_model, use:

{
  jobInputType: 'triton_model'
  mode: 'string'
  uri: 'string'
}

For uri_file, use:

{
  jobInputType: 'uri_file'
  mode: 'string'
  uri: 'string'
}

For uri_folder, use:

{
  jobInputType: 'uri_folder'
  mode: 'string'
  uri: 'string'
}

JobOutput objects

Set the jobOutputType property to specify the type of object.

For custom_model, use:

{
  jobOutputType: 'custom_model'
  mode: 'string'
  uri: 'string'
}

For mlflow_model, use:

{
  jobOutputType: 'mlflow_model'
  mode: 'string'
  uri: 'string'
}

For mltable, use:

{
  jobOutputType: 'mltable'
  mode: 'string'
  uri: 'string'
}

For triton_model, use:

{
  jobOutputType: 'triton_model'
  mode: 'string'
  uri: 'string'
}

For uri_file, use:

{
  jobOutputType: 'uri_file'
  mode: 'string'
  uri: 'string'
}

For uri_folder, use:

{
  jobOutputType: 'uri_folder'
  mode: 'string'
  uri: 'string'
}

SamplingAlgorithm objects

Set the samplingAlgorithmType property to specify the type of object.

For Bayesian, use:

{
  samplingAlgorithmType: 'Bayesian'
}

For Grid, use:

{
  samplingAlgorithmType: 'Grid'
}

For Random, use:

{
  rule: 'string'
  samplingAlgorithmType: 'Random'
  seed: int
}

Property values

AmlToken

Name Description Value
identityType [Required] Specifies the type of identity framework. 'AMLToken' (required)

BanditPolicy

Name Description Value
policyType [Required] Name of policy configuration 'Bandit' (required)
slackAmount Absolute distance allowed from the best performing run. int
slackFactor Ratio of the allowed distance from the best performing run. int

BayesianSamplingAlgorithm

Name Description Value
samplingAlgorithmType [Required] The algorithm used for generating hyperparameter values, along with configuration properties 'Bayesian' (required)

CommandJob

Name Description Value
codeId ARM resource ID of the code asset. string
command [Required] The command to execute on startup of the job. eg. "python train.py" string

Constraints:
Min length = 1
Pattern = [a-zA-Z0-9_] (required)
distribution Distribution configuration of the job. If set, this should be one of Mpi, Tensorflow, PyTorch, or null. DistributionConfiguration
environmentId [Required] The ARM resource ID of the Environment specification for the job. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)
environmentVariables Environment variables included in the job. CommandJobEnvironmentVariables
inputs Mapping of input data bindings used in the job. CommandJobInputs
jobType [Required] Specifies the type of job. 'Command' (required)
limits Command Job limit. CommandJobLimits
outputs Mapping of output data bindings used in the job. CommandJobOutputs
resources Compute Resource configuration for the job. ResourceConfiguration

CommandJobEnvironmentVariables

Name Description Value

CommandJobInputs

Name Description Value

CommandJobLimits

Name Description Value
jobLimitsType [Required] JobLimit type. 'Command'
'Sweep' (required)
timeout The max run duration in ISO 8601 format, after which the job will be cancelled. Only supports duration with precision as low as Seconds. string

CommandJobOutputs

Name Description Value

CustomModelJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'custom_model' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

CustomModelJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'custom_model' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

DistributionConfiguration

Name Description Value
distributionType Set to 'Mpi' for type Mpi. Set to 'PyTorch' for type PyTorch. Set to 'TensorFlow' for type TensorFlow. 'Mpi'
'PyTorch'
'TensorFlow' (required)

EarlyTerminationPolicy

Name Description Value
delayEvaluation Number of intervals by which to delay the first evaluation. int
evaluationInterval Interval (number of runs) between policy evaluations. int
policyType Set to 'Bandit' for type BanditPolicy. Set to 'MedianStopping' for type MedianStoppingPolicy. Set to 'TruncationSelection' for type TruncationSelectionPolicy. 'Bandit'
'MedianStopping'
'TruncationSelection' (required)

GridSamplingAlgorithm

Name Description Value
samplingAlgorithmType [Required] The algorithm used for generating hyperparameter values, along with configuration properties 'Grid' (required)

IdentityConfiguration

Name Description Value
identityType Set to 'AMLToken' for type AmlToken. Set to 'Managed' for type ManagedIdentity. Set to 'UserIdentity' for type UserIdentity. 'AMLToken'
'Managed'
'UserIdentity' (required)

JobBaseProperties

Name Description Value
computeId ARM resource ID of the compute resource. string
description The asset description text. string
displayName Display name of job. string
experimentName The name of the experiment the job belongs to. If not set, the job is placed in the "Default" experiment. string
identity Identity configuration. If set, this should be one of AmlToken, ManagedIdentity, UserIdentity or null.
Defaults to AmlToken if null.
IdentityConfiguration
isArchived Is the asset archived? bool
jobType Set to 'Command' for type CommandJob. Set to 'Pipeline' for type PipelineJob. Set to 'Sweep' for type SweepJob. 'Command'
'Pipeline'
'Sweep' (required)
properties The asset property dictionary. ResourceBaseProperties
services List of JobEndpoints.
For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
JobBaseServices
tags Tag dictionary. Tags can be added, removed, and updated. ResourceBaseTags

JobBaseServices

Name Description Value

JobInput

Name Description Value
description Description for the input. string
jobInputType Set to 'custom_model' for type CustomModelJobInput. Set to 'literal' for type LiteralJobInput. Set to 'mlflow_model' for type MLFlowModelJobInput. Set to 'mltable' for type MLTableJobInput. Set to 'triton_model' for type TritonModelJobInput. Set to 'uri_file' for type UriFileJobInput. Set to 'uri_folder' for type UriFolderJobInput. 'custom_model'
'literal'
'mlflow_model'
'mltable'
'triton_model'
'uri_file'
'uri_folder' (required)

JobOutput

Name Description Value
description Description for the output. string
jobOutputType Set to 'custom_model' for type CustomModelJobOutput. Set to 'mlflow_model' for type MLFlowModelJobOutput. Set to 'mltable' for type MLTableJobOutput. Set to 'triton_model' for type TritonModelJobOutput. Set to 'uri_file' for type UriFileJobOutput. Set to 'uri_folder' for type UriFolderJobOutput. 'custom_model'
'mlflow_model'
'mltable'
'triton_model'
'uri_file'
'uri_folder' (required)

JobService

Name Description Value
endpoint Url for endpoint. string
jobServiceType Endpoint type. string
port Port for endpoint. int
properties Additional properties to set on the endpoint. JobServiceProperties

JobServiceProperties

Name Description Value

LiteralJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'literal' (required)
value [Required] Literal value for the input. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

ManagedIdentity

Name Description Value
clientId Specifies a user-assigned identity by client ID. For system-assigned, do not set this field. string

Constraints:
Min length = 36
Max length = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
identityType [Required] Specifies the type of identity framework. 'Managed' (required)
objectId Specifies a user-assigned identity by object ID. For system-assigned, do not set this field. string

Constraints:
Min length = 36
Max length = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
resourceId Specifies a user-assigned identity by ARM resource ID. For system-assigned, do not set this field. string

MedianStoppingPolicy

Name Description Value
policyType [Required] Name of policy configuration 'MedianStopping' (required)

Microsoft.MachineLearningServices/workspaces/jobs

Name Description Value
name The resource name string

Constraints:
Pattern = ^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$ (required)
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: workspaces
properties [Required] Additional attributes of the entity. JobBaseProperties (required)

MLFlowModelJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'mlflow_model' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

MLFlowModelJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'mlflow_model' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

MLTableJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'mltable' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

MLTableJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'mltable' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

Mpi

Name Description Value
distributionType [Required] Specifies the type of distribution framework. 'Mpi' (required)
processCountPerInstance Number of processes per MPI node. int

Objective

Name Description Value
goal [Required] Defines supported metric goals for hyperparameter tuning 'Maximize'
'Minimize' (required)
primaryMetric [Required] Name of the metric to optimize. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

PipelineJob

Name Description Value
inputs Inputs for the pipeline job. PipelineJobInputs
jobs Jobs construct the Pipeline Job. PipelineJobJobs
jobType [Required] Specifies the type of job. 'Pipeline' (required)
outputs Outputs for the pipeline job PipelineJobOutputs
settings Pipeline settings, for things like ContinueRunOnStepFailure etc. any

PipelineJobInputs

Name Description Value

PipelineJobJobs

Name Description Value

PipelineJobOutputs

Name Description Value

PyTorch

Name Description Value
distributionType [Required] Specifies the type of distribution framework. 'PyTorch' (required)
processCountPerInstance Number of processes per node. int

RandomSamplingAlgorithm

Name Description Value
rule The specific type of random algorithm 'Random'
'Sobol'
samplingAlgorithmType [Required] The algorithm used for generating hyperparameter values, along with configuration properties 'Random' (required)
seed An optional integer to use as the seed for random number generation int

ResourceBaseProperties

Name Description Value

ResourceBaseTags

Name Description Value

ResourceConfiguration

Name Description Value
instanceCount Optional number of instances or nodes used by the compute target. int
instanceType Optional type of VM used as supported by the compute target. string
properties Additional properties bag. ResourceConfigurationProperties

ResourceConfigurationProperties

Name Description Value

SamplingAlgorithm

Name Description Value
samplingAlgorithmType Set to 'Bayesian' for type BayesianSamplingAlgorithm. Set to 'Grid' for type GridSamplingAlgorithm. Set to 'Random' for type RandomSamplingAlgorithm. 'Bayesian'
'Grid'
'Random' (required)

SweepJob

Name Description Value
earlyTermination Early termination policies enable canceling poor-performing runs before they complete EarlyTerminationPolicy
inputs Mapping of input data bindings used in the job. SweepJobInputs
jobType [Required] Specifies the type of job. 'Sweep' (required)
limits Sweep Job limit. SweepJobLimits
objective [Required] Optimization objective. Objective (required)
outputs Mapping of output data bindings used in the job. SweepJobOutputs
samplingAlgorithm [Required] The hyperparameter sampling algorithm SamplingAlgorithm (required)
searchSpace [Required] A dictionary containing each parameter and its distribution. The dictionary key is the name of the parameter any (required)
trial [Required] Trial component definition. TrialComponent (required)

SweepJobInputs

Name Description Value

SweepJobLimits

Name Description Value
jobLimitsType [Required] JobLimit type. 'Command'
'Sweep' (required)
maxConcurrentTrials Sweep Job max concurrent trials. int
maxTotalTrials Sweep Job max total trials. int
timeout The max run duration in ISO 8601 format, after which the job will be cancelled. Only supports duration with precision as low as Seconds. string
trialTimeout Sweep Job Trial timeout value. string

SweepJobOutputs

Name Description Value

TensorFlow

Name Description Value
distributionType [Required] Specifies the type of distribution framework. 'TensorFlow' (required)
parameterServerCount Number of parameter server tasks. int
workerCount Number of workers. If not specified, will default to the instance count. int

TrialComponent

Name Description Value
codeId ARM resource ID of the code asset. string
command [Required] The command to execute on startup of the job. eg. "python train.py" string

Constraints:
Min length = 1
Pattern = [a-zA-Z0-9_] (required)
distribution Distribution configuration of the job. If set, this should be one of Mpi, Tensorflow, PyTorch, or null. DistributionConfiguration
environmentId [Required] The ARM resource ID of the Environment specification for the job. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)
environmentVariables Environment variables included in the job. TrialComponentEnvironmentVariables
resources Compute Resource configuration for the job. ResourceConfiguration

TrialComponentEnvironmentVariables

Name Description Value

TritonModelJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'triton_model' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

TritonModelJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'triton_model' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

TruncationSelectionPolicy

Name Description Value
policyType [Required] Name of policy configuration 'TruncationSelection' (required)
truncationPercentage The percentage of runs to cancel at each evaluation interval. int

UriFileJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'uri_file' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

UriFileJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'uri_file' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

UriFolderJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'uri_folder' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

UriFolderJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'uri_folder' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

UserIdentity

Name Description Value
identityType [Required] Specifies the type of identity framework. 'UserIdentity' (required)

Quickstart samples

The following quickstart samples deploy this resource type.

Bicep File Description
Create an Azure Machine Learning AutoML classification job This template creates an Azure Machine Learning AutoML classification job to find out the best model for predicting if a client will subscribe to a fixed term deposit with a financial institution.
Create an Azure Machine Learning Command job This template creates an Azure Machine Learning Command job with a basic hello_world script
Create an Azure Machine Learning Sweep job This template creates an Azure Machine Learning Sweep job for hyperparameter tuning.

ARM template resource definition

The workspaces/jobs resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.MachineLearningServices/workspaces/jobs resource, add the following JSON to your template.

{
  "type": "Microsoft.MachineLearningServices/workspaces/jobs",
  "apiVersion": "2022-05-01",
  "name": "string",
  "properties": {
    "computeId": "string",
    "description": "string",
    "displayName": "string",
    "experimentName": "string",
    "identity": {
      "identityType": "string"
      // For remaining properties, see IdentityConfiguration objects
    },
    "isArchived": "bool",
    "properties": {
      "{customized property}": "string"
    },
    "services": {
      "{customized property}": {
        "endpoint": "string",
        "jobServiceType": "string",
        "port": "int",
        "properties": {
          "{customized property}": "string"
        }
      }
    },
    "tags": {
      "{customized property}": "string"
    },
    "jobType": "string"
    // For remaining properties, see JobBaseProperties objects
  }
}

JobBaseProperties objects

Set the jobType property to specify the type of object.

For Command, use:

{
  "codeId": "string",
  "command": "string",
  "distribution": {
    "distributionType": "string"
    // For remaining properties, see DistributionConfiguration objects
  },
  "environmentId": "string",
  "environmentVariables": {
    "{customized property}": "string"
  },
  "inputs": {
    "{customized property}": {
      "description": "string",
      "jobInputType": "string"
      // For remaining properties, see JobInput objects
    }
  },
  "jobType": "Command",
  "limits": {
    "jobLimitsType": "string",
    "timeout": "string"
  },
  "outputs": {
    "{customized property}": {
      "description": "string",
      "jobOutputType": "string"
      // For remaining properties, see JobOutput objects
    }
  },
  "resources": {
    "instanceCount": "int",
    "instanceType": "string",
    "properties": {
      "{customized property}": {}
    }
  }
}

For Pipeline, use:

{
  "inputs": {
    "{customized property}": {
      "description": "string",
      "jobInputType": "string"
      // For remaining properties, see JobInput objects
    }
  },
  "jobs": {
    "{customized property}": {}
  },
  "jobType": "Pipeline",
  "outputs": {
    "{customized property}": {
      "description": "string",
      "jobOutputType": "string"
      // For remaining properties, see JobOutput objects
    }
  },
  "settings": {}
}

For Sweep, use:

{
  "earlyTermination": {
    "delayEvaluation": "int",
    "evaluationInterval": "int",
    "policyType": "string"
    // For remaining properties, see EarlyTerminationPolicy objects
  },
  "inputs": {
    "{customized property}": {
      "description": "string",
      "jobInputType": "string"
      // For remaining properties, see JobInput objects
    }
  },
  "jobType": "Sweep",
  "limits": {
    "jobLimitsType": "string",
    "maxConcurrentTrials": "int",
    "maxTotalTrials": "int",
    "timeout": "string",
    "trialTimeout": "string"
  },
  "objective": {
    "goal": "string",
    "primaryMetric": "string"
  },
  "outputs": {
    "{customized property}": {
      "description": "string",
      "jobOutputType": "string"
      // For remaining properties, see JobOutput objects
    }
  },
  "samplingAlgorithm": {
    "samplingAlgorithmType": "string"
    // For remaining properties, see SamplingAlgorithm objects
  },
  "searchSpace": {},
  "trial": {
    "codeId": "string",
    "command": "string",
    "distribution": {
      "distributionType": "string"
      // For remaining properties, see DistributionConfiguration objects
    },
    "environmentId": "string",
    "environmentVariables": {
      "{customized property}": "string"
    },
    "resources": {
      "instanceCount": "int",
      "instanceType": "string",
      "properties": {
        "{customized property}": {}
      }
    }
  }
}

IdentityConfiguration objects

Set the identityType property to specify the type of object.

For AMLToken, use:

{
  "identityType": "AMLToken"
}

For Managed, use:

{
  "clientId": "string",
  "identityType": "Managed",
  "objectId": "string",
  "resourceId": "string"
}

For UserIdentity, use:

{
  "identityType": "UserIdentity"
}

DistributionConfiguration objects

Set the distributionType property to specify the type of object.

For Mpi, use:

{
  "distributionType": "Mpi",
  "processCountPerInstance": "int"
}

For PyTorch, use:

{
  "distributionType": "PyTorch",
  "processCountPerInstance": "int"
}

For TensorFlow, use:

{
  "distributionType": "TensorFlow",
  "parameterServerCount": "int",
  "workerCount": "int"
}

EarlyTerminationPolicy objects

Set the policyType property to specify the type of object.

For Bandit, use:

{
  "policyType": "Bandit",
  "slackAmount": "int",
  "slackFactor": "int"
}

For MedianStopping, use:

{
  "policyType": "MedianStopping"
}

For TruncationSelection, use:

{
  "policyType": "TruncationSelection",
  "truncationPercentage": "int"
}

JobInput objects

Set the jobInputType property to specify the type of object.

For custom_model, use:

{
  "jobInputType": "custom_model",
  "mode": "string",
  "uri": "string"
}

For literal, use:

{
  "jobInputType": "literal",
  "value": "string"
}

For mlflow_model, use:

{
  "jobInputType": "mlflow_model",
  "mode": "string",
  "uri": "string"
}

For mltable, use:

{
  "jobInputType": "mltable",
  "mode": "string",
  "uri": "string"
}

For triton_model, use:

{
  "jobInputType": "triton_model",
  "mode": "string",
  "uri": "string"
}

For uri_file, use:

{
  "jobInputType": "uri_file",
  "mode": "string",
  "uri": "string"
}

For uri_folder, use:

{
  "jobInputType": "uri_folder",
  "mode": "string",
  "uri": "string"
}

JobOutput objects

Set the jobOutputType property to specify the type of object.

For custom_model, use:

{
  "jobOutputType": "custom_model",
  "mode": "string",
  "uri": "string"
}

For mlflow_model, use:

{
  "jobOutputType": "mlflow_model",
  "mode": "string",
  "uri": "string"
}

For mltable, use:

{
  "jobOutputType": "mltable",
  "mode": "string",
  "uri": "string"
}

For triton_model, use:

{
  "jobOutputType": "triton_model",
  "mode": "string",
  "uri": "string"
}

For uri_file, use:

{
  "jobOutputType": "uri_file",
  "mode": "string",
  "uri": "string"
}

For uri_folder, use:

{
  "jobOutputType": "uri_folder",
  "mode": "string",
  "uri": "string"
}

SamplingAlgorithm objects

Set the samplingAlgorithmType property to specify the type of object.

For Bayesian, use:

{
  "samplingAlgorithmType": "Bayesian"
}

For Grid, use:

{
  "samplingAlgorithmType": "Grid"
}

For Random, use:

{
  "rule": "string",
  "samplingAlgorithmType": "Random",
  "seed": "int"
}

Property values

AmlToken

Name Description Value
identityType [Required] Specifies the type of identity framework. 'AMLToken' (required)

BanditPolicy

Name Description Value
policyType [Required] Name of policy configuration 'Bandit' (required)
slackAmount Absolute distance allowed from the best performing run. int
slackFactor Ratio of the allowed distance from the best performing run. int

BayesianSamplingAlgorithm

Name Description Value
samplingAlgorithmType [Required] The algorithm used for generating hyperparameter values, along with configuration properties 'Bayesian' (required)

CommandJob

Name Description Value
codeId ARM resource ID of the code asset. string
command [Required] The command to execute on startup of the job. eg. "python train.py" string

Constraints:
Min length = 1
Pattern = [a-zA-Z0-9_] (required)
distribution Distribution configuration of the job. If set, this should be one of Mpi, Tensorflow, PyTorch, or null. DistributionConfiguration
environmentId [Required] The ARM resource ID of the Environment specification for the job. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)
environmentVariables Environment variables included in the job. CommandJobEnvironmentVariables
inputs Mapping of input data bindings used in the job. CommandJobInputs
jobType [Required] Specifies the type of job. 'Command' (required)
limits Command Job limit. CommandJobLimits
outputs Mapping of output data bindings used in the job. CommandJobOutputs
resources Compute Resource configuration for the job. ResourceConfiguration

CommandJobEnvironmentVariables

Name Description Value

CommandJobInputs

Name Description Value

CommandJobLimits

Name Description Value
jobLimitsType [Required] JobLimit type. 'Command'
'Sweep' (required)
timeout The max run duration in ISO 8601 format, after which the job will be cancelled. Only supports duration with precision as low as Seconds. string

CommandJobOutputs

Name Description Value

CustomModelJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'custom_model' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

CustomModelJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'custom_model' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

DistributionConfiguration

Name Description Value
distributionType Set to 'Mpi' for type Mpi. Set to 'PyTorch' for type PyTorch. Set to 'TensorFlow' for type TensorFlow. 'Mpi'
'PyTorch'
'TensorFlow' (required)

EarlyTerminationPolicy

Name Description Value
delayEvaluation Number of intervals by which to delay the first evaluation. int
evaluationInterval Interval (number of runs) between policy evaluations. int
policyType Set to 'Bandit' for type BanditPolicy. Set to 'MedianStopping' for type MedianStoppingPolicy. Set to 'TruncationSelection' for type TruncationSelectionPolicy. 'Bandit'
'MedianStopping'
'TruncationSelection' (required)

GridSamplingAlgorithm

Name Description Value
samplingAlgorithmType [Required] The algorithm used for generating hyperparameter values, along with configuration properties 'Grid' (required)

IdentityConfiguration

Name Description Value
identityType Set to 'AMLToken' for type AmlToken. Set to 'Managed' for type ManagedIdentity. Set to 'UserIdentity' for type UserIdentity. 'AMLToken'
'Managed'
'UserIdentity' (required)

JobBaseProperties

Name Description Value
computeId ARM resource ID of the compute resource. string
description The asset description text. string
displayName Display name of job. string
experimentName The name of the experiment the job belongs to. If not set, the job is placed in the "Default" experiment. string
identity Identity configuration. If set, this should be one of AmlToken, ManagedIdentity, UserIdentity or null.
Defaults to AmlToken if null.
IdentityConfiguration
isArchived Is the asset archived? bool
jobType Set to 'Command' for type CommandJob. Set to 'Pipeline' for type PipelineJob. Set to 'Sweep' for type SweepJob. 'Command'
'Pipeline'
'Sweep' (required)
properties The asset property dictionary. ResourceBaseProperties
services List of JobEndpoints.
For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
JobBaseServices
tags Tag dictionary. Tags can be added, removed, and updated. ResourceBaseTags

JobBaseServices

Name Description Value

JobInput

Name Description Value
description Description for the input. string
jobInputType Set to 'custom_model' for type CustomModelJobInput. Set to 'literal' for type LiteralJobInput. Set to 'mlflow_model' for type MLFlowModelJobInput. Set to 'mltable' for type MLTableJobInput. Set to 'triton_model' for type TritonModelJobInput. Set to 'uri_file' for type UriFileJobInput. Set to 'uri_folder' for type UriFolderJobInput. 'custom_model'
'literal'
'mlflow_model'
'mltable'
'triton_model'
'uri_file'
'uri_folder' (required)

JobOutput

Name Description Value
description Description for the output. string
jobOutputType Set to 'custom_model' for type CustomModelJobOutput. Set to 'mlflow_model' for type MLFlowModelJobOutput. Set to 'mltable' for type MLTableJobOutput. Set to 'triton_model' for type TritonModelJobOutput. Set to 'uri_file' for type UriFileJobOutput. Set to 'uri_folder' for type UriFolderJobOutput. 'custom_model'
'mlflow_model'
'mltable'
'triton_model'
'uri_file'
'uri_folder' (required)

JobService

Name Description Value
endpoint Url for endpoint. string
jobServiceType Endpoint type. string
port Port for endpoint. int
properties Additional properties to set on the endpoint. JobServiceProperties

JobServiceProperties

Name Description Value

LiteralJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'literal' (required)
value [Required] Literal value for the input. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

ManagedIdentity

Name Description Value
clientId Specifies a user-assigned identity by client ID. For system-assigned, do not set this field. string

Constraints:
Min length = 36
Max length = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
identityType [Required] Specifies the type of identity framework. 'Managed' (required)
objectId Specifies a user-assigned identity by object ID. For system-assigned, do not set this field. string

Constraints:
Min length = 36
Max length = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
resourceId Specifies a user-assigned identity by ARM resource ID. For system-assigned, do not set this field. string

MedianStoppingPolicy

Name Description Value
policyType [Required] Name of policy configuration 'MedianStopping' (required)

Microsoft.MachineLearningServices/workspaces/jobs

Name Description Value
apiVersion The api version '2022-05-01'
name The resource name string

Constraints:
Pattern = ^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$ (required)
properties [Required] Additional attributes of the entity. JobBaseProperties (required)
type The resource type 'Microsoft.MachineLearningServices/workspaces/jobs'

MLFlowModelJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'mlflow_model' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

MLFlowModelJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'mlflow_model' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

MLTableJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'mltable' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

MLTableJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'mltable' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

Mpi

Name Description Value
distributionType [Required] Specifies the type of distribution framework. 'Mpi' (required)
processCountPerInstance Number of processes per MPI node. int

Objective

Name Description Value
goal [Required] Defines supported metric goals for hyperparameter tuning 'Maximize'
'Minimize' (required)
primaryMetric [Required] Name of the metric to optimize. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

PipelineJob

Name Description Value
inputs Inputs for the pipeline job. PipelineJobInputs
jobs Jobs construct the Pipeline Job. PipelineJobJobs
jobType [Required] Specifies the type of job. 'Pipeline' (required)
outputs Outputs for the pipeline job PipelineJobOutputs
settings Pipeline settings, for things like ContinueRunOnStepFailure etc. any

PipelineJobInputs

Name Description Value

PipelineJobJobs

Name Description Value

PipelineJobOutputs

Name Description Value

PyTorch

Name Description Value
distributionType [Required] Specifies the type of distribution framework. 'PyTorch' (required)
processCountPerInstance Number of processes per node. int

RandomSamplingAlgorithm

Name Description Value
rule The specific type of random algorithm 'Random'
'Sobol'
samplingAlgorithmType [Required] The algorithm used for generating hyperparameter values, along with configuration properties 'Random' (required)
seed An optional integer to use as the seed for random number generation int

ResourceBaseProperties

Name Description Value

ResourceBaseTags

Name Description Value

ResourceConfiguration

Name Description Value
instanceCount Optional number of instances or nodes used by the compute target. int
instanceType Optional type of VM used as supported by the compute target. string
properties Additional properties bag. ResourceConfigurationProperties

ResourceConfigurationProperties

Name Description Value

SamplingAlgorithm

Name Description Value
samplingAlgorithmType Set to 'Bayesian' for type BayesianSamplingAlgorithm. Set to 'Grid' for type GridSamplingAlgorithm. Set to 'Random' for type RandomSamplingAlgorithm. 'Bayesian'
'Grid'
'Random' (required)

SweepJob

Name Description Value
earlyTermination Early termination policies enable canceling poor-performing runs before they complete EarlyTerminationPolicy
inputs Mapping of input data bindings used in the job. SweepJobInputs
jobType [Required] Specifies the type of job. 'Sweep' (required)
limits Sweep Job limit. SweepJobLimits
objective [Required] Optimization objective. Objective (required)
outputs Mapping of output data bindings used in the job. SweepJobOutputs
samplingAlgorithm [Required] The hyperparameter sampling algorithm SamplingAlgorithm (required)
searchSpace [Required] A dictionary containing each parameter and its distribution. The dictionary key is the name of the parameter any (required)
trial [Required] Trial component definition. TrialComponent (required)

SweepJobInputs

Name Description Value

SweepJobLimits

Name Description Value
jobLimitsType [Required] JobLimit type. 'Command'
'Sweep' (required)
maxConcurrentTrials Sweep Job max concurrent trials. int
maxTotalTrials Sweep Job max total trials. int
timeout The max run duration in ISO 8601 format, after which the job will be cancelled. Only supports duration with precision as low as Seconds. string
trialTimeout Sweep Job Trial timeout value. string

SweepJobOutputs

Name Description Value

TensorFlow

Name Description Value
distributionType [Required] Specifies the type of distribution framework. 'TensorFlow' (required)
parameterServerCount Number of parameter server tasks. int
workerCount Number of workers. If not specified, will default to the instance count. int

TrialComponent

Name Description Value
codeId ARM resource ID of the code asset. string
command [Required] The command to execute on startup of the job. eg. "python train.py" string

Constraints:
Min length = 1
Pattern = [a-zA-Z0-9_] (required)
distribution Distribution configuration of the job. If set, this should be one of Mpi, Tensorflow, PyTorch, or null. DistributionConfiguration
environmentId [Required] The ARM resource ID of the Environment specification for the job. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)
environmentVariables Environment variables included in the job. TrialComponentEnvironmentVariables
resources Compute Resource configuration for the job. ResourceConfiguration

TrialComponentEnvironmentVariables

Name Description Value

TritonModelJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'triton_model' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

TritonModelJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'triton_model' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

TruncationSelectionPolicy

Name Description Value
policyType [Required] Name of policy configuration 'TruncationSelection' (required)
truncationPercentage The percentage of runs to cancel at each evaluation interval. int

UriFileJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'uri_file' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

UriFileJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'uri_file' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

UriFolderJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'uri_folder' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

UriFolderJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'uri_folder' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

UserIdentity

Name Description Value
identityType [Required] Specifies the type of identity framework. 'UserIdentity' (required)

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Create an Azure Machine Learning AutoML classification job

Deploy to Azure
This template creates an Azure Machine Learning AutoML classification job to find out the best model for predicting if a client will subscribe to a fixed term deposit with a financial institution.
Create an Azure Machine Learning Command job

Deploy to Azure
This template creates an Azure Machine Learning Command job with a basic hello_world script
Create an Azure Machine Learning Sweep job

Deploy to Azure
This template creates an Azure Machine Learning Sweep job for hyperparameter tuning.

Terraform (AzAPI provider) resource definition

The workspaces/jobs resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.MachineLearningServices/workspaces/jobs resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.MachineLearningServices/workspaces/jobs@2022-05-01"
  name = "string"
  body = jsonencode({
    properties = {
      computeId = "string"
      description = "string"
      displayName = "string"
      experimentName = "string"
      identity = {
        identityType = "string"
        // For remaining properties, see IdentityConfiguration objects
      }
      isArchived = bool
      properties = {
        {customized property} = "string"
      }
      services = {
        {customized property} = {
          endpoint = "string"
          jobServiceType = "string"
          port = int
          properties = {
            {customized property} = "string"
          }
        }
      }
      tags = {
        {customized property} = "string"
      }
      jobType = "string"
      // For remaining properties, see JobBaseProperties objects
    }
  })
}

JobBaseProperties objects

Set the jobType property to specify the type of object.

For Command, use:

{
  codeId = "string"
  command = "string"
  distribution = {
    distributionType = "string"
    // For remaining properties, see DistributionConfiguration objects
  }
  environmentId = "string"
  environmentVariables = {
    {customized property} = "string"
  }
  inputs = {
    {customized property} = {
      description = "string"
      jobInputType = "string"
      // For remaining properties, see JobInput objects
    }
  }
  jobType = "Command"
  limits = {
    jobLimitsType = "string"
    timeout = "string"
  }
  outputs = {
    {customized property} = {
      description = "string"
      jobOutputType = "string"
      // For remaining properties, see JobOutput objects
    }
  }
  resources = {
    instanceCount = int
    instanceType = "string"
    properties = {
      {customized property} = ?
    }
  }
}

For Pipeline, use:

{
  inputs = {
    {customized property} = {
      description = "string"
      jobInputType = "string"
      // For remaining properties, see JobInput objects
    }
  }
  jobs = {
    {customized property} = ?
  }
  jobType = "Pipeline"
  outputs = {
    {customized property} = {
      description = "string"
      jobOutputType = "string"
      // For remaining properties, see JobOutput objects
    }
  }
  settings = ?
}

For Sweep, use:

{
  earlyTermination = {
    delayEvaluation = int
    evaluationInterval = int
    policyType = "string"
    // For remaining properties, see EarlyTerminationPolicy objects
  }
  inputs = {
    {customized property} = {
      description = "string"
      jobInputType = "string"
      // For remaining properties, see JobInput objects
    }
  }
  jobType = "Sweep"
  limits = {
    jobLimitsType = "string"
    maxConcurrentTrials = int
    maxTotalTrials = int
    timeout = "string"
    trialTimeout = "string"
  }
  objective = {
    goal = "string"
    primaryMetric = "string"
  }
  outputs = {
    {customized property} = {
      description = "string"
      jobOutputType = "string"
      // For remaining properties, see JobOutput objects
    }
  }
  samplingAlgorithm = {
    samplingAlgorithmType = "string"
    // For remaining properties, see SamplingAlgorithm objects
  }
  searchSpace = ?
  trial = {
    codeId = "string"
    command = "string"
    distribution = {
      distributionType = "string"
      // For remaining properties, see DistributionConfiguration objects
    }
    environmentId = "string"
    environmentVariables = {
      {customized property} = "string"
    }
    resources = {
      instanceCount = int
      instanceType = "string"
      properties = {
        {customized property} = ?
      }
    }
  }
}

IdentityConfiguration objects

Set the identityType property to specify the type of object.

For AMLToken, use:

{
  identityType = "AMLToken"
}

For Managed, use:

{
  clientId = "string"
  identityType = "Managed"
  objectId = "string"
  resourceId = "string"
}

For UserIdentity, use:

{
  identityType = "UserIdentity"
}

DistributionConfiguration objects

Set the distributionType property to specify the type of object.

For Mpi, use:

{
  distributionType = "Mpi"
  processCountPerInstance = int
}

For PyTorch, use:

{
  distributionType = "PyTorch"
  processCountPerInstance = int
}

For TensorFlow, use:

{
  distributionType = "TensorFlow"
  parameterServerCount = int
  workerCount = int
}

EarlyTerminationPolicy objects

Set the policyType property to specify the type of object.

For Bandit, use:

{
  policyType = "Bandit"
  slackAmount = int
  slackFactor = int
}

For MedianStopping, use:

{
  policyType = "MedianStopping"
}

For TruncationSelection, use:

{
  policyType = "TruncationSelection"
  truncationPercentage = int
}

JobInput objects

Set the jobInputType property to specify the type of object.

For custom_model, use:

{
  jobInputType = "custom_model"
  mode = "string"
  uri = "string"
}

For literal, use:

{
  jobInputType = "literal"
  value = "string"
}

For mlflow_model, use:

{
  jobInputType = "mlflow_model"
  mode = "string"
  uri = "string"
}

For mltable, use:

{
  jobInputType = "mltable"
  mode = "string"
  uri = "string"
}

For triton_model, use:

{
  jobInputType = "triton_model"
  mode = "string"
  uri = "string"
}

For uri_file, use:

{
  jobInputType = "uri_file"
  mode = "string"
  uri = "string"
}

For uri_folder, use:

{
  jobInputType = "uri_folder"
  mode = "string"
  uri = "string"
}

JobOutput objects

Set the jobOutputType property to specify the type of object.

For custom_model, use:

{
  jobOutputType = "custom_model"
  mode = "string"
  uri = "string"
}

For mlflow_model, use:

{
  jobOutputType = "mlflow_model"
  mode = "string"
  uri = "string"
}

For mltable, use:

{
  jobOutputType = "mltable"
  mode = "string"
  uri = "string"
}

For triton_model, use:

{
  jobOutputType = "triton_model"
  mode = "string"
  uri = "string"
}

For uri_file, use:

{
  jobOutputType = "uri_file"
  mode = "string"
  uri = "string"
}

For uri_folder, use:

{
  jobOutputType = "uri_folder"
  mode = "string"
  uri = "string"
}

SamplingAlgorithm objects

Set the samplingAlgorithmType property to specify the type of object.

For Bayesian, use:

{
  samplingAlgorithmType = "Bayesian"
}

For Grid, use:

{
  samplingAlgorithmType = "Grid"
}

For Random, use:

{
  rule = "string"
  samplingAlgorithmType = "Random"
  seed = int
}

Property values

AmlToken

Name Description Value
identityType [Required] Specifies the type of identity framework. 'AMLToken' (required)

BanditPolicy

Name Description Value
policyType [Required] Name of policy configuration 'Bandit' (required)
slackAmount Absolute distance allowed from the best performing run. int
slackFactor Ratio of the allowed distance from the best performing run. int

BayesianSamplingAlgorithm

Name Description Value
samplingAlgorithmType [Required] The algorithm used for generating hyperparameter values, along with configuration properties 'Bayesian' (required)

CommandJob

Name Description Value
codeId ARM resource ID of the code asset. string
command [Required] The command to execute on startup of the job. eg. "python train.py" string

Constraints:
Min length = 1
Pattern = [a-zA-Z0-9_] (required)
distribution Distribution configuration of the job. If set, this should be one of Mpi, Tensorflow, PyTorch, or null. DistributionConfiguration
environmentId [Required] The ARM resource ID of the Environment specification for the job. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)
environmentVariables Environment variables included in the job. CommandJobEnvironmentVariables
inputs Mapping of input data bindings used in the job. CommandJobInputs
jobType [Required] Specifies the type of job. 'Command' (required)
limits Command Job limit. CommandJobLimits
outputs Mapping of output data bindings used in the job. CommandJobOutputs
resources Compute Resource configuration for the job. ResourceConfiguration

CommandJobEnvironmentVariables

Name Description Value

CommandJobInputs

Name Description Value

CommandJobLimits

Name Description Value
jobLimitsType [Required] JobLimit type. 'Command'
'Sweep' (required)
timeout The max run duration in ISO 8601 format, after which the job will be cancelled. Only supports duration with precision as low as Seconds. string

CommandJobOutputs

Name Description Value

CustomModelJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'custom_model' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

CustomModelJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'custom_model' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

DistributionConfiguration

Name Description Value
distributionType Set to 'Mpi' for type Mpi. Set to 'PyTorch' for type PyTorch. Set to 'TensorFlow' for type TensorFlow. 'Mpi'
'PyTorch'
'TensorFlow' (required)

EarlyTerminationPolicy

Name Description Value
delayEvaluation Number of intervals by which to delay the first evaluation. int
evaluationInterval Interval (number of runs) between policy evaluations. int
policyType Set to 'Bandit' for type BanditPolicy. Set to 'MedianStopping' for type MedianStoppingPolicy. Set to 'TruncationSelection' for type TruncationSelectionPolicy. 'Bandit'
'MedianStopping'
'TruncationSelection' (required)

GridSamplingAlgorithm

Name Description Value
samplingAlgorithmType [Required] The algorithm used for generating hyperparameter values, along with configuration properties 'Grid' (required)

IdentityConfiguration

Name Description Value
identityType Set to 'AMLToken' for type AmlToken. Set to 'Managed' for type ManagedIdentity. Set to 'UserIdentity' for type UserIdentity. 'AMLToken'
'Managed'
'UserIdentity' (required)

JobBaseProperties

Name Description Value
computeId ARM resource ID of the compute resource. string
description The asset description text. string
displayName Display name of job. string
experimentName The name of the experiment the job belongs to. If not set, the job is placed in the "Default" experiment. string
identity Identity configuration. If set, this should be one of AmlToken, ManagedIdentity, UserIdentity or null.
Defaults to AmlToken if null.
IdentityConfiguration
isArchived Is the asset archived? bool
jobType Set to 'Command' for type CommandJob. Set to 'Pipeline' for type PipelineJob. Set to 'Sweep' for type SweepJob. 'Command'
'Pipeline'
'Sweep' (required)
properties The asset property dictionary. ResourceBaseProperties
services List of JobEndpoints.
For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
JobBaseServices
tags Tag dictionary. Tags can be added, removed, and updated. ResourceBaseTags

JobBaseServices

Name Description Value

JobInput

Name Description Value
description Description for the input. string
jobInputType Set to 'custom_model' for type CustomModelJobInput. Set to 'literal' for type LiteralJobInput. Set to 'mlflow_model' for type MLFlowModelJobInput. Set to 'mltable' for type MLTableJobInput. Set to 'triton_model' for type TritonModelJobInput. Set to 'uri_file' for type UriFileJobInput. Set to 'uri_folder' for type UriFolderJobInput. 'custom_model'
'literal'
'mlflow_model'
'mltable'
'triton_model'
'uri_file'
'uri_folder' (required)

JobOutput

Name Description Value
description Description for the output. string
jobOutputType Set to 'custom_model' for type CustomModelJobOutput. Set to 'mlflow_model' for type MLFlowModelJobOutput. Set to 'mltable' for type MLTableJobOutput. Set to 'triton_model' for type TritonModelJobOutput. Set to 'uri_file' for type UriFileJobOutput. Set to 'uri_folder' for type UriFolderJobOutput. 'custom_model'
'mlflow_model'
'mltable'
'triton_model'
'uri_file'
'uri_folder' (required)

JobService

Name Description Value
endpoint Url for endpoint. string
jobServiceType Endpoint type. string
port Port for endpoint. int
properties Additional properties to set on the endpoint. JobServiceProperties

JobServiceProperties

Name Description Value

LiteralJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'literal' (required)
value [Required] Literal value for the input. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

ManagedIdentity

Name Description Value
clientId Specifies a user-assigned identity by client ID. For system-assigned, do not set this field. string

Constraints:
Min length = 36
Max length = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
identityType [Required] Specifies the type of identity framework. 'Managed' (required)
objectId Specifies a user-assigned identity by object ID. For system-assigned, do not set this field. string

Constraints:
Min length = 36
Max length = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
resourceId Specifies a user-assigned identity by ARM resource ID. For system-assigned, do not set this field. string

MedianStoppingPolicy

Name Description Value
policyType [Required] Name of policy configuration 'MedianStopping' (required)

Microsoft.MachineLearningServices/workspaces/jobs

Name Description Value
name The resource name string

Constraints:
Pattern = ^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$ (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: workspaces
properties [Required] Additional attributes of the entity. JobBaseProperties (required)
type The resource type "Microsoft.MachineLearningServices/workspaces/jobs@2022-05-01"

MLFlowModelJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'mlflow_model' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

MLFlowModelJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'mlflow_model' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

MLTableJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'mltable' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

MLTableJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'mltable' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

Mpi

Name Description Value
distributionType [Required] Specifies the type of distribution framework. 'Mpi' (required)
processCountPerInstance Number of processes per MPI node. int

Objective

Name Description Value
goal [Required] Defines supported metric goals for hyperparameter tuning 'Maximize'
'Minimize' (required)
primaryMetric [Required] Name of the metric to optimize. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

PipelineJob

Name Description Value
inputs Inputs for the pipeline job. PipelineJobInputs
jobs Jobs construct the Pipeline Job. PipelineJobJobs
jobType [Required] Specifies the type of job. 'Pipeline' (required)
outputs Outputs for the pipeline job PipelineJobOutputs
settings Pipeline settings, for things like ContinueRunOnStepFailure etc. any

PipelineJobInputs

Name Description Value

PipelineJobJobs

Name Description Value

PipelineJobOutputs

Name Description Value

PyTorch

Name Description Value
distributionType [Required] Specifies the type of distribution framework. 'PyTorch' (required)
processCountPerInstance Number of processes per node. int

RandomSamplingAlgorithm

Name Description Value
rule The specific type of random algorithm 'Random'
'Sobol'
samplingAlgorithmType [Required] The algorithm used for generating hyperparameter values, along with configuration properties 'Random' (required)
seed An optional integer to use as the seed for random number generation int

ResourceBaseProperties

Name Description Value

ResourceBaseTags

Name Description Value

ResourceConfiguration

Name Description Value
instanceCount Optional number of instances or nodes used by the compute target. int
instanceType Optional type of VM used as supported by the compute target. string
properties Additional properties bag. ResourceConfigurationProperties

ResourceConfigurationProperties

Name Description Value

SamplingAlgorithm

Name Description Value
samplingAlgorithmType Set to 'Bayesian' for type BayesianSamplingAlgorithm. Set to 'Grid' for type GridSamplingAlgorithm. Set to 'Random' for type RandomSamplingAlgorithm. 'Bayesian'
'Grid'
'Random' (required)

SweepJob

Name Description Value
earlyTermination Early termination policies enable canceling poor-performing runs before they complete EarlyTerminationPolicy
inputs Mapping of input data bindings used in the job. SweepJobInputs
jobType [Required] Specifies the type of job. 'Sweep' (required)
limits Sweep Job limit. SweepJobLimits
objective [Required] Optimization objective. Objective (required)
outputs Mapping of output data bindings used in the job. SweepJobOutputs
samplingAlgorithm [Required] The hyperparameter sampling algorithm SamplingAlgorithm (required)
searchSpace [Required] A dictionary containing each parameter and its distribution. The dictionary key is the name of the parameter any (required)
trial [Required] Trial component definition. TrialComponent (required)

SweepJobInputs

Name Description Value

SweepJobLimits

Name Description Value
jobLimitsType [Required] JobLimit type. 'Command'
'Sweep' (required)
maxConcurrentTrials Sweep Job max concurrent trials. int
maxTotalTrials Sweep Job max total trials. int
timeout The max run duration in ISO 8601 format, after which the job will be cancelled. Only supports duration with precision as low as Seconds. string
trialTimeout Sweep Job Trial timeout value. string

SweepJobOutputs

Name Description Value

TensorFlow

Name Description Value
distributionType [Required] Specifies the type of distribution framework. 'TensorFlow' (required)
parameterServerCount Number of parameter server tasks. int
workerCount Number of workers. If not specified, will default to the instance count. int

TrialComponent

Name Description Value
codeId ARM resource ID of the code asset. string
command [Required] The command to execute on startup of the job. eg. "python train.py" string

Constraints:
Min length = 1
Pattern = [a-zA-Z0-9_] (required)
distribution Distribution configuration of the job. If set, this should be one of Mpi, Tensorflow, PyTorch, or null. DistributionConfiguration
environmentId [Required] The ARM resource ID of the Environment specification for the job. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)
environmentVariables Environment variables included in the job. TrialComponentEnvironmentVariables
resources Compute Resource configuration for the job. ResourceConfiguration

TrialComponentEnvironmentVariables

Name Description Value

TritonModelJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'triton_model' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

TritonModelJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'triton_model' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

TruncationSelectionPolicy

Name Description Value
policyType [Required] Name of policy configuration 'TruncationSelection' (required)
truncationPercentage The percentage of runs to cancel at each evaluation interval. int

UriFileJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'uri_file' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

UriFileJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'uri_file' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

UriFolderJobInput

Name Description Value
jobInputType [Required] Specifies the type of job. 'uri_folder' (required)
mode Input Asset Delivery Mode. 'Direct'
'Download'
'EvalDownload'
'EvalMount'
'ReadOnlyMount'
'ReadWriteMount'
uri [Required] Input Asset URI. string

Constraints:
Pattern = [a-zA-Z0-9_] (required)

UriFolderJobOutput

Name Description Value
jobOutputType [Required] Specifies the type of job. 'uri_folder' (required)
mode Output Asset Delivery Mode. 'ReadWriteMount'
'Upload'
uri Output Asset URI. string

UserIdentity

Name Description Value
identityType [Required] Specifies the type of identity framework. 'UserIdentity' (required)