Microsoft.MachineLearningServices workspaces/computes 2020-08-01

Template format

To create a Microsoft.MachineLearningServices/workspaces/computes resource, add the following JSON to the resources section of your template.

{
  "name": "string",
  "type": "Microsoft.MachineLearningServices/workspaces/computes",
  "apiVersion": "2020-08-01",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {}
  },
  "location": "string",
  "tags": {},
  "sku": {
    "name": "string",
    "tier": "string"
  },
    "properties": see-variations-below
}

For AKS, use:

{
  "computeType": "AKS",
  "computeLocation": "string",
  "description": "string",
  "resourceId": "string",
  "properties": {
    "agentCount": "integer",
    "agentVMSize": "string",
    "aksNetworkingConfiguration": {
      "dnsServiceIP": "string",
      "dockerBridgeCidr": "string",
      "serviceCidr": "string",
      "subnetId": "string"
    },
    "clusterFqdn": "string",
    "sslConfiguration": {
      "cert": "string",
      "cname": "string",
      "key": "string",
      "status": "string"
    }
  }
}

For AmlCompute, use:

{
  "computeType": "AmlCompute",
  "computeLocation": "string",
  "description": "string",
  "resourceId": "string",
  "properties": {
    "remoteLoginPortPublicAccess": "string",
    "scaleSettings": {
      "maxNodeCount": "integer",
      "minNodeCount": "integer",
      "nodeIdleTimeBeforeScaleDown": "string"
    },
    "subnet": {
      "id": "string"
    },
    "userAccountCredentials": {
      "adminUserName": "string",
      "adminUserPassword": "string",
      "adminUserSshPublicKey": "string"
    },
    "vmPriority": "string",
    "vmSize": "string"
  }
}

For ComputeInstance, use:

{
  "computeType": "ComputeInstance",
  "computeLocation": "string",
  "description": "string",
  "resourceId": "string",
  "properties": {
    "vmSize": "string",
    "subnet": {
      "id": "string"
    },
    "applicationSharingPolicy": "string",
    "sshSettings": {
      "sshPublicAccess": "string",
      "adminPublicKey": "string"
    }
  }
}

For Databricks, use:

{
  "computeType": "Databricks",
  "computeLocation": "string",
  "description": "string",
  "resourceId": "string",
  "properties": {
    "databricksAccessToken": "string"
  }
}

For DataFactory, use:

{
  "computeType": "DataFactory",
  "computeLocation": "string",
  "description": "string",
  "resourceId": "string",
  "properties": {
  }
}

For DataLakeAnalytics, use:

{
  "computeType": "DataLakeAnalytics",
  "computeLocation": "string",
  "description": "string",
  "resourceId": "string",
  "properties": {
    "dataLakeStoreAccountName": "string"
  }
}

For HDInsight, use:

{
  "computeType": "HDInsight",
  "computeLocation": "string",
  "description": "string",
  "resourceId": "string",
  "properties": {
    "sshPort": "integer",
    "address": "string",
    "administratorAccount": {
      "username": "string",
      "password": "string",
      "publicKeyData": "string",
      "privateKeyData": "string"
    }
  }
}

For VirtualMachine, use:

{
  "computeType": "VirtualMachine",
  "computeLocation": "string",
  "description": "string",
  "resourceId": "string",
  "properties": {
    "virtualMachineSize": "string",
    "sshPort": "integer",
    "address": "string",
    "administratorAccount": {
      "username": "string",
      "password": "string",
      "publicKeyData": "string",
      "privateKeyData": "string"
    }
  }
}

Property values

The following tables describe the values you need to set in the schema.

Microsoft.MachineLearningServices/workspaces/computes object

Name Type Required Value
name string Yes Name of the Azure Machine Learning compute.
type enum Yes computes
-or-
Microsoft.MachineLearningServices/workspaces/computes

See Set name and type for child resources.
apiVersion enum Yes 2020-08-01
identity object No The identity of the resource. - Identity object
location string No Specifies the location of the resource.
tags object No Contains resource tags defined as key/value pairs.
sku object No The sku of the workspace. - Sku object
properties object Yes Compute properties - Compute object

Identity object

Name Type Required Value
type enum Yes The identity type. - SystemAssigned, UserAssigned, SystemAssigned,UserAssigned, None
userAssignedIdentities object No The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

Sku object

Name Type Required Value
name string No Name of the sku
tier string No Tier of the sku like Basic or Enterprise

Compute object

Name Type Required Value
computeLocation string No Location for the underlying compute
description string No The description of the Machine Learning compute.
resourceId string No ARM resource id of the underlying compute
computeType string Yes AKS, AmlCompute, ComputeInstance, Databricks, DataFactory, DataLakeAnalytics, HDInsight, VirtualMachine
properties object Yes AKS object, AmlCompute object, ComputeInstance object, Databricks object, DataLakeAnalytics object, HDInsight object, VirtualMachine object

