Update Desktop Pool

Update Desktop Pool

All the listed privileges are required -

Privileges Description
POOL_MANAGEMENT Caller should have permission to this privilege, on the associated access group of the desktop pool.
To update the access group for the desktop pool, caller should also have permission to this privilege on the access group to which desktop pool will be associated after update.
Request
URI
PUT
https://{api_host}//localhost/rest/inventory/v1/desktop-pools/{id}
COPY
Path Parameters
string
id
Required

id


Request Body

Desktop Pool object to be updated.

DesktopPoolUpdateSpec of type(s) application/json
Required
{
    "access_group_id": "6fd4638a-381f-4518-aed6-042aa3d9f14c",
    "allow_multiple_user_assignments": true,
    "allow_rds_pool_multi_session_per_user": false,
    "automatic_user_assignment": false,
    "category_folder_name": "dir1",
    "cloud_assigned": false,
    "cloud_brokered": false,
    "cloud_managed": false,
    "cs_restriction_tags": [
        "CS1_TAG1"
    ],
    "customization_settings": {
        "ad_container_rdn": "CN=Computers",
        "cloneprep_customization_settings": {
            "post_synchronization_script_name": "cloneprep_postsync_script",
            "post_synchronization_script_parameters": "p1 p2 p3",
            "power_off_script_name": "cloneprep_poweroff_script",
            "power_off_script_parameters": "p1 p2 p3",
            "priming_computer_account": "priming"
        },
        "customization_type": "CLONE_PREP",
        "do_not_power_on_vms_after_creation": false,
        "instant_clone_domain_account_id": "6f85b3a5-e7d0-4ad6-a1e3-37168dd1ed51",
        "reuse_pre_existing_accounts": false,
        "sysprep_customization_spec_id": "a219420d-4799-4517-8f78-39c74c7c4efc"
    },
    "description": "Desktop Pool Description",
    "display_assigned_machine_name": false,
    "display_machine_alias": true,
    "display_name": "pool",
    "display_protocol_settings": {
        "allow_users_to_choose_protocol": true,
        "default_display_protocol": "PCOIP",
        "max_number_of_monitors": 2,
        "max_resolution_of_any_one_monitor": "WUXGA",
        "renderer3d": "DISABLED",
        "session_collaboration_enabled": false,
        "vram_size_mb": 64
    },
    "enable_client_restrictions": false,
    "enable_provisioning": true,
    "enabled": true,
    "nics": [
        {
            "network_interface_card_id": "c9896e51-48a2-4d82-ae9e-a0246981b473",
            "network_label_assignment_specs": [
                {
                    "enabled": true,
                    "max_label": 1,
                    "max_label_type": "LIMITED",
                    "network_label_name": "vm-network"
                }
            ]
        }
    ],
    "pattern_naming_settings": {
        "max_number_of_machines": 100,
        "min_number_of_machines": 10,
        "naming_pattern": "vm-{n}-sales",
        "number_of_spare_machines": 10,
        "provisioning_time": "ON_DEMAND"
    },
    "provisioning_settings": {
        "host_or_cluster_id": "domain-s425",
        "im_stream_id": "6f85b3a5-e7d0-4ad6-a1e3-37168dd1ed51",
        "im_tag_id": "6f85b3a5-e7d0-4ad6-a1e3-37168dd1ed51",
        "resource_pool_id": "resgroup-1",
        "vm_template_id": "vm-1"
    },
    "session_settings": {
        "allow_multiple_sessions_per_user": false,
        "allow_users_to_reset_machines": false,
        "delete_or_refresh_machine_after_logoff": "NEVER",
        "disconnected_session_timeout_minutes": 5,
        "disconnected_session_timeout_policy": "NEVER",
        "empty_session_timeout_minutes": 5,
        "empty_session_timeout_policy": "AFTER",
        "logoff_after_timeout": false,
        "power_policy": "ALWAYS_POWERED_ON",
        "pre_launch_session_timeout_minutes": 10,
        "pre_launch_session_timeout_policy": "AFTER",
        "refresh_os_disk_after_logoff": "NEVER",
        "refresh_period_days_for_replica_os_disk": 20,
        "refresh_threshold_percentage_for_replica_os_disk": 30,
        "session_timeout_policy": "DEFAULT"
    },
    "session_type": "DESKTOP",
    "shortcut_locations_v2": [
        "DESKTOP"
    ],
    "specific_naming_settings": {
        "num_unassigned_machines_kept_powered_on": 1,
        "specified_names": [
            {
                "name": "machine1",
                "user_id": "S-1-1-1-3965912346-1012345398-3123456564-123"
            }
        ],
        "start_machines_in_maintenance_mode": false
    },
    "stop_provisioning_on_error": true,
    "storage_settings": {
        "datastores": [
            {
                "datastore_id": "datastore-1",
                "sdrs_cluster": false
            }
        ],
        "reclaim_vm_disk_space": false,
        "reclamation_threshold_mb": 1024,
        "replica_disk_datastore_id": "datastore-1",
        "use_separate_datastores_replica_and_os_disks": false,
        "use_vsan": false
    },
    "transparent_page_sharing_scope": "VM",
    "view_storage_accelerator_settings": {
        "blackout_times": [
            {
                "days": [
                    "MONDAY",
                    "TUESDAY"
                ],
                "end_time": "22:00",
                "start_time": "10:00"
            }
        ],
        "regenerate_view_storage_accelerator_days": 7,
        "use_view_storage_accelerator": false
    }
}
string
access_group_id
Optional

