Create or replace VM settings for a host pool

Stores the template future session hosts are built from: naming, domain join, image, VM size, disk, and network.
A full replacement, not a patch — omitted fields are cleared, so send the complete settings every time.
Adding hosts later reads these saved settings rather than taking them in the request.

Path Params
uuid
required

Host pool identifier

Body Params

VM settings payload

Full request payload for creating or replacing VM settings for a host pool.

string
required
length between 1 and 64

Region code (e.g. eastus) where session hosts are deployed.
Drives region-sensitive compatibility validation and the deployment location.

string
required
length between 1 and 90
^[-\w.()]{0,89}[-\w()]$

Name of the resource group session hosts are deployed into (e.g. rg-avd-prod).
Resolved within the subscription that owns the host pool.

string
required
length ≥ 1

Template used for newly created session host VM names. An optional trailing
[#], [##], or [###] token enables zero-padded numbering.

string
required
length between 1 and 64

Primary VM size used for provisioning.

string | null

Optional fallback VM size used when the primary size is unavailable.

availabilityZones
array of strings
required

Requested availability zones for session host deployment.

availabilityZones*
string
enum
required

Image source selection for host pool VM settings.

Allowed:
string | null

Full ARM resource ID of the gallery image when gallery image source is used.

string | null

Full ARM resource ID of the gallery image version when gallery image source is used.

string | null

Full ARM resource ID of the existing VM when existing VM image source is used.

string
required
length between 1 and 64

OS disk storage account type.

int64
required
≥ 1

Requested OS disk size in bytes.

string
enum
required

Security profile for Azure VMs.

Allowed:
boolean
required

Indicates whether Secure Boot is enabled.

boolean
required

Indicates whether virtual TPM is enabled.

boolean
required

Indicates whether integrity monitoring is enabled.

string
required
length between 1 and 2048

Full ARM resource ID of the virtual network.

string
required
length between 1 and 2048

Full ARM resource ID of the subnet (identifies both the virtual network and subnet).

string
enum
required

Network security group preset for host pool VM settings.

Allowed:
boolean
required

Indicates whether public inbound ports are allowed.

string
enum
required

Directory join strategy for session host VMs.

Allowed:
string | null

Active Directory domain for AD join scenarios.

string | null

Domain join user principal name for AD join scenarios.

string | null

Organizational unit path for AD join scenarios.

string
required
length between 1 and 256

Local administrator username configured on session hosts.

string | null

Optional FSLogix profile storage UNC path.

boolean
required

Indicates whether Intune enrollment is enabled.

tags
object | null

Tags applied to created session host resources.

appCatalogDeployGroupIds
array of uuids
required

App Catalog Deploy Group IDs this host pool resolves apps from at session-host provisioning.

appCatalogDeployGroupIds*
string | null

Optional local administrator password to set or update.

string | null

Optional domain join password used when AD join is selected.

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json