Host Pools - List
List hostPools in subscription.
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools?api-version=2025-10-10
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools?api-version=2025-10-10&pageSize={pageSize}&isDescending={isDescending}&initialSkip={initialSkip}
URI Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
|
subscription
|
path | True |
string (uuid) |
The ID of the target subscription. The value must be an UUID. |
|
api-version
|
query | True |
string minLength: 1 |
The API version to use for this operation. |
|
initial
|
query |
integer (int32) |
Initial number of items to skip. |
|
|
is
|
query |
boolean |
Indicates whether the collection is descending. |
|
|
page
|
query |
integer (int32) |
Number of items per page. |
Responses
| Name | Type | Description |
|---|---|---|
| 200 OK |
Successfully retrieved host pool in subscription. |
|
| Other Status Codes |
Automation error response describing why the operation failed. |
Examples
HostPool_List
Sample request
GET https://management.azure.com/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/providers/Microsoft.DesktopVirtualization/hostPools?api-version=2025-10-10&pageSize=10&isDescending=True&initialSkip=0
Sample response
{
"value": [
{
"name": "hostPool1",
"id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
"type": "/Microsoft.DesktopVirtualization/hostPools",
"location": "centralus",
"tags": {
"key1": "value1",
"key2": "value2"
},
"systemData": {
"createdBy": "user1",
"createdByType": "User",
"createdAt": "2020-01-01T17:18:19.1234567Z",
"lastModifiedBy": "user2",
"lastModifiedByType": "User",
"lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
},
"properties": {
"objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
"friendlyName": "friendly",
"description": "des1",
"hostPoolType": "Pooled",
"personalDesktopAssignmentType": "Automatic",
"customRdpProperty": null,
"maxSessionLimit": 999999,
"loadBalancerType": "BreadthFirst",
"validationEnvironment": null,
"ring": null,
"registrationInfo": {
"expirationTime": "2008-09-22T14:01:54.9571247Z",
"token": "token",
"registrationTokenOperation": "Update"
},
"vmTemplate": "{json:json}",
"ssoadfsAuthority": "https://adfs",
"ssoClientId": "client",
"ssoClientSecretKeyVaultPath": "https://keyvault/secret",
"ssoSecretType": "SharedKey",
"preferredAppGroupType": "Desktop",
"startVMOnConnect": false,
"cloudPcResource": false,
"agentUpdate": {
"type": "Scheduled",
"useSessionHostLocalTime": false,
"maintenanceWindowTimeZone": "Alaskan Standard Time",
"maintenanceWindows": [
{
"hour": 7,
"dayOfWeek": "Friday"
},
{
"hour": 8,
"dayOfWeek": "Saturday"
}
]
}
}
},
{
"name": "hostPool2",
"id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2",
"type": "/Microsoft.DesktopVirtualization/hostPools",
"location": "centralus",
"tags": {
"key1": "value1",
"key2": "value2"
},
"systemData": {
"createdBy": "user1",
"createdByType": "User",
"createdAt": "2020-01-01T17:18:19.1234567Z",
"lastModifiedBy": "user2",
"lastModifiedByType": "User",
"lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
},
"properties": {
"objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
"friendlyName": "friendly",
"description": "des1",
"hostPoolType": "Pooled",
"personalDesktopAssignmentType": "Automatic",
"customRdpProperty": null,
"maxSessionLimit": 999999,
"loadBalancerType": "BreadthFirst",
"validationEnvironment": null,
"ring": null,
"registrationInfo": {
"expirationTime": "2008-09-22T14:01:54.9571247Z",
"token": "token",
"registrationTokenOperation": "Update"
},
"vmTemplate": "{json:json}",
"ssoadfsAuthority": "https://adfs",
"ssoClientId": "client",
"ssoClientSecretKeyVaultPath": "https://keyvault/secret",
"ssoSecretType": "SharedKey",
"preferredAppGroupType": "Desktop",
"startVMOnConnect": false,
"cloudPcResource": false,
"agentUpdate": {
"type": "Scheduled",
"useSessionHostLocalTime": false,
"maintenanceWindowTimeZone": "Alaskan Standard Time",
"maintenanceWindows": [
{
"hour": 7,
"dayOfWeek": "Friday"
},
{
"hour": 8,
"dayOfWeek": "Saturday"
}
]
}
}
}
]
}
Definitions
| Name | Description |
|---|---|
|
Agent |
The session host configuration for updating agent, monitoring agent, and stack component. |
|
Cloud |
Cloud error object. |
|
Cloud |
Cloud error object properties. |
|
created |
The type of identity that created the resource. |
|
Day |
Day of the week. |
|
Host |
Represents a HostPool definition. |
|
Host |
HostPoolList |
|
Hostpool |
Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints |
|
Host |
HostPool type for desktop. |
|
Load |
The type of the load balancer. |
|
Maintenance |
Maintenance window starting hour and day of week. |
|
Personal |
PersonalDesktopAssignment type for HostPool. |
| Plan |
Plan for the resource. |
|
Preferred |
The type of preferred application group type, default to Desktop Application Group |
|
Private |
The private endpoint resource. |
|
Private |
The private endpoint connection resource. |
|
Private |
The current provisioning state. |
|
Private |
The private endpoint connection status. |
|
Private |
A collection of information about the state of the connection between service consumer and provider. |
|
Registration |
Represents a RegistrationInfo definition. |
|
Registration |
The type of resetting the token. |
|
Session |
The type of maintenance for session host components. |
| Sku |
The resource model definition representing SKU |
|
Sku |
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. |
|
SSOSecret |
The type of single sign on Secret Type. |
|
System |
Managed service identity (either system assigned, or none) |
|
System |
Type of managed service identity (either system assigned, or none). |
|
system |
Metadata pertaining to creation and last modification of the resource. |
AgentUpdateProperties
The session host configuration for updating agent, monitoring agent, and stack component.
| Name | Type | Description |
|---|---|---|
| maintenanceWindowTimeZone |
string |
Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. |
| maintenanceWindows |
List of maintenance windows. Maintenance windows are 2 hours long. |
|
| type |
The type of maintenance for session host components. |
|
| useSessionHostLocalTime |
boolean |
Whether to use localTime of the virtual machine. |
CloudError
Cloud error object.
| Name | Type | Description |
|---|---|---|
| error |
Cloud error object properties. |
CloudErrorProperties
Cloud error object properties.
| Name | Type | Description |
|---|---|---|
| code |
string |
Error code |
| message |
string |
Error message indicating why the operation failed. |
createdByType
The type of identity that created the resource.
| Value | Description |
|---|---|
| User | |
| Application | |
| ManagedIdentity | |
| Key |
DayOfWeek
Day of the week.
| Value | Description |
|---|---|
| Monday | |
| Tuesday | |
| Wednesday | |
| Thursday | |
| Friday | |
| Saturday | |
| Sunday |
HostPool
Represents a HostPool definition.
| Name | Type | Description |
|---|---|---|
| etag |
string |
The etag field is not required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. |
| id |
string (arm-id) |
Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" |
| identity |
The managed service identities assigned to this resource. |
|
| kind |
string pattern: ^[-\w\._,\(\)]+$ |
Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. |
| location |
string |
The geo-location where the resource lives |
| managedBy |
string |
The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. |
| name |
string |
The name of the resource |
| plan |
Plan for the resource. |
|
| properties.agentUpdate |
The session host configuration for updating agent, monitoring agent, and stack component. |
|
| properties.appAttachPackageReferences |
string[] |
List of App Attach Package links. |
| properties.applicationGroupReferences |
string[] |
List of applicationGroup links. |
| properties.cloudPcResource |
boolean |
Is cloud pc resource. |
| properties.customRdpProperty |
string |
Custom rdp property of HostPool. |
| properties.description |
string |
Description of HostPool. |
| properties.friendlyName |
string |
Friendly name of HostPool. |
| properties.hostPoolType |
HostPool type for desktop. |
|
| properties.loadBalancerType |
The type of the load balancer. |
|
| properties.maxSessionLimit |
integer (int32) |
The max session limit of HostPool. |
| properties.objectId |
string |
ObjectId of HostPool. (internal use) |
| properties.personalDesktopAssignmentType |
PersonalDesktopAssignment type for HostPool. |
|
| properties.preferredAppGroupType |
The type of preferred application group type, default to Desktop Application Group |
|
| properties.privateEndpointConnections |
List of private endpoint connection associated with the specified resource |
|
| properties.publicNetworkAccess |
Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints |
|
| properties.registrationInfo |
The registration info of HostPool. |
|
| properties.ring |
integer (int32) |
The ring number of HostPool. |
| properties.ssoClientId |
string |
ClientId for the registered Relying Party used to issue WVD SSO certificates. |
| properties.ssoClientSecretKeyVaultPath |
string |
Path to Azure KeyVault storing the secret used for communication to ADFS. |
| properties.ssoSecretType |
The type of single sign on Secret Type. |
|
| properties.ssoadfsAuthority |
string |
URL to customer ADFS server for signing WVD SSO certificates. |
| properties.startVMOnConnect |
boolean |
The flag to turn on/off StartVMOnConnect feature. |
| properties.validationEnvironment |
boolean |
Is validation environment. |
| properties.vmTemplate |
string |
VM template for sessionhosts configuration within hostpool. |
| sku |
The resource model definition representing SKU |
|
| systemData |
Metadata pertaining to creation and last modification of the resource. |
|
| tags |
object |
Resource tags. |
| type |
string |
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |
HostPoolList
HostPoolList
| Name | Type | Description |
|---|---|---|
| nextLink |
string |
Link to the next page of results. |
| value |
Host |
List of HostPool definitions. |
HostpoolPublicNetworkAccess
Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints
| Value | Description |
|---|---|
| Enabled | |
| Disabled | |
| EnabledForSessionHostsOnly | |
| EnabledForClientsOnly |
HostPoolType
HostPool type for desktop.
| Value | Description |
|---|---|
| Personal |
Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost. |
| Pooled |
Users get a new (random) SessionHost every time it connects to the HostPool. |
| BYODesktop |
Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct. |
LoadBalancerType
The type of the load balancer.
| Value | Description |
|---|---|
| BreadthFirst |
Uses BreadthFirst algorithm for load balancing. |
| DepthFirst |
Uses DepthFirst algorithm for load balancing. |
| Persistent |
Maintains persistent connections. |
| MultiplePersistent |
Maintains multiple persistent connections. |
MaintenanceWindowProperties
Maintenance window starting hour and day of week.
| Name | Type | Description |
|---|---|---|
| dayOfWeek |
Day of the week. |
|
| hour |
integer (int32) |
The update start hour of the day. (0 - 23) |
PersonalDesktopAssignmentType
PersonalDesktopAssignment type for HostPool.
| Value | Description |
|---|---|
| Automatic | |
| Direct |
Plan
Plan for the resource.
| Name | Type | Description |
|---|---|---|
| name |
string |
A user defined name of the 3rd Party Artifact that is being procured. |
| product |
string |
The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. |
| promotionCode |
string |
A publisher provided promotion code as provisioned in Data Market for the said product/artifact. |
| publisher |
string |
The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic |
| version |
string |
The version of the desired product/artifact. |
PreferredAppGroupType
The type of preferred application group type, default to Desktop Application Group
| Value | Description |
|---|---|
| None | |
| Desktop | |
| RailApplications |
PrivateEndpoint
The private endpoint resource.
| Name | Type | Description |
|---|---|---|
| id |
string |
The ARM identifier for private endpoint. |
PrivateEndpointConnection
The private endpoint connection resource.
| Name | Type | Description |
|---|---|---|
| id |
string (arm-id) |
Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" |
| name |
string |
The name of the resource |
| properties.groupIds |
string[] |
The group ids for the private endpoint resource. |
| properties.privateEndpoint |
The private endpoint resource. |
|
| properties.privateLinkServiceConnectionState |
A collection of information about the state of the connection between service consumer and provider. |
|
| properties.provisioningState |
The provisioning state of the private endpoint connection resource. |
|
| systemData |
Azure Resource Manager metadata containing createdBy and modifiedBy information. |
|
| type |
string |
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |
PrivateEndpointConnectionProvisioningState
The current provisioning state.
| Value | Description |
|---|---|
| Succeeded | |
| Creating | |
| Deleting | |
| Failed |
PrivateEndpointServiceConnectionStatus
The private endpoint connection status.
| Value | Description |
|---|---|
| Pending | |
| Approved | |
| Rejected |
PrivateLinkServiceConnectionState
A collection of information about the state of the connection between service consumer and provider.
| Name | Type | Description |
|---|---|---|
| actionsRequired |
string |
A message indicating if changes on the service provider require any updates on the consumer. |
| description |
string |
The reason for approval/rejection of the connection. |
| status |
Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. |
RegistrationInfo
Represents a RegistrationInfo definition.
| Name | Type | Description |
|---|---|---|
| expirationTime |
string (date-time) |
Expiration time of registration token. |
| registrationTokenOperation |
The type of resetting the token. |
|
| token |
string |
The registration token base64 encoded string. |
RegistrationTokenOperation
The type of resetting the token.
| Value | Description |
|---|---|
| Delete | |
| None | |
| Update |
SessionHostComponentUpdateType
The type of maintenance for session host components.
| Value | Description |
|---|---|
| Default |
Agent and other agent side components are delivery schedule is controlled by WVD Infra. |
| Scheduled |
TenantAdmin have opted in for Scheduled Component Update feature. |
Sku
The resource model definition representing SKU
| Name | Type | Description |
|---|---|---|
| capacity |
integer (int32) |
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. |
| family |
string |
If the service has different generations of hardware, for the same SKU, then that can be captured here. |
| name |
string |
The name of the SKU. E.g. P3. It is typically a letter+number code |
| size |
string |
The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. |
| 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. |
SkuTier
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.
| Value | Description |
|---|---|
| Free | |
| Basic | |
| Standard | |
| Premium |
SSOSecretType
The type of single sign on Secret Type.
| Value | Description |
|---|---|
| SharedKey | |
| Certificate | |
| SharedKeyInKeyVault | |
| CertificateInKeyVault |
SystemAssignedServiceIdentity
Managed service identity (either system assigned, or none)
| Name | Type | Description |
|---|---|---|
| principalId |
string (uuid) |
The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. |
| tenantId |
string (uuid) |
The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. |
| type |
Type of managed service identity (either system assigned, or none). |
SystemAssignedServiceIdentityType
Type of managed service identity (either system assigned, or none).
| Value | Description |
|---|---|
| None | |
| SystemAssigned |
systemData
Metadata pertaining to creation and last modification of the resource.
| Name | Type | Description |
|---|---|---|
| createdAt |
string (date-time) |
The timestamp of resource creation (UTC). |
| createdBy |
string |
The identity that created the resource. |
| createdByType |
The type of identity that created the resource. |
|
| lastModifiedAt |
string (date-time) |
The timestamp of resource last modification (UTC) |
| lastModifiedBy |
string |
The identity that last modified the resource. |
| lastModifiedByType |
The type of identity that last modified the resource. |