Access groups can organize the entities such as desktop pools in the organization. They can also be used for delegated administration.
This property is required for all the pools except for RDS desktop pool, which will be inherited from the corresponding Farm.

boolean
allow_multiple_user_assignments
Optional

Applicable To: Dedicated manual and automated desktop pools. with manual user assignment.
Indicates whether assignment of multiple users to a single machine is allowed. This is required for Dedicated manual and automated desktop pools

boolean
allow_rds_pool_multi_session_per_user
Optional

Applicable To: RDS desktop pools.
Indicates whether multiple sessions are allowed per user for this pool. This is required for RDS desktop pool. For other desktop pools, allow_multiple_sessions_per_user in session_settings will be applicable.

boolean
automatic_user_assignment
Optional

Applicable To: Dedicated desktop pools.
Automatic assignment of a user the first time they access the machine.

string
category_folder_name
Optional

Name of the category folder in the user's OS containing a shortcut to the desktop pool.This property will not be set if the desktop pool does not belong to a category.This property defines valid folder names with a max length of 64 characters and up to 4 subdirectory levels.The subdirectories can be specified using a backslash, e.g. (dir1\dir2\dir3\dir4). Folder names can't start orend with a backslash nor can there be 2 or more backslashes together. Combinations such as(\dir1, dir1\dir2, dir1\\dir2, dir1\\\dir2) are invalid. The windows reserved keywords(CON, PRN, NUL, AUX, COM1 - COM9, LPT1 - LPT9 etc.) are not allowed in subdirectory names.

boolean
cloud_assigned
Required

Indicates whether this desktop pool is assigned to a workspace in Horizon Cloud Services.
This can be set to true from cloud session only and only when cloud_managed is true.This can be changed to false only if there are no entitlements.

boolean
cloud_brokered
Optional

Applicable To: RDS Desktop Pools.
This is required for RDS Desktop Pools.

boolean
cloud_managed
Required

Indicates whether this desktop pool is managed by Horizon Cloud Services.This can be false only when cloud_assigned is false.
This cannot be set to true, if any of the conditions are satisfied:
1. user is provided.
2. enabled is false.
3. session_type is not DESKTOP.
4. global_entitlement is set.
5. user_assignment is DEDICATED.
6. automatic_user_assignment is false.
7. Local entitlements are configured.
8. Any of the machines in the pool have users assigned.
9. cs_restriction_tags is not set.
10. type is MANUAL.

array of string
cs_restriction_tags
Optional

List of Connection server restriction tags for which the access to the desktop pool is restricted to. If this property is not set then it indicates that desktop pool can be accessed from any connection server.

customization_settings
Optional

customization_settings

string
description
Optional

Description of the desktop pool.

boolean
display_assigned_machine_name
Required

Applicable To: Dedicated desktop pools.
Indicates whether users should see the hostname of the machine assigned to them instead of display_name when they connect using Horizon Client. If no machine is assigned to the user then "display_name (No machine assigned)" will be displayed in the client.

