Bicep resource definition
The edgeMachines resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.AzureStackHCI/edgeMachines resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.AzureStackHCI/edgeMachines@2026-02-15-preview' = {
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
location: 'string'
name: 'string'
properties: {
arcGatewayResourceId: 'string'
arcMachineResourceGroupId: 'string'
arcMachineResourceId: 'string'
edgeMachineKind: 'string'
ownershipVoucherDetails: {
ownerKeyType: 'string'
ownershipVoucher: 'string'
}
provisioningDetails: {
osProfile: {
gpgPubKey: 'string'
imageHash: 'string'
operationType: 'string'
osImageLocation: 'string'
osName: 'string'
osType: 'string'
osVersion: 'string'
vsrVersion: 'string'
}
userDetails: [
{
secretLocation: 'string'
secretType: 'string'
sshPubKey: [
'string'
]
userName: 'string'
}
]
}
siteDetails: {
deviceConfiguration: {
hostName: 'string'
network: {
networkAdapters: [
{
adapterName: 'string'
dnsAddressArray: [
'string'
]
gateway: 'string'
ipAddress: 'string'
ipAddressRange: {
endIp: 'string'
startIp: 'string'
}
ipAssignmentType: 'string'
macAddress: 'string'
subnetMask: 'string'
vlanId: 'string'
}
]
}
storage: {
partitionSize: 'string'
}
time: {
primaryTimeServer: 'string'
secondaryTimeServer: 'string'
timeZone: 'string'
}
webProxy: {
bypassList: [
'string'
]
connectionUri: 'string'
port: 'string'
}
}
siteResourceId: 'string'
}
}
tags: {
{customized property}: 'string'
}
}
Property Values
Microsoft.AzureStackHCI/edgeMachines
| Name |
Description |
Value |
| identity |
The managed service identities assigned to this resource. |
ManagedServiceIdentity |
| location |
The geo-location where the resource lives |
string (required) |
| name |
The resource name |
string
Constraints: Pattern = ^[a-zA-Z0-9-_]{3,63}$ (required) |
| properties |
The resource-specific properties for this resource. |
EdgeMachineProperties |
| tags |
Resource tags |
Dictionary of tag names and values. See Tags in templates |
EdgeMachineProperties
| Name |
Description |
Value |
| arcGatewayResourceId |
Link to Arc Gateway ARM resource Id |
string |
| arcMachineResourceGroupId |
Optional property to create arc machine in custom resource group. |
string |
| arcMachineResourceId |
Arc machine instance resource id. |
string |
| edgeMachineKind |
Edge Machine type. |
'Dedicated' 'Standard' |
| ownershipVoucherDetails |
Ownership voucher details for provisioned machine. |
OwnershipVoucherDetails |
| provisioningDetails |
Details for device provisioning. |
ProvisioningDetails |
| siteDetails |
Service fetches common configuration from site. |
SiteDetails |
IpAddressRange
| Name |
Description |
Value |
| endIp |
End IP address. |
string (required) |
| startIp |
Start IP address. |
string (required) |
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. |
ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
NetworkAdapter
| Name |
Description |
Value |
| adapterName |
Adapter Name. |
string |
| dnsAddressArray |
Array of DNS addresses. |
string[] |
| gateway |
Gateway id. |
string |
| ipAddress |
IP address. |
string |
| ipAddressRange |
IP address range. |
IpAddressRange |
| ipAssignmentType |
Type of IP assignment. |
'Automatic' 'Manual' (required) |
| macAddress |
MAC address. |
string |
| subnetMask |
Subnet mask. |
string |
| vlanId |
VLAN ID for the network setup. |
string |
NetworkConfiguration
| Name |
Description |
Value |
| networkAdapters |
List of network adapters. |
NetworkAdapter[] |
OsProvisionProfile
| Name |
Description |
Value |
| gpgPubKey |
GPG Public Key used for package verification |
string |
| imageHash |
Hash of the OS package downloaded |
string |
| operationType |
Operation sub type of OS Provisioning |
'Provision' 'ReImage' 'Update' |
| osImageLocation |
Location of the operating system image. |
string |
| osName |
Name of the operating system. |
string |
| osType |
Type of the operating system. |
string |
| osVersion |
Version of the operating system. |
string |
| vsrVersion |
Validated Solution Recipe version to be used for the job |
string |
OwnershipVoucherDetails
| Name |
Description |
Value |
| ownerKeyType |
Owner key type |
'MicrosoftManaged' (required) |
| ownershipVoucher |
Ownership voucher in base64 encoded format |
string
Constraints: Sensitive value. Pass in as a secure parameter. (required) |
ProvisioningDetails
SiteDetails
| Name |
Description |
Value |
| deviceConfiguration |
Edge Device configuration received from site common configuration. |
TargetDeviceConfiguration |
| siteResourceId |
Site resource Id to be set during Edge Machine resource creation. |
string (required) |
StorageConfiguration
| Name |
Description |
Value |
| partitionSize |
Partition size. |
string |
TargetDeviceConfiguration
TimeConfiguration
| Name |
Description |
Value |
| primaryTimeServer |
Primary NTP server. |
string |
| secondaryTimeServer |
Secondary NTP server. |
string |
| timeZone |
Time zone. |
string |
UserAssignedIdentity
UserDetails
| Name |
Description |
Value |
| secretLocation |
Location of the secret used for authentication. |
string |
| secretType |
Type of the secret used for authentication. |
'KeyVault' 'SshPubKey' (required) |
| sshPubKey |
SSH Public Key for the user. |
string[] |
| userName |
Name of the user. |
string (required) |
WebProxyConfiguration
| Name |
Description |
Value |
| bypassList |
Bypass list for the web proxy. |
string[] |
| connectionUri |
Connection URI of the web proxy. |
string |
| port |
Port of the web proxy. |
string
Constraints: Pattern = ^[0-9]{0,5}$ |
ARM template resource definition
The edgeMachines resource type can be deployed with operations that target:
Usage Examples
To create a Microsoft.AzureStackHCI/edgeMachines resource, add the following JSON to your template.
{
"type": "Microsoft.AzureStackHCI/edgeMachines",
"apiVersion": "2026-02-15-preview",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"location": "string",
"properties": {
"arcGatewayResourceId": "string",
"arcMachineResourceGroupId": "string",
"arcMachineResourceId": "string",
"edgeMachineKind": "string",
"ownershipVoucherDetails": {
"ownerKeyType": "string",
"ownershipVoucher": "string"
},
"provisioningDetails": {
"osProfile": {
"gpgPubKey": "string",
"imageHash": "string",
"operationType": "string",
"osImageLocation": "string",
"osName": "string",
"osType": "string",
"osVersion": "string",
"vsrVersion": "string"
},
"userDetails": [
{
"secretLocation": "string",
"secretType": "string",
"sshPubKey": [ "string" ],
"userName": "string"
}
]
},
"siteDetails": {
"deviceConfiguration": {
"hostName": "string",
"network": {
"networkAdapters": [
{
"adapterName": "string",
"dnsAddressArray": [ "string" ],
"gateway": "string",
"ipAddress": "string",
"ipAddressRange": {
"endIp": "string",
"startIp": "string"
},
"ipAssignmentType": "string",
"macAddress": "string",
"subnetMask": "string",
"vlanId": "string"
}
]
},
"storage": {
"partitionSize": "string"
},
"time": {
"primaryTimeServer": "string",
"secondaryTimeServer": "string",
"timeZone": "string"
},
"webProxy": {
"bypassList": [ "string" ],
"connectionUri": "string",
"port": "string"
}
},
"siteResourceId": "string"
}
},
"tags": {
"{customized property}": "string"
}
}
Property Values
Microsoft.AzureStackHCI/edgeMachines
| Name |
Description |
Value |
| apiVersion |
The api version |
'2026-02-15-preview' |
| identity |
The managed service identities assigned to this resource. |
ManagedServiceIdentity |
| location |
The geo-location where the resource lives |
string (required) |
| name |
The resource name |
string
Constraints: Pattern = ^[a-zA-Z0-9-_]{3,63}$ (required) |
| properties |
The resource-specific properties for this resource. |
EdgeMachineProperties |
| tags |
Resource tags |
Dictionary of tag names and values. See Tags in templates |
| type |
The resource type |
'Microsoft.AzureStackHCI/edgeMachines' |
EdgeMachineProperties
| Name |
Description |
Value |
| arcGatewayResourceId |
Link to Arc Gateway ARM resource Id |
string |
| arcMachineResourceGroupId |
Optional property to create arc machine in custom resource group. |
string |
| arcMachineResourceId |
Arc machine instance resource id. |
string |
| edgeMachineKind |
Edge Machine type. |
'Dedicated' 'Standard' |
| ownershipVoucherDetails |
Ownership voucher details for provisioned machine. |
OwnershipVoucherDetails |
| provisioningDetails |
Details for device provisioning. |
ProvisioningDetails |
| siteDetails |
Service fetches common configuration from site. |
SiteDetails |
IpAddressRange
| Name |
Description |
Value |
| endIp |
End IP address. |
string (required) |
| startIp |
Start IP address. |
string (required) |
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. |
ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
NetworkAdapter
| Name |
Description |
Value |
| adapterName |
Adapter Name. |
string |
| dnsAddressArray |
Array of DNS addresses. |
string[] |
| gateway |
Gateway id. |
string |
| ipAddress |
IP address. |
string |
| ipAddressRange |
IP address range. |
IpAddressRange |
| ipAssignmentType |
Type of IP assignment. |
'Automatic' 'Manual' (required) |
| macAddress |
MAC address. |
string |
| subnetMask |
Subnet mask. |
string |
| vlanId |
VLAN ID for the network setup. |
string |
NetworkConfiguration
| Name |
Description |
Value |
| networkAdapters |
List of network adapters. |
NetworkAdapter[] |
OsProvisionProfile
| Name |
Description |
Value |
| gpgPubKey |
GPG Public Key used for package verification |
string |
| imageHash |
Hash of the OS package downloaded |
string |
| operationType |
Operation sub type of OS Provisioning |
'Provision' 'ReImage' 'Update' |
| osImageLocation |
Location of the operating system image. |
string |
| osName |
Name of the operating system. |
string |
| osType |
Type of the operating system. |
string |
| osVersion |
Version of the operating system. |
string |
| vsrVersion |
Validated Solution Recipe version to be used for the job |
string |
OwnershipVoucherDetails
| Name |
Description |
Value |
| ownerKeyType |
Owner key type |
'MicrosoftManaged' (required) |
| ownershipVoucher |
Ownership voucher in base64 encoded format |
string
Constraints: Sensitive value. Pass in as a secure parameter. (required) |
ProvisioningDetails
SiteDetails
| Name |
Description |
Value |
| deviceConfiguration |
Edge Device configuration received from site common configuration. |
TargetDeviceConfiguration |
| siteResourceId |
Site resource Id to be set during Edge Machine resource creation. |
string (required) |
StorageConfiguration
| Name |
Description |
Value |
| partitionSize |
Partition size. |
string |
TargetDeviceConfiguration
TimeConfiguration
| Name |
Description |
Value |
| primaryTimeServer |
Primary NTP server. |
string |
| secondaryTimeServer |
Secondary NTP server. |
string |
| timeZone |
Time zone. |
string |
UserAssignedIdentity
UserDetails
| Name |
Description |
Value |
| secretLocation |
Location of the secret used for authentication. |
string |
| secretType |
Type of the secret used for authentication. |
'KeyVault' 'SshPubKey' (required) |
| sshPubKey |
SSH Public Key for the user. |
string[] |
| userName |
Name of the user. |
string (required) |
WebProxyConfiguration
| Name |
Description |
Value |
| bypassList |
Bypass list for the web proxy. |
string[] |
| connectionUri |
Connection URI of the web proxy. |
string |
| port |
Port of the web proxy. |
string
Constraints: Pattern = ^[0-9]{0,5}$ |
The edgeMachines resource type can be deployed with operations that target:
- Resource groups
For a list of changed properties in each API version, see change log.
To create a Microsoft.AzureStackHCI/edgeMachines resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.AzureStackHCI/edgeMachines@2026-02-15-preview"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
arcGatewayResourceId = "string"
arcMachineResourceGroupId = "string"
arcMachineResourceId = "string"
edgeMachineKind = "string"
ownershipVoucherDetails = {
ownerKeyType = "string"
ownershipVoucher = "string"
}
provisioningDetails = {
osProfile = {
gpgPubKey = "string"
imageHash = "string"
operationType = "string"
osImageLocation = "string"
osName = "string"
osType = "string"
osVersion = "string"
vsrVersion = "string"
}
userDetails = [
{
secretLocation = "string"
secretType = "string"
sshPubKey = [
"string"
]
userName = "string"
}
]
}
siteDetails = {
deviceConfiguration = {
hostName = "string"
network = {
networkAdapters = [
{
adapterName = "string"
dnsAddressArray = [
"string"
]
gateway = "string"
ipAddress = "string"
ipAddressRange = {
endIp = "string"
startIp = "string"
}
ipAssignmentType = "string"
macAddress = "string"
subnetMask = "string"
vlanId = "string"
}
]
}
storage = {
partitionSize = "string"
}
time = {
primaryTimeServer = "string"
secondaryTimeServer = "string"
timeZone = "string"
}
webProxy = {
bypassList = [
"string"
]
connectionUri = "string"
port = "string"
}
}
siteResourceId = "string"
}
}
}
}
Property Values
Microsoft.AzureStackHCI/edgeMachines
| Name |
Description |
Value |
| identity |
The managed service identities assigned to this resource. |
ManagedServiceIdentity |
| location |
The geo-location where the resource lives |
string (required) |
| name |
The resource name |
string
Constraints: Pattern = ^[a-zA-Z0-9-_]{3,63}$ (required) |
| properties |
The resource-specific properties for this resource. |
EdgeMachineProperties |
| tags |
Resource tags |
Dictionary of tag names and values. |
| type |
The resource type |
"Microsoft.AzureStackHCI/edgeMachines@2026-02-15-preview" |
EdgeMachineProperties
| Name |
Description |
Value |
| arcGatewayResourceId |
Link to Arc Gateway ARM resource Id |
string |
| arcMachineResourceGroupId |
Optional property to create arc machine in custom resource group. |
string |
| arcMachineResourceId |
Arc machine instance resource id. |
string |
| edgeMachineKind |
Edge Machine type. |
'Dedicated' 'Standard' |
| ownershipVoucherDetails |
Ownership voucher details for provisioned machine. |
OwnershipVoucherDetails |
| provisioningDetails |
Details for device provisioning. |
ProvisioningDetails |
| siteDetails |
Service fetches common configuration from site. |
SiteDetails |
IpAddressRange
| Name |
Description |
Value |
| endIp |
End IP address. |
string (required) |
| startIp |
Start IP address. |
string (required) |
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. |
ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
NetworkAdapter
| Name |
Description |
Value |
| adapterName |
Adapter Name. |
string |
| dnsAddressArray |
Array of DNS addresses. |
string[] |
| gateway |
Gateway id. |
string |
| ipAddress |
IP address. |
string |
| ipAddressRange |
IP address range. |
IpAddressRange |
| ipAssignmentType |
Type of IP assignment. |
'Automatic' 'Manual' (required) |
| macAddress |
MAC address. |
string |
| subnetMask |
Subnet mask. |
string |
| vlanId |
VLAN ID for the network setup. |
string |
NetworkConfiguration
| Name |
Description |
Value |
| networkAdapters |
List of network adapters. |
NetworkAdapter[] |
OsProvisionProfile
| Name |
Description |
Value |
| gpgPubKey |
GPG Public Key used for package verification |
string |
| imageHash |
Hash of the OS package downloaded |
string |
| operationType |
Operation sub type of OS Provisioning |
'Provision' 'ReImage' 'Update' |
| osImageLocation |
Location of the operating system image. |
string |
| osName |
Name of the operating system. |
string |
| osType |
Type of the operating system. |
string |
| osVersion |
Version of the operating system. |
string |
| vsrVersion |
Validated Solution Recipe version to be used for the job |
string |
OwnershipVoucherDetails
| Name |
Description |
Value |
| ownerKeyType |
Owner key type |
'MicrosoftManaged' (required) |
| ownershipVoucher |
Ownership voucher in base64 encoded format |
string
Constraints: Sensitive value. Pass in as a secure parameter. (required) |
ProvisioningDetails
SiteDetails
| Name |
Description |
Value |
| deviceConfiguration |
Edge Device configuration received from site common configuration. |
TargetDeviceConfiguration |
| siteResourceId |
Site resource Id to be set during Edge Machine resource creation. |
string (required) |
StorageConfiguration
| Name |
Description |
Value |
| partitionSize |
Partition size. |
string |
TargetDeviceConfiguration
TimeConfiguration
| Name |
Description |
Value |
| primaryTimeServer |
Primary NTP server. |
string |
| secondaryTimeServer |
Secondary NTP server. |
string |
| timeZone |
Time zone. |
string |
UserAssignedIdentity
UserDetails
| Name |
Description |
Value |
| secretLocation |
Location of the secret used for authentication. |
string |
| secretType |
Type of the secret used for authentication. |
'KeyVault' 'SshPubKey' (required) |
| sshPubKey |
SSH Public Key for the user. |
string[] |
| userName |
Name of the user. |
string (required) |
WebProxyConfiguration
| Name |
Description |
Value |
| bypassList |
Bypass list for the web proxy. |
string[] |
| connectionUri |
Connection URI of the web proxy. |
string |
| port |
Port of the web proxy. |
string
Constraints: Pattern = ^[0-9]{0,5}$ |