Microsoft.MachineLearningServices workspaces/computes 2024-04-01-preview
- Latest
- 2024-07-01-preview
- 2024-04-01
- 2024-04-01-preview
- 2024-01-01-preview
- 2023-10-01
- 2023-08-01-preview
- 2023-06-01-preview
- 2023-04-01
- 2023-04-01-preview
- 2023-02-01-preview
- 2022-12-01-preview
- 2022-10-01
- 2022-10-01-preview
- 2022-06-01-preview
- 2022-05-01
- 2022-02-01-preview
- 2022-01-01-preview
- 2021-07-01
- 2021-04-01
- 2021-03-01-preview
- 2021-01-01
- 2020-09-01-preview
- 2020-08-01
- 2020-06-01
- 2020-05-15-preview
- 2020-05-01-preview
- 2020-04-01
- 2020-03-01
- 2020-02-18-preview
- 2020-01-01
- 2019-11-01
- 2019-06-01
- 2019-05-01
- 2018-11-19
- 2018-03-01-preview
Bicep resource definition
The workspaces/computes resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.MachineLearningServices/workspaces/computes resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.MachineLearningServices/workspaces/computes@2024-04-01-preview' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
sku: {
capacity: int
family: 'string'
name: 'string'
size: 'string'
tier: 'string'
}
parent: resourceSymbolicName
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
properties: {
computeLocation: 'string'
description: 'string'
disableLocalAuth: bool
resourceId: 'string'
computeType: 'string'
// For remaining properties, see Compute objects
}
}
Compute objects
Set the computeType property to specify the type of object.
For AKS, use:
computeType: 'AKS'
properties: {
agentCount: int
agentVmSize: 'string'
aksNetworkingConfiguration: {
dnsServiceIP: 'string'
dockerBridgeCidr: 'string'
serviceCidr: 'string'
subnetId: 'string'
}
clusterFqdn: 'string'
clusterPurpose: 'string'
loadBalancerSubnet: 'string'
loadBalancerType: 'string'
sslConfiguration: {
cert: 'string'
cname: 'string'
key: 'string'
leafDomainLabel: 'string'
overwriteExistingDomain: bool
status: 'string'
}
}
For AmlCompute, use:
computeType: 'AmlCompute'
properties: {
enableNodePublicIp: bool
isolatedNetwork: bool
osType: 'string'
propertyBag: any()
remoteLoginPortPublicAccess: 'string'
scaleSettings: {
maxNodeCount: int
minNodeCount: int
nodeIdleTimeBeforeScaleDown: 'string'
}
subnet: {
id: 'string'
}
userAccountCredentials: {
adminUserName: 'string'
adminUserPassword: 'string'
adminUserSshPublicKey: 'string'
}
virtualMachineImage: {
id: 'string'
}
vmPriority: 'string'
vmSize: 'string'
}
For ComputeInstance, use:
computeType: 'ComputeInstance'
properties: {
applicationSharingPolicy: 'string'
autologgerSettings: {
mlflowAutologger: 'string'
}
computeInstanceAuthorizationType: 'personal'
customServices: [
{
docker: {
privileged: bool
{customized property}: any()
}
endpoints: [
{
hostIp: 'string'
name: 'string'
protocol: 'string'
published: int
target: int
}
]
environmentVariables: {
{customized property}: {
type: 'local'
value: 'string'
{customized property}: any()
}
}
image: {
reference: 'string'
type: 'string'
version: 'string'
{customized property}: any()
}
kernel: {
argv: [
'string'
]
displayName: 'string'
language: 'string'
}
name: 'string'
volumes: [
{
bind: {
createHostPath: bool
propagation: 'string'
selinux: 'string'
}
consistency: 'string'
readOnly: bool
source: 'string'
target: 'string'
tmpfs: {
size: int
}
type: 'string'
volume: {
nocopy: bool
}
}
]
{customized property}: any()
}
]
enableNodePublicIp: bool
enableOSPatching: bool
enableRootAccess: bool
enableSSO: bool
idleTimeBeforeShutdown: 'string'
personalComputeInstanceSettings: {
assignedUser: {
objectId: 'string'
tenantId: 'string'
}
}
releaseQuotaOnStop: bool
schedules: {
computeStartStop: [
{
action: 'string'
cron: {
expression: 'string'
startTime: 'string'
timeZone: 'string'
}
recurrence: {
frequency: 'string'
interval: int
schedule: {
hours: [
int
]
minutes: [
int
]
monthDays: [
int
]
weekDays: [
'string'
]
}
startTime: 'string'
timeZone: 'string'
}
schedule: {
id: 'string'
provisioningStatus: 'string'
status: 'string'
}
status: 'string'
triggerType: 'string'
}
]
}
setupScripts: {
scripts: {
creationScript: {
scriptArguments: 'string'
scriptData: 'string'
scriptSource: 'string'
timeout: 'string'
}
startupScript: {
scriptArguments: 'string'
scriptData: 'string'
scriptSource: 'string'
timeout: 'string'
}
}
}
sshSettings: {
adminPublicKey: 'string'
sshPublicAccess: 'string'
}
subnet: {
id: 'string'
}
vmSize: 'string'
}
For Databricks, use:
computeType: 'Databricks'
properties: {
databricksAccessToken: 'string'
workspaceUrl: 'string'
}
For DataFactory, use:
computeType: 'DataFactory'
For DataLakeAnalytics, use:
computeType: 'DataLakeAnalytics'
properties: {
dataLakeStoreAccountName: 'string'
}
For HDInsight, use:
computeType: 'HDInsight'
properties: {
address: 'string'
administratorAccount: {
password: 'string'
privateKeyData: 'string'
publicKeyData: 'string'
username: 'string'
}
sshPort: int
}
For Kubernetes, use:
computeType: 'Kubernetes'
properties: {
defaultInstanceType: 'string'
extensionInstanceReleaseTrain: 'string'
extensionPrincipalId: 'string'
instanceTypes: {
{customized property}: {
nodeSelector: {
{customized property}: 'string'
}
resources: {
limits: {
{customized property}: 'string'
}
requests: {
{customized property}: 'string'
}
}
}
}
namespace: 'string'
relayConnectionString: 'string'
serviceBusConnectionString: 'string'
vcName: 'string'
}
For SynapseSpark, use:
computeType: 'SynapseSpark'
properties: {
autoPauseProperties: {
delayInMinutes: int
enabled: bool
}
autoScaleProperties: {
enabled: bool
maxNodeCount: int
minNodeCount: int
}
nodeCount: int
nodeSize: 'string'
nodeSizeFamily: 'string'
poolName: 'string'
resourceGroup: 'string'
sparkVersion: 'string'
subscriptionId: 'string'
workspaceName: 'string'
}
For VirtualMachine, use:
computeType: 'VirtualMachine'
properties: {
address: 'string'
administratorAccount: {
password: 'string'
privateKeyData: 'string'
publicKeyData: 'string'
username: 'string'
}
isNotebookInstanceCompute: bool
notebookServerPort: int
sshPort: int
virtualMachineSize: 'string'
}
Property values
workspaces/computes
Name | Description | Value |
---|---|---|
name | The resource name See how to set names and types for child resources in Bicep. |
string (required) Character limit: 3-24 for compute instance 3-32 for AML compute 2-16 for other compute types Valid characters: Alphanumerics and hyphens. |
location | Specifies the location of the resource. | string |
tags | Contains resource tags defined as key/value pairs. | Dictionary of tag names and values. See Tags in templates |
sku | The sku of the workspace. | Sku |
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 |
identity | The identity of the resource. | ManagedServiceIdentity |
properties | Compute properties | Compute |
ManagedServiceIdentity
Name | Description | Value |
---|---|---|
type | Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (required) |
userAssignedIdentities | The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. | UserAssignedIdentities |
UserAssignedIdentities
Name | Description | Value |
---|---|---|
{customized property} | UserAssignedIdentity |
UserAssignedIdentity
This object doesn't contain any properties to set during deployment. All properties are ReadOnly.
Compute
Name | Description | Value |
---|---|---|
computeLocation | Location for the underlying compute | string |
description | The description of the Machine Learning compute. | string |
disableLocalAuth | Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for authentication. | bool |
resourceId | ARM resource id of the underlying compute | string |
computeType | Set the object type | AKS AmlCompute ComputeInstance Databricks DataFactory DataLakeAnalytics HDInsight Kubernetes SynapseSpark VirtualMachine (required) |
AKS
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'AKS' (required) |
properties | AKS properties | AKSSchemaProperties |
AKSSchemaProperties
Name | Description | Value |
---|---|---|
agentCount | Number of agents | int Constraints: Min value = 0 |
agentVmSize | Agent virtual machine size | string |
aksNetworkingConfiguration | AKS networking configuration for vnet | AksNetworkingConfiguration |
clusterFqdn | Cluster full qualified domain name | string |
clusterPurpose | Intended usage of the cluster | 'DenseProd' 'DevTest' 'FastProd' |
loadBalancerSubnet | Load Balancer Subnet | string |
loadBalancerType | Load Balancer Type | 'InternalLoadBalancer' 'PublicIp' |
sslConfiguration | SSL configuration | SslConfiguration |
AksNetworkingConfiguration
Name | Description | Value |
---|---|---|
dnsServiceIP | An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. | string Constraints: Pattern = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
dockerBridgeCidr | 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. | string Constraints: Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
serviceCidr | A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. | string Constraints: Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
subnetId | Virtual network subnet resource ID the compute nodes belong to | string |
SslConfiguration
Name | Description | Value |
---|---|---|
cert | Cert data | string Constraints: Sensitive value. Pass in as a secure parameter. |
cname | CNAME of the cert | string |
key | Key data | string Constraints: Sensitive value. Pass in as a secure parameter. |
leafDomainLabel | Leaf domain label of public endpoint | string |
overwriteExistingDomain | Indicates whether to overwrite existing domain label. | bool |
status | Enable or disable ssl for scoring | 'Auto' 'Disabled' 'Enabled' |
AmlCompute
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'AmlCompute' (required) |
properties | Properties of AmlCompute | AmlComputeProperties |
AmlComputeProperties
Name | Description | Value |
---|---|---|
enableNodePublicIp | Enable or disable node public IP address provisioning. Possible values are: Possible values are: true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will have a private endpoint and no public IPs. | bool |
isolatedNetwork | Network is isolated or not | bool |
osType | Compute OS Type | 'Linux' 'Windows' |
propertyBag | A property bag containing additional properties. | For Bicep, you can use the any() function. |
remoteLoginPortPublicAccess | 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. | 'Disabled' 'Enabled' 'NotSpecified' |
scaleSettings | Scale settings for AML Compute | ScaleSettings |
subnet | Virtual network subnet resource ID the compute nodes belong to. | ResourceId |
userAccountCredentials | Credentials for an administrator user account that will be created on each compute node. | UserAccountCredentials |
virtualMachineImage | Virtual Machine image for AML Compute - windows only | VirtualMachineImage |
vmPriority | Virtual Machine priority | 'Dedicated' 'LowPriority' |
vmSize | Virtual Machine Size | string |
ScaleSettings
Name | Description | Value |
---|---|---|
maxNodeCount | Max number of nodes to use | int (required) |
minNodeCount | Min number of nodes to use | int |
nodeIdleTimeBeforeScaleDown | Node Idle Time before scaling down amlCompute. This string needs to be in the RFC Format. | string |
ResourceId
Name | Description | Value |
---|---|---|
id | The ID of the resource | string (required) |
UserAccountCredentials
Name | Description | Value |
---|---|---|
adminUserName | Name of the administrator user account which can be used to SSH to nodes. | string (required) |
adminUserPassword | Password of the administrator user account. | string Constraints: Sensitive value. Pass in as a secure parameter. |
adminUserSshPublicKey | SSH public key of the administrator user account. | string Constraints: Sensitive value. Pass in as a secure parameter. |
VirtualMachineImage
Name | Description | Value |
---|---|---|
id | Virtual Machine image path | string (required) |
ComputeInstance
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'ComputeInstance' (required) |
properties | Properties of ComputeInstance | ComputeInstanceProperties |
ComputeInstanceProperties
Name | Description | Value |
---|---|---|
applicationSharingPolicy | 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' |
autologgerSettings | Specifies settings for autologger. | ComputeInstanceAutologgerSettings |
computeInstanceAuthorizationType | The Compute Instance Authorization type. Available values are personal (default). | 'personal' |
customServices | List of Custom Services added to the compute. | CustomService[] |
enableNodePublicIp | Enable or disable node public IP address provisioning. Possible values are: Possible values are: true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will have a private endpoint and no public IPs. | bool |
enableOSPatching | Enable Auto OS Patching. Possible values are: true, false. | bool |
enableRootAccess | Enable root access. Possible values are: true, false. | bool |
enableSSO | Enable SSO (single sign on). Possible values are: true, false. | bool |
idleTimeBeforeShutdown | Stops compute instance after user defined period of inactivity. Time is defined in ISO8601 format. Minimum is 15 min, maximum is 3 days. | string |
personalComputeInstanceSettings | Settings for a personal compute instance. | PersonalComputeInstanceSettings |
releaseQuotaOnStop | Release quota if compute instance stopped. Possible values are: true - release quota if compute instance stopped. false - don't release quota when compute instance stopped. | bool |
schedules | The list of schedules to be applied on the computes. | ComputeSchedules |
setupScripts | Details of customized scripts to execute for setting up the cluster. | SetupScripts |
sshSettings | Specifies policy and settings for SSH access. | ComputeInstanceSshSettings |
subnet | Virtual network subnet resource ID the compute nodes belong to. | ResourceId |
vmSize | Virtual Machine Size | string |
ComputeInstanceAutologgerSettings
Name | Description | Value |
---|---|---|
mlflowAutologger | Indicates whether mlflow autologger is enabled for notebooks. | 'Disabled' 'Enabled' |
CustomService
Name | Description | Value |
---|---|---|
docker | Describes the docker settings for the image | Docker |
endpoints | Configuring the endpoints for the container | Endpoint[] |
environmentVariables | Environment Variable for the container | CustomServiceEnvironmentVariables |
image | Describes the Image Specifications | Image |
kernel | Describes the jupyter kernel settings for the image if its a custom environment | JupyterKernelConfig |
name | Name of the Custom Service | string |
volumes | Configuring the volumes for the container | VolumeDefinition[] |
{customized property} | For Bicep, you can use the any() function. |
Docker
Name | Description | Value |
---|---|---|
privileged | Indicate whether container shall run in privileged or non-privileged mode. | bool |
{customized property} | For Bicep, you can use the any() function. |
Endpoint
Name | Description | Value |
---|---|---|
hostIp | Host IP over which the application is exposed from the container | string |
name | Name of the Endpoint | string |
protocol | Protocol over which communication will happen over this endpoint | 'http ''tcp' 'udp' |
published | Port over which the application is exposed from container. | int |
target | Application port inside the container. | int |
CustomServiceEnvironmentVariables
Name | Description | Value |
---|---|---|
{customized property} | EnvironmentVariable |
EnvironmentVariable
Name | Description | Value |
---|---|---|
type | Type of the Environment Variable. Possible values are: local - For local variable | 'local' |
value | Value of the Environment variable | string |
{customized property} | For Bicep, you can use the any() function. |
Image
Name | Description | Value |
---|---|---|
reference | Image reference URL if type is docker. Environment name if type is azureml | string |
type | Type of the image. Possible values are: docker - For docker images. azureml - For AzureML Environment images (custom and curated) | 'azureml' 'docker' |
version | Version of image being used. If latest then skip this field | string |
{customized property} | For Bicep, you can use the any() function. |
JupyterKernelConfig
Name | Description | Value |
---|---|---|
argv | Argument to the the runtime | string[] |
displayName | Display name of the kernel | string |
language | Language of the kernel [Example value: python] | string |
VolumeDefinition
Name | Description | Value |
---|---|---|
bind | Bind Options of the mount | BindOptions |
consistency | Consistency of the volume | string |
readOnly | Indicate whether to mount volume as readOnly. Default value for this is false. | bool |
source | Source of the mount. For bind mounts this is the host path. | string |
target | Target of the mount. For bind mounts this is the path in the container. | string |
tmpfs | tmpfs option of the mount | TmpfsOptions |
type | Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe | 'bind' 'npipe' 'tmpfs' 'volume' |
volume | Volume Options of the mount | VolumeOptions |
BindOptions
Name | Description | Value |
---|---|---|
createHostPath | Indicate whether to create host path. | bool |
propagation | Type of Bind Option | string |
selinux | Mention the selinux options. | string |
TmpfsOptions
Name | Description | Value |
---|---|---|
size | Mention the Tmpfs size | int |
VolumeOptions
Name | Description | Value |
---|---|---|
nocopy | Indicate whether volume is nocopy | bool |
PersonalComputeInstanceSettings
Name | Description | Value |
---|---|---|
assignedUser | A user explicitly assigned to a personal compute instance. | AssignedUser |
AssignedUser
Name | Description | Value |
---|---|---|
objectId | User’s AAD Object Id. | string (required) |
tenantId | User’s AAD Tenant Id. | string (required) |
ComputeSchedules
Name | Description | Value |
---|---|---|
computeStartStop | The list of compute start stop schedules to be applied. | ComputeStartStopSchedule[] |
ComputeStartStopSchedule
Name | Description | Value |
---|---|---|
action | [Required] The compute power action. | 'Start' 'Stop' |
cron | Required if triggerType is Cron. | Cron |
recurrence | Required if triggerType is Recurrence. | Recurrence |
schedule | [Deprecated] Not used any more. | ScheduleBase |
status | Is the schedule enabled or disabled? | 'Disabled' 'Enabled' |
triggerType | [Required] The schedule trigger type. | 'Cron' 'Recurrence' |
Cron
Name | Description | Value |
---|---|---|
expression | [Required] Specifies cron expression of schedule. The expression should follow NCronTab format. |
string |
startTime | The start time in yyyy-MM-ddTHH:mm:ss format. | string |
timeZone | Specifies time zone in which the schedule runs. TimeZone should follow Windows time zone format. Refer: /windows-hardware/manufacture/desktop/default-time-zones /> |
string |
Recurrence
Name | Description | Value |
---|---|---|
frequency | [Required] The frequency to trigger schedule. | 'Day' 'Hour' 'Minute' 'Month' 'Week' |
interval | [Required] Specifies schedule interval in conjunction with frequency | int |
schedule | [Required] The recurrence schedule. | ComputeRecurrenceSchedule |
startTime | The start time in yyyy-MM-ddTHH:mm:ss format. | string |
timeZone | Specifies time zone in which the schedule runs. TimeZone should follow Windows time zone format. Refer: /windows-hardware/manufacture/desktop/default-time-zones /> |
string |
ComputeRecurrenceSchedule
Name | Description | Value |
---|---|---|
hours | [Required] List of hours for the schedule. | int[] (required) |
minutes | [Required] List of minutes for the schedule. | int[] (required) |
monthDays | List of month days for the schedule | int[] |
weekDays | List of days for the schedule. | String array containing any of: 'Friday' 'Monday' 'Saturday' 'Sunday' 'Thursday' 'Tuesday' 'Wednesday' |
ScheduleBase
Name | Description | Value |
---|---|---|
id | A system assigned id for the schedule. | string |
provisioningStatus | The current deployment state of schedule. | 'Completed' 'Failed' 'Provisioning' |
status | Is the schedule enabled or disabled? | 'Disabled' 'Enabled' |
SetupScripts
Name | Description | Value |
---|---|---|
scripts | Customized setup scripts | ScriptsToExecute |
ScriptsToExecute
Name | Description | Value |
---|---|---|
creationScript | Script that's run only once during provision of the compute. | ScriptReference |
startupScript | Script that's run every time the machine starts. | ScriptReference |
ScriptReference
Name | Description | Value |
---|---|---|
scriptArguments | Optional command line arguments passed to the script to run. | string |
scriptData | The location of scripts in the mounted volume. | string |
scriptSource | The storage source of the script: inline, workspace. | string |
timeout | Optional time period passed to timeout command. | string |
ComputeInstanceSshSettings
Name | Description | Value |
---|---|---|
adminPublicKey | Specifies the SSH rsa public key file as a string. Use "ssh-keygen -t rsa -b 2048" to generate your SSH key pairs. | string |
sshPublicAccess | 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. | 'Disabled' 'Enabled' |
Databricks
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'Databricks' (required) |
properties | Properties of Databricks | DatabricksProperties |
DatabricksProperties
Name | Description | Value |
---|---|---|
databricksAccessToken | Databricks access token | string |
workspaceUrl | Workspace Url | string |
DataFactory
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'DataFactory' (required) |
DataLakeAnalytics
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'DataLakeAnalytics' (required) |
properties | DataLakeAnalyticsSchemaProperties |
DataLakeAnalyticsSchemaProperties
Name | Description | Value |
---|---|---|
dataLakeStoreAccountName | DataLake Store Account Name | string |
HDInsight
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'HDInsight' (required) |
properties | HDInsight compute properties | HDInsightProperties |
HDInsightProperties
Name | Description | Value |
---|---|---|
address | Public IP address of the master node of the cluster. | string |
administratorAccount | Admin credentials for master node of the cluster | VirtualMachineSshCredentials |
sshPort | Port open for ssh connections on the master node of the cluster. | int |
VirtualMachineSshCredentials
Name | Description | Value |
---|---|---|
password | Password of admin account | string |
privateKeyData | Private key data | string Constraints: Sensitive value. Pass in as a secure parameter. |
publicKeyData | Public key data | string Constraints: Sensitive value. Pass in as a secure parameter. |
username | Username of admin account | string |
Kubernetes
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'Kubernetes' (required) |
properties | Properties of Kubernetes | KubernetesProperties |
KubernetesProperties
Name | Description | Value |
---|---|---|
defaultInstanceType | Default instance type | string |
extensionInstanceReleaseTrain | Extension instance release train. | string |
extensionPrincipalId | Extension principal-id. | string |
instanceTypes | Instance Type Schema | KubernetesPropertiesInstanceTypes |
namespace | Compute namespace | string |
relayConnectionString | Relay connection string. | string Constraints: Sensitive value. Pass in as a secure parameter. |
serviceBusConnectionString | ServiceBus connection string. | string Constraints: Sensitive value. Pass in as a secure parameter. |
vcName | VC name. | string |
KubernetesPropertiesInstanceTypes
Name | Description | Value |
---|---|---|
{customized property} | InstanceTypeSchema |
InstanceTypeSchema
Name | Description | Value |
---|---|---|
nodeSelector | Node Selector | InstanceTypeSchemaNodeSelector |
resources | Resource requests/limits for this instance type | InstanceTypeSchemaResources |
InstanceTypeSchemaNodeSelector
Name | Description | Value |
---|---|---|
{customized property} | string |
InstanceTypeSchemaResources
Name | Description | Value |
---|---|---|
limits | Resource limits for this instance type | InstanceResourceSchema |
requests | Resource requests for this instance type | InstanceResourceSchema |
InstanceResourceSchema
Name | Description | Value |
---|---|---|
{customized property} | string |
SynapseSpark
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'SynapseSpark' (required) |
properties | SynapseSparkProperties |
SynapseSparkProperties
Name | Description | Value |
---|---|---|
autoPauseProperties | Auto pause properties. | AutoPauseProperties |
autoScaleProperties | Auto scale properties. | AutoScaleProperties |
nodeCount | The number of compute nodes currently assigned to the compute. | int |
nodeSize | Node size. | string |
nodeSizeFamily | Node size family. | string |
poolName | Pool name. | string |
resourceGroup | Name of the resource group in which workspace is located. | string |
sparkVersion | Spark version. | string |
subscriptionId | Azure subscription identifier. | string |
workspaceName | Name of Azure Machine Learning workspace. | string |
AutoPauseProperties
Name | Description | Value |
---|---|---|
delayInMinutes | int | |
enabled | bool |
AutoScaleProperties
Name | Description | Value |
---|---|---|
enabled | bool | |
maxNodeCount | int | |
minNodeCount | int |
VirtualMachine
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'VirtualMachine' (required) |
properties | VirtualMachineSchemaProperties |
VirtualMachineSchemaProperties
Name | Description | Value |
---|---|---|
address | Public IP address of the virtual machine. | string |
administratorAccount | Admin credentials for virtual machine | VirtualMachineSshCredentials |
isNotebookInstanceCompute | Indicates whether this compute will be used for running notebooks. | bool |
notebookServerPort | Notebook server port open for ssh connections. | int |
sshPort | Port open for ssh connections. | int |
virtualMachineSize | Virtual Machine size | string |
Sku
Name | Description | Value |
---|---|---|
capacity | If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. | int |
family | If the service has different generations of hardware, for the same SKU, then that can be captured here. | string |
name | The name of the SKU. Ex - P3. It is typically a letter+number code | string (required) |
size | The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. | string |
tier | This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. | 'Basic' 'Free' 'Premium' 'Standard' |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Create a Machine Learning Service ADLA Compute |
This template creates a Machine Learning Service ADLA Compute. |
Create a Machine Learning Service Aks Compute |
This template creates a Machine Learning Service Aks Compute. |
Create a Machine Learning Service DSVM Compute |
This template creates a Machine Learning Service DSVM Compute. |
Create a Machine Learning Service HDInsight cluster |
This template creates a Machine Learning Service HDInsight cluster |
Create an Azure Machine Learning aks compute |
This template creates an Azure Machine Learning aks compute. |
Create an Azure Machine Learning compute cluster |
This template creates an Azure Machine Learning compute cluster. |
Create an Azure Machine Learning compute instance |
This template creates an Azure Machine Learning compute instance on behalf of another user with a sample inline setup script |
Create a LinkedService in Azure Machine Learning workspace |
This template creates a LinkedService in an existing Azure Machine Learning workspace. |
Create an AKS compute target with a Private IP address |
This template creates an AKS compute target in given Azure Machine Learning service workspace with a private IP address. |
ARM template resource definition
The workspaces/computes resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.MachineLearningServices/workspaces/computes resource, add the following JSON to your template.
{
"type": "Microsoft.MachineLearningServices/workspaces/computes",
"apiVersion": "2024-04-01-preview",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"sku": {
"capacity": "int",
"family": "string",
"name": "string",
"size": "string",
"tier": "string"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {}
}
},
"properties": {
"computeLocation": "string",
"description": "string",
"disableLocalAuth": "bool",
"resourceId": "string",
"computeType": "string"
// For remaining properties, see Compute objects
}
}
Compute objects
Set the computeType property to specify the type of object.
For AKS, use:
"computeType": "AKS",
"properties": {
"agentCount": "int",
"agentVmSize": "string",
"aksNetworkingConfiguration": {
"dnsServiceIP": "string",
"dockerBridgeCidr": "string",
"serviceCidr": "string",
"subnetId": "string"
},
"clusterFqdn": "string",
"clusterPurpose": "string",
"loadBalancerSubnet": "string",
"loadBalancerType": "string",
"sslConfiguration": {
"cert": "string",
"cname": "string",
"key": "string",
"leafDomainLabel": "string",
"overwriteExistingDomain": "bool",
"status": "string"
}
}
For AmlCompute, use:
"computeType": "AmlCompute",
"properties": {
"enableNodePublicIp": "bool",
"isolatedNetwork": "bool",
"osType": "string",
"propertyBag": {},
"remoteLoginPortPublicAccess": "string",
"scaleSettings": {
"maxNodeCount": "int",
"minNodeCount": "int",
"nodeIdleTimeBeforeScaleDown": "string"
},
"subnet": {
"id": "string"
},
"userAccountCredentials": {
"adminUserName": "string",
"adminUserPassword": "string",
"adminUserSshPublicKey": "string"
},
"virtualMachineImage": {
"id": "string"
},
"vmPriority": "string",
"vmSize": "string"
}
For ComputeInstance, use:
"computeType": "ComputeInstance",
"properties": {
"applicationSharingPolicy": "string",
"autologgerSettings": {
"mlflowAutologger": "string"
},
"computeInstanceAuthorizationType": "personal",
"customServices": [
{
"docker": {
"privileged": "bool",
"{customized property}": {}
},
"endpoints": [
{
"hostIp": "string",
"name": "string",
"protocol": "string",
"published": "int",
"target": "int"
}
],
"environmentVariables": {
"{customized property}": {
"type": "local",
"value": "string",
"{customized property}": {}
}
},
"image": {
"reference": "string",
"type": "string",
"version": "string",
"{customized property}": {}
},
"kernel": {
"argv": [ "string" ],
"displayName": "string",
"language": "string"
},
"name": "string",
"volumes": [
{
"bind": {
"createHostPath": "bool",
"propagation": "string",
"selinux": "string"
},
"consistency": "string",
"readOnly": "bool",
"source": "string",
"target": "string",
"tmpfs": {
"size": "int"
},
"type": "string",
"volume": {
"nocopy": "bool"
}
}
],
"{customized property}": {}
}
],
"enableNodePublicIp": "bool",
"enableOSPatching": "bool",
"enableRootAccess": "bool",
"enableSSO": "bool",
"idleTimeBeforeShutdown": "string",
"personalComputeInstanceSettings": {
"assignedUser": {
"objectId": "string",
"tenantId": "string"
}
},
"releaseQuotaOnStop": "bool",
"schedules": {
"computeStartStop": [
{
"action": "string",
"cron": {
"expression": "string",
"startTime": "string",
"timeZone": "string"
},
"recurrence": {
"frequency": "string",
"interval": "int",
"schedule": {
"hours": [ "int" ],
"minutes": [ "int" ],
"monthDays": [ "int" ],
"weekDays": [ "string" ]
},
"startTime": "string",
"timeZone": "string"
},
"schedule": {
"id": "string",
"provisioningStatus": "string",
"status": "string"
},
"status": "string",
"triggerType": "string"
}
]
},
"setupScripts": {
"scripts": {
"creationScript": {
"scriptArguments": "string",
"scriptData": "string",
"scriptSource": "string",
"timeout": "string"
},
"startupScript": {
"scriptArguments": "string",
"scriptData": "string",
"scriptSource": "string",
"timeout": "string"
}
}
},
"sshSettings": {
"adminPublicKey": "string",
"sshPublicAccess": "string"
},
"subnet": {
"id": "string"
},
"vmSize": "string"
}
For Databricks, use:
"computeType": "Databricks",
"properties": {
"databricksAccessToken": "string",
"workspaceUrl": "string"
}
For DataFactory, use:
"computeType": "DataFactory"
For DataLakeAnalytics, use:
"computeType": "DataLakeAnalytics",
"properties": {
"dataLakeStoreAccountName": "string"
}
For HDInsight, use:
"computeType": "HDInsight",
"properties": {
"address": "string",
"administratorAccount": {
"password": "string",
"privateKeyData": "string",
"publicKeyData": "string",
"username": "string"
},
"sshPort": "int"
}
For Kubernetes, use:
"computeType": "Kubernetes",
"properties": {
"defaultInstanceType": "string",
"extensionInstanceReleaseTrain": "string",
"extensionPrincipalId": "string",
"instanceTypes": {
"{customized property}": {
"nodeSelector": {
"{customized property}": "string"
},
"resources": {
"limits": {
"{customized property}": "string"
},
"requests": {
"{customized property}": "string"
}
}
}
},
"namespace": "string",
"relayConnectionString": "string",
"serviceBusConnectionString": "string",
"vcName": "string"
}
For SynapseSpark, use:
"computeType": "SynapseSpark",
"properties": {
"autoPauseProperties": {
"delayInMinutes": "int",
"enabled": "bool"
},
"autoScaleProperties": {
"enabled": "bool",
"maxNodeCount": "int",
"minNodeCount": "int"
},
"nodeCount": "int",
"nodeSize": "string",
"nodeSizeFamily": "string",
"poolName": "string",
"resourceGroup": "string",
"sparkVersion": "string",
"subscriptionId": "string",
"workspaceName": "string"
}
For VirtualMachine, use:
"computeType": "VirtualMachine",
"properties": {
"address": "string",
"administratorAccount": {
"password": "string",
"privateKeyData": "string",
"publicKeyData": "string",
"username": "string"
},
"isNotebookInstanceCompute": "bool",
"notebookServerPort": "int",
"sshPort": "int",
"virtualMachineSize": "string"
}
Property values
workspaces/computes
Name | Description | Value |
---|---|---|
type | The resource type | 'Microsoft.MachineLearningServices/workspaces/computes' |
apiVersion | The resource api version | '2024-04-01-preview' |
name | The resource name See how to set names and types for child resources in JSON ARM templates. |
string (required) Character limit: 3-24 for compute instance 3-32 for AML compute 2-16 for other compute types Valid characters: Alphanumerics and hyphens. |
location | Specifies the location of the resource. | string |
tags | Contains resource tags defined as key/value pairs. | Dictionary of tag names and values. See Tags in templates |
sku | The sku of the workspace. | Sku |
identity | The identity of the resource. | ManagedServiceIdentity |
properties | Compute properties | Compute |
ManagedServiceIdentity
Name | Description | Value |
---|---|---|
type | Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (required) |
userAssignedIdentities | The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. | UserAssignedIdentities |
UserAssignedIdentities
Name | Description | Value |
---|---|---|
{customized property} | UserAssignedIdentity |
UserAssignedIdentity
This object doesn't contain any properties to set during deployment. All properties are ReadOnly.
Compute
Name | Description | Value |
---|---|---|
computeLocation | Location for the underlying compute | string |
description | The description of the Machine Learning compute. | string |
disableLocalAuth | Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for authentication. | bool |
resourceId | ARM resource id of the underlying compute | string |
computeType | Set the object type | AKS AmlCompute ComputeInstance Databricks DataFactory DataLakeAnalytics HDInsight Kubernetes SynapseSpark VirtualMachine (required) |
AKS
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'AKS' (required) |
properties | AKS properties | AKSSchemaProperties |
AKSSchemaProperties
Name | Description | Value |
---|---|---|
agentCount | Number of agents | int Constraints: Min value = 0 |
agentVmSize | Agent virtual machine size | string |
aksNetworkingConfiguration | AKS networking configuration for vnet | AksNetworkingConfiguration |
clusterFqdn | Cluster full qualified domain name | string |
clusterPurpose | Intended usage of the cluster | 'DenseProd' 'DevTest' 'FastProd' |
loadBalancerSubnet | Load Balancer Subnet | string |
loadBalancerType | Load Balancer Type | 'InternalLoadBalancer' 'PublicIp' |
sslConfiguration | SSL configuration | SslConfiguration |
AksNetworkingConfiguration
Name | Description | Value |
---|---|---|
dnsServiceIP | An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. | string Constraints: Pattern = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
dockerBridgeCidr | 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. | string Constraints: Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
serviceCidr | A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. | string Constraints: Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
subnetId | Virtual network subnet resource ID the compute nodes belong to | string |
SslConfiguration
Name | Description | Value |
---|---|---|
cert | Cert data | string Constraints: Sensitive value. Pass in as a secure parameter. |
cname | CNAME of the cert | string |
key | Key data | string Constraints: Sensitive value. Pass in as a secure parameter. |
leafDomainLabel | Leaf domain label of public endpoint | string |
overwriteExistingDomain | Indicates whether to overwrite existing domain label. | bool |
status | Enable or disable ssl for scoring | 'Auto' 'Disabled' 'Enabled' |
AmlCompute
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'AmlCompute' (required) |
properties | Properties of AmlCompute | AmlComputeProperties |
AmlComputeProperties
Name | Description | Value |
---|---|---|
enableNodePublicIp | Enable or disable node public IP address provisioning. Possible values are: Possible values are: true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will have a private endpoint and no public IPs. | bool |
isolatedNetwork | Network is isolated or not | bool |
osType | Compute OS Type | 'Linux' 'Windows' |
propertyBag | A property bag containing additional properties. | |
remoteLoginPortPublicAccess | 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. | 'Disabled' 'Enabled' 'NotSpecified' |
scaleSettings | Scale settings for AML Compute | ScaleSettings |
subnet | Virtual network subnet resource ID the compute nodes belong to. | ResourceId |
userAccountCredentials | Credentials for an administrator user account that will be created on each compute node. | UserAccountCredentials |
virtualMachineImage | Virtual Machine image for AML Compute - windows only | VirtualMachineImage |
vmPriority | Virtual Machine priority | 'Dedicated' 'LowPriority' |
vmSize | Virtual Machine Size | string |
ScaleSettings
Name | Description | Value |
---|---|---|
maxNodeCount | Max number of nodes to use | int (required) |
minNodeCount | Min number of nodes to use | int |
nodeIdleTimeBeforeScaleDown | Node Idle Time before scaling down amlCompute. This string needs to be in the RFC Format. | string |
ResourceId
Name | Description | Value |
---|---|---|
id | The ID of the resource | string (required) |
UserAccountCredentials
Name | Description | Value |
---|---|---|
adminUserName | Name of the administrator user account which can be used to SSH to nodes. | string (required) |
adminUserPassword | Password of the administrator user account. | string Constraints: Sensitive value. Pass in as a secure parameter. |
adminUserSshPublicKey | SSH public key of the administrator user account. | string Constraints: Sensitive value. Pass in as a secure parameter. |
VirtualMachineImage
Name | Description | Value |
---|---|---|
id | Virtual Machine image path | string (required) |
ComputeInstance
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'ComputeInstance' (required) |
properties | Properties of ComputeInstance | ComputeInstanceProperties |
ComputeInstanceProperties
Name | Description | Value |
---|---|---|
applicationSharingPolicy | 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' |
autologgerSettings | Specifies settings for autologger. | ComputeInstanceAutologgerSettings |
computeInstanceAuthorizationType | The Compute Instance Authorization type. Available values are personal (default). | 'personal' |
customServices | List of Custom Services added to the compute. | CustomService[] |
enableNodePublicIp | Enable or disable node public IP address provisioning. Possible values are: Possible values are: true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will have a private endpoint and no public IPs. | bool |
enableOSPatching | Enable Auto OS Patching. Possible values are: true, false. | bool |
enableRootAccess | Enable root access. Possible values are: true, false. | bool |
enableSSO | Enable SSO (single sign on). Possible values are: true, false. | bool |
idleTimeBeforeShutdown | Stops compute instance after user defined period of inactivity. Time is defined in ISO8601 format. Minimum is 15 min, maximum is 3 days. | string |
personalComputeInstanceSettings | Settings for a personal compute instance. | PersonalComputeInstanceSettings |
releaseQuotaOnStop | Release quota if compute instance stopped. Possible values are: true - release quota if compute instance stopped. false - don't release quota when compute instance stopped. | bool |
schedules | The list of schedules to be applied on the computes. | ComputeSchedules |
setupScripts | Details of customized scripts to execute for setting up the cluster. | SetupScripts |
sshSettings | Specifies policy and settings for SSH access. | ComputeInstanceSshSettings |
subnet | Virtual network subnet resource ID the compute nodes belong to. | ResourceId |
vmSize | Virtual Machine Size | string |
ComputeInstanceAutologgerSettings
Name | Description | Value |
---|---|---|
mlflowAutologger | Indicates whether mlflow autologger is enabled for notebooks. | 'Disabled' 'Enabled' |
CustomService
Name | Description | Value |
---|---|---|
docker | Describes the docker settings for the image | Docker |
endpoints | Configuring the endpoints for the container | Endpoint[] |
environmentVariables | Environment Variable for the container | CustomServiceEnvironmentVariables |
image | Describes the Image Specifications | Image |
kernel | Describes the jupyter kernel settings for the image if its a custom environment | JupyterKernelConfig |
name | Name of the Custom Service | string |
volumes | Configuring the volumes for the container | VolumeDefinition[] |
{customized property} |
Docker
Name | Description | Value |
---|---|---|
privileged | Indicate whether container shall run in privileged or non-privileged mode. | bool |
{customized property} |
Endpoint
Name | Description | Value |
---|---|---|
hostIp | Host IP over which the application is exposed from the container | string |
name | Name of the Endpoint | string |
protocol | Protocol over which communication will happen over this endpoint | 'http ''tcp' 'udp' |
published | Port over which the application is exposed from container. | int |
target | Application port inside the container. | int |
CustomServiceEnvironmentVariables
Name | Description | Value |
---|---|---|
{customized property} | EnvironmentVariable |
EnvironmentVariable
Name | Description | Value |
---|---|---|
type | Type of the Environment Variable. Possible values are: local - For local variable | 'local' |
value | Value of the Environment variable | string |
{customized property} |
Image
Name | Description | Value |
---|---|---|
reference | Image reference URL if type is docker. Environment name if type is azureml | string |
type | Type of the image. Possible values are: docker - For docker images. azureml - For AzureML Environment images (custom and curated) | 'azureml' 'docker' |
version | Version of image being used. If latest then skip this field | string |
{customized property} |
JupyterKernelConfig
Name | Description | Value |
---|---|---|
argv | Argument to the the runtime | string[] |
displayName | Display name of the kernel | string |
language | Language of the kernel [Example value: python] | string |
VolumeDefinition
Name | Description | Value |
---|---|---|
bind | Bind Options of the mount | BindOptions |
consistency | Consistency of the volume | string |
readOnly | Indicate whether to mount volume as readOnly. Default value for this is false. | bool |
source | Source of the mount. For bind mounts this is the host path. | string |
target | Target of the mount. For bind mounts this is the path in the container. | string |
tmpfs | tmpfs option of the mount | TmpfsOptions |
type | Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe | 'bind' 'npipe' 'tmpfs' 'volume' |
volume | Volume Options of the mount | VolumeOptions |
BindOptions
Name | Description | Value |
---|---|---|
createHostPath | Indicate whether to create host path. | bool |
propagation | Type of Bind Option | string |
selinux | Mention the selinux options. | string |
TmpfsOptions
Name | Description | Value |
---|---|---|
size | Mention the Tmpfs size | int |
VolumeOptions
Name | Description | Value |
---|---|---|
nocopy | Indicate whether volume is nocopy | bool |
PersonalComputeInstanceSettings
Name | Description | Value |
---|---|---|
assignedUser | A user explicitly assigned to a personal compute instance. | AssignedUser |
AssignedUser
Name | Description | Value |
---|---|---|
objectId | User’s AAD Object Id. | string (required) |
tenantId | User’s AAD Tenant Id. | string (required) |
ComputeSchedules
Name | Description | Value |
---|---|---|
computeStartStop | The list of compute start stop schedules to be applied. | ComputeStartStopSchedule[] |
ComputeStartStopSchedule
Name | Description | Value |
---|---|---|
action | [Required] The compute power action. | 'Start' 'Stop' |
cron | Required if triggerType is Cron. | Cron |
recurrence | Required if triggerType is Recurrence. | Recurrence |
schedule | [Deprecated] Not used any more. | ScheduleBase |
status | Is the schedule enabled or disabled? | 'Disabled' 'Enabled' |
triggerType | [Required] The schedule trigger type. | 'Cron' 'Recurrence' |
Cron
Name | Description | Value |
---|---|---|
expression | [Required] Specifies cron expression of schedule. The expression should follow NCronTab format. |
string |
startTime | The start time in yyyy-MM-ddTHH:mm:ss format. | string |
timeZone | Specifies time zone in which the schedule runs. TimeZone should follow Windows time zone format. Refer: /windows-hardware/manufacture/desktop/default-time-zones /> |
string |
Recurrence
Name | Description | Value |
---|---|---|
frequency | [Required] The frequency to trigger schedule. | 'Day' 'Hour' 'Minute' 'Month' 'Week' |
interval | [Required] Specifies schedule interval in conjunction with frequency | int |
schedule | [Required] The recurrence schedule. | ComputeRecurrenceSchedule |
startTime | The start time in yyyy-MM-ddTHH:mm:ss format. | string |
timeZone | Specifies time zone in which the schedule runs. TimeZone should follow Windows time zone format. Refer: /windows-hardware/manufacture/desktop/default-time-zones /> |
string |
ComputeRecurrenceSchedule
Name | Description | Value |
---|---|---|
hours | [Required] List of hours for the schedule. | int[] (required) |
minutes | [Required] List of minutes for the schedule. | int[] (required) |
monthDays | List of month days for the schedule | int[] |
weekDays | List of days for the schedule. | String array containing any of: 'Friday' 'Monday' 'Saturday' 'Sunday' 'Thursday' 'Tuesday' 'Wednesday' |
ScheduleBase
Name | Description | Value |
---|---|---|
id | A system assigned id for the schedule. | string |
provisioningStatus | The current deployment state of schedule. | 'Completed' 'Failed' 'Provisioning' |
status | Is the schedule enabled or disabled? | 'Disabled' 'Enabled' |
SetupScripts
Name | Description | Value |
---|---|---|
scripts | Customized setup scripts | ScriptsToExecute |
ScriptsToExecute
Name | Description | Value |
---|---|---|
creationScript | Script that's run only once during provision of the compute. | ScriptReference |
startupScript | Script that's run every time the machine starts. | ScriptReference |
ScriptReference
Name | Description | Value |
---|---|---|
scriptArguments | Optional command line arguments passed to the script to run. | string |
scriptData | The location of scripts in the mounted volume. | string |
scriptSource | The storage source of the script: inline, workspace. | string |
timeout | Optional time period passed to timeout command. | string |
ComputeInstanceSshSettings
Name | Description | Value |
---|---|---|
adminPublicKey | Specifies the SSH rsa public key file as a string. Use "ssh-keygen -t rsa -b 2048" to generate your SSH key pairs. | string |
sshPublicAccess | 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. | 'Disabled' 'Enabled' |
Databricks
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'Databricks' (required) |
properties | Properties of Databricks | DatabricksProperties |
DatabricksProperties
Name | Description | Value |
---|---|---|
databricksAccessToken | Databricks access token | string |
workspaceUrl | Workspace Url | string |
DataFactory
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'DataFactory' (required) |
DataLakeAnalytics
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'DataLakeAnalytics' (required) |
properties | DataLakeAnalyticsSchemaProperties |
DataLakeAnalyticsSchemaProperties
Name | Description | Value |
---|---|---|
dataLakeStoreAccountName | DataLake Store Account Name | string |
HDInsight
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'HDInsight' (required) |
properties | HDInsight compute properties | HDInsightProperties |
HDInsightProperties
Name | Description | Value |
---|---|---|
address | Public IP address of the master node of the cluster. | string |
administratorAccount | Admin credentials for master node of the cluster | VirtualMachineSshCredentials |
sshPort | Port open for ssh connections on the master node of the cluster. | int |
VirtualMachineSshCredentials
Name | Description | Value |
---|---|---|
password | Password of admin account | string |
privateKeyData | Private key data | string Constraints: Sensitive value. Pass in as a secure parameter. |
publicKeyData | Public key data | string Constraints: Sensitive value. Pass in as a secure parameter. |
username | Username of admin account | string |
Kubernetes
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'Kubernetes' (required) |
properties | Properties of Kubernetes | KubernetesProperties |
KubernetesProperties
Name | Description | Value |
---|---|---|
defaultInstanceType | Default instance type | string |
extensionInstanceReleaseTrain | Extension instance release train. | string |
extensionPrincipalId | Extension principal-id. | string |
instanceTypes | Instance Type Schema | KubernetesPropertiesInstanceTypes |
namespace | Compute namespace | string |
relayConnectionString | Relay connection string. | string Constraints: Sensitive value. Pass in as a secure parameter. |
serviceBusConnectionString | ServiceBus connection string. | string Constraints: Sensitive value. Pass in as a secure parameter. |
vcName | VC name. | string |
KubernetesPropertiesInstanceTypes
Name | Description | Value |
---|---|---|
{customized property} | InstanceTypeSchema |
InstanceTypeSchema
Name | Description | Value |
---|---|---|
nodeSelector | Node Selector | InstanceTypeSchemaNodeSelector |
resources | Resource requests/limits for this instance type | InstanceTypeSchemaResources |
InstanceTypeSchemaNodeSelector
Name | Description | Value |
---|---|---|
{customized property} | string |
InstanceTypeSchemaResources
Name | Description | Value |
---|---|---|
limits | Resource limits for this instance type | InstanceResourceSchema |
requests | Resource requests for this instance type | InstanceResourceSchema |
InstanceResourceSchema
Name | Description | Value |
---|---|---|
{customized property} | string |
SynapseSpark
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'SynapseSpark' (required) |
properties | SynapseSparkProperties |
SynapseSparkProperties
Name | Description | Value |
---|---|---|
autoPauseProperties | Auto pause properties. | AutoPauseProperties |
autoScaleProperties | Auto scale properties. | AutoScaleProperties |
nodeCount | The number of compute nodes currently assigned to the compute. | int |
nodeSize | Node size. | string |
nodeSizeFamily | Node size family. | string |
poolName | Pool name. | string |
resourceGroup | Name of the resource group in which workspace is located. | string |
sparkVersion | Spark version. | string |
subscriptionId | Azure subscription identifier. | string |
workspaceName | Name of Azure Machine Learning workspace. | string |
AutoPauseProperties
Name | Description | Value |
---|---|---|
delayInMinutes | int | |
enabled | bool |
AutoScaleProperties
Name | Description | Value |
---|---|---|
enabled | bool | |
maxNodeCount | int | |
minNodeCount | int |
VirtualMachine
Name | Description | Value |
---|---|---|
computeType | The type of compute | 'VirtualMachine' (required) |
properties | VirtualMachineSchemaProperties |
VirtualMachineSchemaProperties
Name | Description | Value |
---|---|---|
address | Public IP address of the virtual machine. | string |
administratorAccount | Admin credentials for virtual machine | VirtualMachineSshCredentials |
isNotebookInstanceCompute | Indicates whether this compute will be used for running notebooks. | bool |
notebookServerPort | Notebook server port open for ssh connections. | int |
sshPort | Port open for ssh connections. | int |
virtualMachineSize | Virtual Machine size | string |
Sku
Name | Description | Value |
---|---|---|
capacity | If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. | int |
family | If the service has different generations of hardware, for the same SKU, then that can be captured here. | string |
name | The name of the SKU. Ex - P3. It is typically a letter+number code | string (required) |
size | The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. | string |
tier | This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. | 'Basic' 'Free' 'Premium' 'Standard' |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Create a Machine Learning Service ADLA Compute |
This template creates a Machine Learning Service ADLA Compute. |
Create a Machine Learning Service Aks Compute |
This template creates a Machine Learning Service Aks Compute. |
Create a Machine Learning Service DSVM Compute |
This template creates a Machine Learning Service DSVM Compute. |
Create a Machine Learning Service HDInsight cluster |
This template creates a Machine Learning Service HDInsight cluster |
Create an Azure Machine Learning aks compute |
This template creates an Azure Machine Learning aks compute. |
Create an Azure Machine Learning compute cluster |
This template creates an Azure Machine Learning compute cluster. |
Create an Azure Machine Learning compute instance |
This template creates an Azure Machine Learning compute instance on behalf of another user with a sample inline setup script |
Create a LinkedService in Azure Machine Learning workspace |
This template creates a LinkedService in an existing Azure Machine Learning workspace. |
Create an AKS compute target with a Private IP address |
This template creates an AKS compute target in given Azure Machine Learning service workspace with a private IP address. |
Terraform (AzAPI provider) resource definition
The workspaces/computes 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/computes resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.MachineLearningServices/workspaces/computes@2024-04-01-preview"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
computeLocation = "string"
description = "string"
disableLocalAuth = bool
resourceId = "string"
computeType = "string"
// For remaining properties, see Compute objects
}
sku = {
capacity = int
family = "string"
name = "string"
size = "string"
tier = "string"
}
})
}
Compute objects
Set the computeType property to specify the type of object.
For AKS, use:
computeType = "AKS"
properties = {
agentCount = int
agentVmSize = "string"
aksNetworkingConfiguration = {
dnsServiceIP = "string"
dockerBridgeCidr = "string"
serviceCidr = "string"
subnetId = "string"
}
clusterFqdn = "string"
clusterPurpose = "string"
loadBalancerSubnet = "string"
loadBalancerType = "string"
sslConfiguration = {
cert = "string"
cname = "string"
key = "string"
leafDomainLabel = "string"
overwriteExistingDomain = bool
status = "string"
}
}
For AmlCompute, use:
computeType = "AmlCompute"
properties = {
enableNodePublicIp = bool
isolatedNetwork = bool
osType = "string"
remoteLoginPortPublicAccess = "string"
scaleSettings = {
maxNodeCount = int
minNodeCount = int
nodeIdleTimeBeforeScaleDown = "string"
}
subnet = {
id = "string"
}
userAccountCredentials = {
adminUserName = "string"
adminUserPassword = "string"
adminUserSshPublicKey = "string"
}
virtualMachineImage = {
id = "string"
}
vmPriority = "string"
vmSize = "string"
}
For ComputeInstance, use:
computeType = "ComputeInstance"
properties = {
applicationSharingPolicy = "string"
autologgerSettings = {
mlflowAutologger = "string"
}
computeInstanceAuthorizationType = "personal"
customServices = [
{
docker = {
privileged = bool
}
endpoints = [
{
hostIp = "string"
name = "string"
protocol = "string"
published = int
target = int
}
]
environmentVariables = {
{customized property} = {
type = "local"
value = "string"
}
}
image = {
reference = "string"
type = "string"
version = "string"
}
kernel = {
argv = [
"string"
]
displayName = "string"
language = "string"
}
name = "string"
volumes = [
{
bind = {
createHostPath = bool
propagation = "string"
selinux = "string"
}
consistency = "string"
readOnly = bool
source = "string"
target = "string"
tmpfs = {
size = int
}
type = "string"
volume = {
nocopy = bool
}
}
]
}
]
enableNodePublicIp = bool
enableOSPatching = bool
enableRootAccess = bool
enableSSO = bool
idleTimeBeforeShutdown = "string"
personalComputeInstanceSettings = {
assignedUser = {
objectId = "string"
tenantId = "string"
}
}
releaseQuotaOnStop = bool
schedules = {
computeStartStop = [
{
action = "string"
cron = {
expression = "string"
startTime = "string"
timeZone = "string"
}
recurrence = {
frequency = "string"
interval = int
schedule = {
hours = [
int
]
minutes = [
int
]
monthDays = [
int
]
weekDays = [
"string"
]
}
startTime = "string"
timeZone = "string"
}
schedule = {
id = "string"
provisioningStatus = "string"
status = "string"
}
status = "string"
triggerType = "string"
}
]
}
setupScripts = {
scripts = {
creationScript = {
scriptArguments = "string"
scriptData = "string"
scriptSource = "string"
timeout = "string"
}
startupScript = {
scriptArguments = "string"
scriptData = "string"
scriptSource = "string"
timeout = "string"
}
}
}
sshSettings = {
adminPublicKey = "string"
sshPublicAccess = "string"
}
subnet = {
id = "string"
}
vmSize = "string"
}
For Databricks, use:
computeType = "Databricks"
properties = {
databricksAccessToken = "string"
workspaceUrl = "string"
}
For DataFactory, use:
computeType = "DataFactory"
For DataLakeAnalytics, use:
computeType = "DataLakeAnalytics"
properties = {
dataLakeStoreAccountName = "string"
}
For HDInsight, use:
computeType = "HDInsight"
properties = {
address = "string"
administratorAccount = {
password = "string"
privateKeyData = "string"
publicKeyData = "string"
username = "string"
}
sshPort = int
}
For Kubernetes, use:
computeType = "Kubernetes"
properties = {
defaultInstanceType = "string"
extensionInstanceReleaseTrain = "string"
extensionPrincipalId = "string"
instanceTypes = {
{customized property} = {
nodeSelector = {
{customized property} = "string"
}
resources = {
limits = {
{customized property} = "string"
}
requests = {
{customized property} = "string"
}
}
}
}
namespace = "string"
relayConnectionString = "string"
serviceBusConnectionString = "string"
vcName = "string"
}
For SynapseSpark, use:
computeType = "SynapseSpark"
properties = {
autoPauseProperties = {
delayInMinutes = int
enabled = bool
}
autoScaleProperties = {
enabled = bool
maxNodeCount = int
minNodeCount = int
}
nodeCount = int
nodeSize = "string"
nodeSizeFamily = "string"
poolName = "string"
resourceGroup = "string"
sparkVersion = "string"
subscriptionId = "string"
workspaceName = "string"
}
For VirtualMachine, use:
computeType = "VirtualMachine"
properties = {
address = "string"
administratorAccount = {
password = "string"
privateKeyData = "string"
publicKeyData = "string"
username = "string"
}
isNotebookInstanceCompute = bool
notebookServerPort = int
sshPort = int
virtualMachineSize = "string"
}
Property values
workspaces/computes
Name | Description | Value |
---|---|---|
type | The resource type | "Microsoft.MachineLearningServices/workspaces/computes@2024-04-01-preview" |
name | The resource name | string (required) Character limit: 3-24 for compute instance 3-32 for AML compute 2-16 for other compute types Valid characters: Alphanumerics and hyphens. |
location | Specifies the location of the resource. | string |
parent_id | The ID of the resource that is the parent for this resource. | ID for resource of type: workspaces |
tags | Contains resource tags defined as key/value pairs. | Dictionary of tag names and values. |
sku | The sku of the workspace. | Sku |
identity | The identity of the resource. | ManagedServiceIdentity |
properties | Compute properties | Compute |
ManagedServiceIdentity
Name | Description | Value |
---|---|---|
type | Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). | "SystemAssigned" "SystemAssigned,UserAssigned" "UserAssigned" (required) |
identity_ids | The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. | Array of user identity IDs. |
UserAssignedIdentities
Name | Description | Value |
---|---|---|
{customized property} | UserAssignedIdentity |
UserAssignedIdentity
This object doesn't contain any properties to set during deployment. All properties are ReadOnly.
Compute
Name | Description | Value |
---|---|---|
computeLocation | Location for the underlying compute | string |
description | The description of the Machine Learning compute. | string |
disableLocalAuth | Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for authentication. | bool |
resourceId | ARM resource id of the underlying compute | string |
computeType | Set the object type | AKS AmlCompute ComputeInstance Databricks DataFactory DataLakeAnalytics HDInsight Kubernetes SynapseSpark VirtualMachine (required) |
AKS
Name | Description | Value |
---|---|---|
computeType | The type of compute | "AKS" (required) |
properties | AKS properties | AKSSchemaProperties |
AKSSchemaProperties
Name | Description | Value |
---|---|---|
agentCount | Number of agents | int Constraints: Min value = 0 |
agentVmSize | Agent virtual machine size | string |
aksNetworkingConfiguration | AKS networking configuration for vnet | AksNetworkingConfiguration |
clusterFqdn | Cluster full qualified domain name | string |
clusterPurpose | Intended usage of the cluster | "DenseProd" "DevTest" "FastProd" |
loadBalancerSubnet | Load Balancer Subnet | string |
loadBalancerType | Load Balancer Type | "InternalLoadBalancer" "PublicIp" |
sslConfiguration | SSL configuration | SslConfiguration |
AksNetworkingConfiguration
Name | Description | Value |
---|---|---|
dnsServiceIP | An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. | string Constraints: Pattern = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
dockerBridgeCidr | 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. | string Constraints: Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
serviceCidr | A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. | string Constraints: Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
subnetId | Virtual network subnet resource ID the compute nodes belong to | string |
SslConfiguration
Name | Description | Value |
---|---|---|
cert | Cert data | string Constraints: Sensitive value. Pass in as a secure parameter. |
cname | CNAME of the cert | string |
key | Key data | string Constraints: Sensitive value. Pass in as a secure parameter. |
leafDomainLabel | Leaf domain label of public endpoint | string |
overwriteExistingDomain | Indicates whether to overwrite existing domain label. | bool |
status | Enable or disable ssl for scoring | "Auto" "Disabled" "Enabled" |
AmlCompute
Name | Description | Value |
---|---|---|
computeType | The type of compute | "AmlCompute" (required) |
properties | Properties of AmlCompute | AmlComputeProperties |
AmlComputeProperties
Name | Description | Value |
---|---|---|
enableNodePublicIp | Enable or disable node public IP address provisioning. Possible values are: Possible values are: true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will have a private endpoint and no public IPs. | bool |
isolatedNetwork | Network is isolated or not | bool |
osType | Compute OS Type | "Linux" "Windows" |
propertyBag | A property bag containing additional properties. | |
remoteLoginPortPublicAccess | 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. | "Disabled" "Enabled" "NotSpecified" |
scaleSettings | Scale settings for AML Compute | ScaleSettings |
subnet | Virtual network subnet resource ID the compute nodes belong to. | ResourceId |
userAccountCredentials | Credentials for an administrator user account that will be created on each compute node. | UserAccountCredentials |
virtualMachineImage | Virtual Machine image for AML Compute - windows only | VirtualMachineImage |
vmPriority | Virtual Machine priority | "Dedicated" "LowPriority" |
vmSize | Virtual Machine Size | string |
ScaleSettings
Name | Description | Value |
---|---|---|
maxNodeCount | Max number of nodes to use | int (required) |
minNodeCount | Min number of nodes to use | int |
nodeIdleTimeBeforeScaleDown | Node Idle Time before scaling down amlCompute. This string needs to be in the RFC Format. | string |
ResourceId
Name | Description | Value |
---|---|---|
id | The ID of the resource | string (required) |
UserAccountCredentials
Name | Description | Value |
---|---|---|
adminUserName | Name of the administrator user account which can be used to SSH to nodes. | string (required) |
adminUserPassword | Password of the administrator user account. | string Constraints: Sensitive value. Pass in as a secure parameter. |
adminUserSshPublicKey | SSH public key of the administrator user account. | string Constraints: Sensitive value. Pass in as a secure parameter. |
VirtualMachineImage
Name | Description | Value |
---|---|---|
id | Virtual Machine image path | string (required) |
ComputeInstance
Name | Description | Value |
---|---|---|
computeType | The type of compute | "ComputeInstance" (required) |
properties | Properties of ComputeInstance | ComputeInstanceProperties |
ComputeInstanceProperties
Name | Description | Value |
---|---|---|
applicationSharingPolicy | 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" |
autologgerSettings | Specifies settings for autologger. | ComputeInstanceAutologgerSettings |
computeInstanceAuthorizationType | The Compute Instance Authorization type. Available values are personal (default). | "personal" |
customServices | List of Custom Services added to the compute. | CustomService[] |
enableNodePublicIp | Enable or disable node public IP address provisioning. Possible values are: Possible values are: true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will have a private endpoint and no public IPs. | bool |
enableOSPatching | Enable Auto OS Patching. Possible values are: true, false. | bool |
enableRootAccess | Enable root access. Possible values are: true, false. | bool |
enableSSO | Enable SSO (single sign on). Possible values are: true, false. | bool |
idleTimeBeforeShutdown | Stops compute instance after user defined period of inactivity. Time is defined in ISO8601 format. Minimum is 15 min, maximum is 3 days. | string |
personalComputeInstanceSettings | Settings for a personal compute instance. | PersonalComputeInstanceSettings |
releaseQuotaOnStop | Release quota if compute instance stopped. Possible values are: true - release quota if compute instance stopped. false - don't release quota when compute instance stopped. | bool |
schedules | The list of schedules to be applied on the computes. | ComputeSchedules |
setupScripts | Details of customized scripts to execute for setting up the cluster. | SetupScripts |
sshSettings | Specifies policy and settings for SSH access. | ComputeInstanceSshSettings |
subnet | Virtual network subnet resource ID the compute nodes belong to. | ResourceId |
vmSize | Virtual Machine Size | string |
ComputeInstanceAutologgerSettings
Name | Description | Value |
---|---|---|
mlflowAutologger | Indicates whether mlflow autologger is enabled for notebooks. | "Disabled" "Enabled" |
CustomService
Name | Description | Value |
---|---|---|
docker | Describes the docker settings for the image | Docker |
endpoints | Configuring the endpoints for the container | Endpoint[] |
environmentVariables | Environment Variable for the container | CustomServiceEnvironmentVariables |
image | Describes the Image Specifications | Image |
kernel | Describes the jupyter kernel settings for the image if its a custom environment | JupyterKernelConfig |
name | Name of the Custom Service | string |
volumes | Configuring the volumes for the container | VolumeDefinition[] |
{customized property} |
Docker
Name | Description | Value |
---|---|---|
privileged | Indicate whether container shall run in privileged or non-privileged mode. | bool |
{customized property} |
Endpoint
Name | Description | Value |
---|---|---|
hostIp | Host IP over which the application is exposed from the container | string |
name | Name of the Endpoint | string |
protocol | Protocol over which communication will happen over this endpoint | "http ""tcp" "udp" |
published | Port over which the application is exposed from container. | int |
target | Application port inside the container. | int |
CustomServiceEnvironmentVariables
Name | Description | Value |
---|---|---|
{customized property} | EnvironmentVariable |
EnvironmentVariable
Name | Description | Value |
---|---|---|
type | Type of the Environment Variable. Possible values are: local - For local variable | "local" |
value | Value of the Environment variable | string |
{customized property} |
Image
Name | Description | Value |
---|---|---|
reference | Image reference URL if type is docker. Environment name if type is azureml | string |
type | Type of the image. Possible values are: docker - For docker images. azureml - For AzureML Environment images (custom and curated) | "azureml" "docker" |
version | Version of image being used. If latest then skip this field | string |
{customized property} |
JupyterKernelConfig
Name | Description | Value |
---|---|---|
argv | Argument to the the runtime | string[] |
displayName | Display name of the kernel | string |
language | Language of the kernel [Example value: python] | string |
VolumeDefinition
Name | Description | Value |
---|---|---|
bind | Bind Options of the mount | BindOptions |
consistency | Consistency of the volume | string |
readOnly | Indicate whether to mount volume as readOnly. Default value for this is false. | bool |
source | Source of the mount. For bind mounts this is the host path. | string |
target | Target of the mount. For bind mounts this is the path in the container. | string |
tmpfs | tmpfs option of the mount | TmpfsOptions |
type | Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe | "bind" "npipe" "tmpfs" "volume" |
volume | Volume Options of the mount | VolumeOptions |
BindOptions
Name | Description | Value |
---|---|---|
createHostPath | Indicate whether to create host path. | bool |
propagation | Type of Bind Option | string |
selinux | Mention the selinux options. | string |
TmpfsOptions
Name | Description | Value |
---|---|---|
size | Mention the Tmpfs size | int |
VolumeOptions
Name | Description | Value |
---|---|---|
nocopy | Indicate whether volume is nocopy | bool |
PersonalComputeInstanceSettings
Name | Description | Value |
---|---|---|
assignedUser | A user explicitly assigned to a personal compute instance. | AssignedUser |
AssignedUser
Name | Description | Value |
---|---|---|
objectId | User’s AAD Object Id. | string (required) |
tenantId | User’s AAD Tenant Id. | string (required) |
ComputeSchedules
Name | Description | Value |
---|---|---|
computeStartStop | The list of compute start stop schedules to be applied. | ComputeStartStopSchedule[] |
ComputeStartStopSchedule
Name | Description | Value |
---|---|---|
action | [Required] The compute power action. | "Start" "Stop" |
cron | Required if triggerType is Cron. | Cron |
recurrence | Required if triggerType is Recurrence. | Recurrence |
schedule | [Deprecated] Not used any more. | ScheduleBase |
status | Is the schedule enabled or disabled? | "Disabled" "Enabled" |
triggerType | [Required] The schedule trigger type. | "Cron" "Recurrence" |
Cron
Name | Description | Value |
---|---|---|
expression | [Required] Specifies cron expression of schedule. The expression should follow NCronTab format. |
string |
startTime | The start time in yyyy-MM-ddTHH:mm:ss format. | string |
timeZone | Specifies time zone in which the schedule runs. TimeZone should follow Windows time zone format. Refer: /windows-hardware/manufacture/desktop/default-time-zones /> |
string |
Recurrence
Name | Description | Value |
---|---|---|
frequency | [Required] The frequency to trigger schedule. | "Day" "Hour" "Minute" "Month" "Week" |
interval | [Required] Specifies schedule interval in conjunction with frequency | int |
schedule | [Required] The recurrence schedule. | ComputeRecurrenceSchedule |
startTime | The start time in yyyy-MM-ddTHH:mm:ss format. | string |
timeZone | Specifies time zone in which the schedule runs. TimeZone should follow Windows time zone format. Refer: /windows-hardware/manufacture/desktop/default-time-zones /> |
string |
ComputeRecurrenceSchedule
Name | Description | Value |
---|---|---|
hours | [Required] List of hours for the schedule. | int[] (required) |
minutes | [Required] List of minutes for the schedule. | int[] (required) |
monthDays | List of month days for the schedule | int[] |
weekDays | List of days for the schedule. | String array containing any of: "Friday" "Monday" "Saturday" "Sunday" "Thursday" "Tuesday" "Wednesday" |
ScheduleBase
Name | Description | Value |
---|---|---|
id | A system assigned id for the schedule. | string |
provisioningStatus | The current deployment state of schedule. | "Completed" "Failed" "Provisioning" |
status | Is the schedule enabled or disabled? | "Disabled" "Enabled" |
SetupScripts
Name | Description | Value |
---|---|---|
scripts | Customized setup scripts | ScriptsToExecute |
ScriptsToExecute
Name | Description | Value |
---|---|---|
creationScript | Script that's run only once during provision of the compute. | ScriptReference |
startupScript | Script that's run every time the machine starts. | ScriptReference |
ScriptReference
Name | Description | Value |
---|---|---|
scriptArguments | Optional command line arguments passed to the script to run. | string |
scriptData | The location of scripts in the mounted volume. | string |
scriptSource | The storage source of the script: inline, workspace. | string |
timeout | Optional time period passed to timeout command. | string |
ComputeInstanceSshSettings
Name | Description | Value |
---|---|---|
adminPublicKey | Specifies the SSH rsa public key file as a string. Use "ssh-keygen -t rsa -b 2048" to generate your SSH key pairs. | string |
sshPublicAccess | 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. | "Disabled" "Enabled" |
Databricks
Name | Description | Value |
---|---|---|
computeType | The type of compute | "Databricks" (required) |
properties | Properties of Databricks | DatabricksProperties |
DatabricksProperties
Name | Description | Value |
---|---|---|
databricksAccessToken | Databricks access token | string |
workspaceUrl | Workspace Url | string |
DataFactory
Name | Description | Value |
---|---|---|
computeType | The type of compute | "DataFactory" (required) |
DataLakeAnalytics
Name | Description | Value |
---|---|---|
computeType | The type of compute | "DataLakeAnalytics" (required) |
properties | DataLakeAnalyticsSchemaProperties |
DataLakeAnalyticsSchemaProperties
Name | Description | Value |
---|---|---|
dataLakeStoreAccountName | DataLake Store Account Name | string |
HDInsight
Name | Description | Value |
---|---|---|
computeType | The type of compute | "HDInsight" (required) |
properties | HDInsight compute properties | HDInsightProperties |
HDInsightProperties
Name | Description | Value |
---|---|---|
address | Public IP address of the master node of the cluster. | string |
administratorAccount | Admin credentials for master node of the cluster | VirtualMachineSshCredentials |
sshPort | Port open for ssh connections on the master node of the cluster. | int |
VirtualMachineSshCredentials
Name | Description | Value |
---|---|---|
password | Password of admin account | string |
privateKeyData | Private key data | string Constraints: Sensitive value. Pass in as a secure parameter. |
publicKeyData | Public key data | string Constraints: Sensitive value. Pass in as a secure parameter. |
username | Username of admin account | string |
Kubernetes
Name | Description | Value |
---|---|---|
computeType | The type of compute | "Kubernetes" (required) |
properties | Properties of Kubernetes | KubernetesProperties |
KubernetesProperties
Name | Description | Value |
---|---|---|
defaultInstanceType | Default instance type | string |
extensionInstanceReleaseTrain | Extension instance release train. | string |
extensionPrincipalId | Extension principal-id. | string |
instanceTypes | Instance Type Schema | KubernetesPropertiesInstanceTypes |
namespace | Compute namespace | string |
relayConnectionString | Relay connection string. | string Constraints: Sensitive value. Pass in as a secure parameter. |
serviceBusConnectionString | ServiceBus connection string. | string Constraints: Sensitive value. Pass in as a secure parameter. |
vcName | VC name. | string |
KubernetesPropertiesInstanceTypes
Name | Description | Value |
---|---|---|
{customized property} | InstanceTypeSchema |
InstanceTypeSchema
Name | Description | Value |
---|---|---|
nodeSelector | Node Selector | InstanceTypeSchemaNodeSelector |
resources | Resource requests/limits for this instance type | InstanceTypeSchemaResources |
InstanceTypeSchemaNodeSelector
Name | Description | Value |
---|---|---|
{customized property} | string |
InstanceTypeSchemaResources
Name | Description | Value |
---|---|---|
limits | Resource limits for this instance type | InstanceResourceSchema |
requests | Resource requests for this instance type | InstanceResourceSchema |
InstanceResourceSchema
Name | Description | Value |
---|---|---|
{customized property} | string |
SynapseSpark
Name | Description | Value |
---|---|---|
computeType | The type of compute | "SynapseSpark" (required) |
properties | SynapseSparkProperties |
SynapseSparkProperties
Name | Description | Value |
---|---|---|
autoPauseProperties | Auto pause properties. | AutoPauseProperties |
autoScaleProperties | Auto scale properties. | AutoScaleProperties |
nodeCount | The number of compute nodes currently assigned to the compute. | int |
nodeSize | Node size. | string |
nodeSizeFamily | Node size family. | string |
poolName | Pool name. | string |
resourceGroup | Name of the resource group in which workspace is located. | string |
sparkVersion | Spark version. | string |
subscriptionId | Azure subscription identifier. | string |
workspaceName | Name of Azure Machine Learning workspace. | string |
AutoPauseProperties
Name | Description | Value |
---|---|---|
delayInMinutes | int | |
enabled | bool |
AutoScaleProperties
Name | Description | Value |
---|---|---|
enabled | bool | |
maxNodeCount | int | |
minNodeCount | int |
VirtualMachine
Name | Description | Value |
---|---|---|
computeType | The type of compute | "VirtualMachine" (required) |
properties | VirtualMachineSchemaProperties |
VirtualMachineSchemaProperties
Name | Description | Value |
---|---|---|
address | Public IP address of the virtual machine. | string |
administratorAccount | Admin credentials for virtual machine | VirtualMachineSshCredentials |
isNotebookInstanceCompute | Indicates whether this compute will be used for running notebooks. | bool |
notebookServerPort | Notebook server port open for ssh connections. | int |
sshPort | Port open for ssh connections. | int |
virtualMachineSize | Virtual Machine size | string |
Sku
Name | Description | Value |
---|---|---|
capacity | If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. | int |
family | If the service has different generations of hardware, for the same SKU, then that can be captured here. | string |
name | The name of the SKU. Ex - P3. It is typically a letter+number code | string (required) |
size | The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. | string |
tier | This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. | "Basic" "Free" "Premium" "Standard" |