boolean
display_machine_alias
Required

Applicable To: Dedicated desktop pools.
Indicates whether users should see the machine alias of the machine assigned to them instead of displayName when they connect using Horizon Client. If no machine is assigned to the user then "display_name (No machine assigned)" will be displayed in the client. If both display_assigned_machine_name and this property is set to true, machine alias of the assigned machine is displayed if the user has machine alias set. Otherwise hostname will be displayed.

string
display_name
Required

Display name of the desktop pool.

display_protocol_settings
Optional

display_protocol_settings

boolean
enable_client_restrictions
Required

Indicates whether client restrictions are to be applied to desktop pool.

boolean
enable_provisioning
Optional

Applicable To: Automated desktop pools.
Indicates whether provisioning is enabled. This is required for Automated desktop pools.

boolean
enabled
Required

Indicates whether the desktop pool is enabled for brokering.

nics
Optional

Applicable To: Instant Clone desktop pools.
Network interface card settings for machines provisioned for this desktop pool. A NIC may appear at most once in these settings and must be present on this desktop pool's parent's snapshot or template. Not all NICs need be configured. If value is not configured than will use default settings.

pattern_naming_settings
Optional

pattern_naming_settings

provisioning_settings
Optional

provisioning_settings

session_settings
Optional

session_settings

string
session_type
Optional

Applicable To: Managed desktop pools.
Supported session types for this desktop pool. If this property is set to APPLICATION then this desktop pool can be used for application pool creation. This will beuseful when the machines in the pool support application remoting. This is required for managed desktop pools.

  • DESKTOP: Only desktop sessions are supported.
  • APPLICATION: Only application sessions are supported.
  • DESKTOP_AND_APPLICATION: Both desktop and application sessions are supported.
Possible values are : DESKTOP, APPLICATION, DESKTOP_AND_APPLICATION,
array of string
shortcut_locations_v2
Optional

Locations of the category folder in the user's OS containing a shortcut to the desktop pool. This is required if category_folder_name is set.

Possible values are : START_MENU, DESKTOP,
specific_naming_settings
Optional

specific_naming_settings

boolean
stop_provisioning_on_error
Optional

Applicable To: Automated desktop pools.
Indicates whether provisioning on all machines stops on error. This is required for Automated desktop pools.

storage_settings
Optional

storage_settings

string
transparent_page_sharing_scope
Optional

Applicable To: Managed Manual and Automated desktop pools.
The transparent page sharing scope. This is required for Manual and Automated desktop pools.

  • VM: Inter-VM page sharing is not permitted.
  • DESKTOP_POOL: Inter-VM page sharing among VMs belonging to the same Desktop pool is permitted.
  • POD: Inter-VM page sharing among VMs belonging to the same Pod is permitted.
  • GLOBAL: Inter-VM page sharing among all VMs on the same host is permitted.
Possible values are : VM, DESKTOP_POOL, POD, GLOBAL,
view_storage_accelerator_settings
Optional

view_storage_accelerator_settings

Authentication
This operation uses the following authentication methods.
Responses
204

No Content

Operation doesn't return any data structure

400

Bad Request

Operation doesn't return any data structure

401

User is not authenticated

Operation doesn't return any data structure

403

Access to the resource is forbidden

Operation doesn't return any data structure

404

Not Found

Operation doesn't return any data structure

