DesktopPoolUpdateSpecV3

DesktopPoolUpdateSpecV3
DesktopPoolUpdateSpecV3

Desktop Pool object to be updated.

JSON Example
{
    "access_group_id": "6fd4638a-381f-4518-aed6-042aa3d9f14c",
    "allow_multiple_user_assignments": true,
    "allow_rds_pool_multi_session_per_user": false,
    "allow_users_to_choose_machines": true,
    "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",
        "ad_site_name": "Default-First-Site-Name",
        "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_script_settings": {
            "post_synchronization_script_name": "postsync_script",
            "post_synchronization_script_parameters": "p1 p2 p3",
            "power_off_script_name": "poweroff_script",
            "power_off_script_parameters": "p1 p2 p3"
        },
        "customization_type": "CLONE_PREP",
        "do_not_power_on_vms_after_creation": false,
        "enable_sysprep_domain_join": true,
        "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",
        "used_vm_policy": "BLOCK_ACCESS"
    },
    "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
            }
        ],
        "persistent_disk_drive_letter": "D",
        "persistent_disk_size_mb": 2048,
        "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
allow_users_to_choose_machines
Optional

Indicates whether the desktop pool supports session launch from user specified machines.Not applicable for dedicated user assignment.

boolean
automatic_user_assignment
Optional

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

string As ^(?i:(?!(?:CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])$)(?!(?:CON[\\].*|PRN[\\].*|AUX[\\].*|NUL[\\].*|COM[1-9][\\].*|LPT[1-9][\\].*)$)(?!(?:.*[\\]CON|.*[\\]PRN|.*[\\]AUX|.*[\\]NUL|.*[\\]COM[1-9]|.*[\\]LPT[1-9])$)(?!(?:.*[\\]CON[\\].*|.*[\\]PRN[\\].*|.*[\\]AUX[\\].*|.*[\\]NUL[\\].*|.*[\\]COM[1-9][\\].*|.*[\\]LPT[1-9][\\].*)$))([^\"#$%&'()*+,.\\\/:;<=>?@^`{|}~]{1,64}\\){0,3}([^\"#$%&'()*+,.\\\/:;<=>?@^`{|}~]{1,64})$|^/$
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.

  • APPLICATION: Only application sessions are supported.
  • DESKTOP: Only desktop sessions are supported.
  • DESKTOP_AND_APPLICATION: Both desktop and application sessions are supported.
Possible values are : APPLICATION, DESKTOP, 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.

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

view_storage_accelerator_settings