AKS object

Name Type Required Value
agentCount integer No Number of agents
agentVMSize string No Agent virtual machine size
aksNetworkingConfiguration object No AKS networking configuration for vnet - AKSNetworking object
clusterFqdn string No Cluster full qualified domain name
sslConfiguration object No SSL configuration - SSLConfiguration object

AKSNetworking object

Name Type Required Value
dnsServiceIP string No An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
dockerBridgeCidr string No A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range.
serviceCidr string No A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
subnetId string No Virtual network subnet resource ID the compute nodes belong to

SSLConfiguration object

Name Type Required Value
cert string No Cert data
cname string No CNAME of the cert
key string No Key data
status string No Enable or disable ssl for scoring - Disabled, Enabled

AmlCompute object

Name Type Required Value
remoteLoginPortPublicAccess string No State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, else is open all public nodes. It can be default only during cluster creation time, after creation it will be either enabled or disabled. - Enabled, Disabled, NotSpecified
scaleSettings object No Scale settings for AML Compute - ScaleSettings object
subnet object No Virtual network subnet resource ID the compute nodes belong to. - ResourceID object
userAccountCredentials object No Credentials for an administrator user account that will be created on each compute node. - UserAccountCredentials object
vmPriority string No Virtual Machine priority - Dedicated, LowPriority
vmSize string No Virtual Machine Size

ComputeInstance object

Name Type Required Value
vmSize string No Virtual Machine Size
subnet object No Virtual network subnet resource ID the compute nodes belong to. - ResourceID object
applicationSharingPolicy string No Policy for sharing applications on this compute instance among users of parent workspace. If Personal, only the creator can access applications on this compute instance. When Shared, any workspace user can access applications on this instance depending on his/her assigned role. - Personal, Shared
sshSettings object No Specifies policy and settings for SSH access. - ComputeInstanceSshSettings object

ComputeInstanceSshSettings object

Name Type Required Value
sshPublicAccess string No State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on this instance. Enabled - Indicates that the public ssh port is open and accessible according to the VNet/subnet policy if applicable. - Enabled, Disabled
adminPublicKey string No Specifies the SSH rsa public key file as a string. Use "ssh-keygen -t rsa -b 2048" to generate your SSH key pairs.

ScaleSetting object

Name Type Required Value
maxNodeCount integer Yes Max number of nodes to use
minNodeCount integer No Min number of nodes to use
nodeIdleTimeBeforeScaleDown string No Node Idle Time before scaling down amlCompute

ResourceID object

Name Type Required Value
id string Yes The ID of the resource

UserAccountCredentials object

Name Type Required Value
adminUserName string Yes Name of the administrator user account which can be used to SSH to nodes.
adminUserPassword string No Password of the administrator user account.
adminUserSshPublicKey string No SSH public key of the administrator user account.

Databricks object

Name Type Required Value
databricksAccessToken string No Databricks access token

DataLakeAnalytics object

Name Type Required Value
dataLakeStoreAccountName string No DataLake Store Account Name

HDInsight object

Name Type Required Value
sshPort integer No Port open for ssh connections on the master node of the cluster.
address string No Public IP address of the master node of the cluster.
administratorAccount object No Admin credentials for master node of the cluster - VirtualMachineSshCredentials object

VirtualMachineSshCredentials object

Name Type Required Value
username string No Username of admin account
password string No Password of admin account
publicKeyData string No Public key data
privateKeyData string No Private key data

VirtualMachine object

Name Type Required Value
virtualMachineSize string No Virtual Machine size
sshPort integer No Port open for ssh connections.
address string No Public IP address of the virtual machine.
administratorAccount object No Admin credentials for virtual machine - VirtualMachineSshCredentials object

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Create a Machine Learning Service ADLA Compute.

Deploy to Azure
This template creates a Machine Learning Service ADLA Compute.
Create a Machine Learning Service Aks Compute.

Deploy to Azure
This template creates a Machine Learning Service Aks Compute.
Create a Machine Learning Service DSVM Compute.

Deploy to Azure
This template creates a Machine Learning Service DSVM Compute.
Create a Machine Learning Service HDInsight cluster

Deploy to Azure
This template creates a Machine Learning Service HDInsight cluster
Create an Azure Machine Learning aks compute.

Deploy to Azure
This template creates an Azure Machine Learning aks compute.
Create an Azure Machine Learning compute cluster.

Deploy to Azure
This template creates an Azure Machine Learning compute cluster.
Create an Azure Machine Learning compute instance target.

Deploy to Azure
This template creates an Azure Machine Learning compute instance target.
Create an AKS compute target with a Private IP address.

Deploy to Azure
This template creates an AKS compute target in given Azure Machine Learning service workspace with a private IP address.