Inventory Operations
POST
Add Custom Icon
POST
Add Local Application Pools To GAE
POST
Add Local Desktop Pools To GDE
POST
Add Machines
POST
Add Machines By Name
POST
Add Rds Servers
POST
Archive Machines
POST
Assign Machine Aliases
POST
Assign Users
POST
Cancel Desktop Pool Task
POST
Cancel Scheduled Maintenance
POST
Cancel Scheduled Push Image
POST
Check Application Pool Name Availability
POST
Check Desktop Pool Name Availability
POST
Check Farm Name Availability
POST
Check Machine Prefix Availability
POST
Check RDS Server Prefix Availability
POST
Create Application Icon
POST
Create Application Pool
POST
Create Application Pool V2
POST
Create Desktop Pool
POST
Create Desktop Pool V2
POST
Create Farm
POST
Create Farm V2
POST
Create Farm V3
POST
Create Global Application Entitlement
POST
Create Global Desktop Entitlement
POST
Create Global Desktop Entitlement V2
DELETE
Delete Application Pool
DELETE
Delete Desktop Pool
DELETE
Delete Farm
DELETE
Delete Global Application Entitlement
DELETE
Delete Global Desktop Entitlement
DELETE
Delete Machine
DELETE
Delete Machines
DELETE
Delete Physical Machine
DELETE
Delete RDS Server
POST
Desktop Pool Apply Image
POST
Desktop Pool Promote Pending Image
POST
Disconnect Global Sessions
POST
Disconnect Sessions
POST
Enter Maintenance
POST
Exit Maintenance
POST
Farm Apply Image
POST
Farm Promote Pending Image
GET
Get Application Icon
GET
Get Application Pool
GET
Get Application Pool V2
GET
Get Application Pool V3
GET
Get Desktop Pool
GET
Get Desktop Pool Task
GET
Get Desktop Pool V2
GET
Get Desktop Pool V3
GET
Get Desktop Pool V4
GET
Get Desktop Pool V5
GET
Get Desktop Pool V6
GET
Get Farm
GET
Get Farm V2
GET
Get Farm V3
GET
Get Farm V4
GET
Get Global Application Entitlement
GET
Get Global Application Entitlement V2
GET
Get Global Desktop Entitlement
GET
Get Global Desktop Entitlement V2
GET
Get Machine
GET
Get Machine V2
GET
Get Machine V3
GET
Get Physical Machine
GET
Get Physical Machine V2
GET
Get RDS Server
GET
Get Session Info
GET
List Application Icons
GET
List Application Pools
GET
List Application Pools V2
GET
List Application Pools V3
GET
List Compatible Backup GA Es
GET
List Compatible Backup GD Es
GET
List Compatible Local Application Pools
GET
List Compatible Local Desktop Pools
GET
List Desktop Pools
GET
List Desktop Pools V2
GET
List Desktop Pools V3
GET
List Desktop Pools V4
GET
List Desktop Pools V5
GET
List Desktop Pools V6
GET
List Desktop Pool Tasks
GET
List Farms
GET
List Farms V2
GET
List Farms V3
GET
List Farms V4
GET
List Global Application Entitlements
GET
List Global Application Entitlements V2
GET
List Global Desktop Entitlements
GET
List Global Desktop Entitlements V2
GET
List Installed Applications On Desktop Pool
GET
List Installed Applications On Farm
GET
List Local Application Pools
GET
List Local Desktop Pools
GET
List Machines
GET
List Machines V2
GET
List Machines V3
GET
List Physical Machines
GET
List Physical Machines V2
GET
List RDS Servers
GET
List Session Info
POST
Log Off Global Sessions
POST
Log Off Sessions
POST
Pause Desktop Pool Task
GET
Query Global Sessions
POST
Rebuild Machines
POST
Recover Machines
POST
Recover RDS Servers
POST
Register Physical Machine
POST
Register RDS Server
POST
Remove Custom Icon
DELETE
Remove Local Application Pools From GAE
DELETE
Remove Local Desktop Pools From GDE
POST
Remove Machines
POST
Remove Rds Servers
POST
Reset Global Sessions
POST
Reset Machines
POST
Reset Sessions
POST
Restart Global Sessions
POST
Restart Machines
POST
Restart Sessions
POST
Resume Desktop Pool Task
POST
Schedule Maintenance
POST
Schedule Maintenance V2
POST
Schedule Push Image
POST
Schedule Push Image V2
POST
Send Message To Global Sessions
POST
Send Message To Sessions
POST
Unassign Machine Aliases
POST
Unassign Users
PUT
Update Application Pool
PUT
Update Application Pool V2
PUT
Update Desktop Pool
PUT
Update Farm
PUT
Update Farm V2
PUT
Update Farm V3
PUT
Update Global Application Entitlement
PUT
Update Global Desktop Entitlement
PUT
Update RDS Server
POST
Validate Installed Applications On Desktop Pool
POST
Validate Installed Applications On Farm
POST
Validate Specified Names