DesktopPoolCreateSpecV2

DesktopPoolCreateSpecV2
DesktopPoolCreateSpecV2

Information required to create a desktop pool.

JSON Example
{
    "access_group_id": "6fd4638a-381f-4518-aed6-042aa3d9f14c",
    "allow_multiple_user_assignments": false,
    "allow_rds_pool_multi_session_per_user": false,
    "automatic_user_assignment": true,
    "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": false,
    "display_name": "ManualPool",
    "display_protocol_settings": {
        "allow_users_to_choose_protocol": true,
        "default_display_protocol": "PCOIP",
        "grid_vgpus_enabled": false,
        "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,
    "farm_id": "855ea6c5-720a-41e1-96f4-958c90e6e424",
    "machines": [
        "string"
    ],
    "name": "ManualPool",
    "naming_method": "SPECIFIED",
    "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": "UP_FRONT"
    },
    "provisioning_settings": {
        "add_virtual_tpm": false,
        "base_snapshot_id": "snapshot-1",
        "compute_profile_num_cores_per_socket": 1,
        "compute_profile_num_cpus": 4,
        "compute_profile_ram_mb": 4096,
        "datacenter_id": "datacenter-1",
        "host_or_cluster_id": "domain-s425",
        "im_stream_id": "6f85b3a5-e7d0-4ad6-a1e3-37168dd1ed51",
        "im_tag_id": "6f85b3a5-e7d0-4ad6-a1e3-37168dd1ed51",
        "parent_vm_id": "vm-2",
        "resource_pool_id": "resgroup-1",
        "vm_folder_id": "group-v1",
        "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": "TAKE_NO_POWER_ACTION",
        "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"
    ],
    "source": "INSTANT_CLONE",
    "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",
    "type": "AUTOMATED",
    "user_assignment": "DEDICATED",
    "vcenter_id": "f148f3e8-db0e-4abb-9c33-7e5205ccd360",
    "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 with default value as false.
Whether assignment of multiple users to a single machine is allowed.
If this is true then automatic_user_assignment should be false.

boolean
allow_rds_pool_multi_session_per_user
Optional

Applicable To: RDS desktop pools with default value as false.
Indicates whether multiple sessions are allowed per user for this pool.For other desktop pools, allow_multiple_sessions_per_user from session_settings will be applicable.

boolean
automatic_user_assignment
Optional

Automatic assignment of a user the first time they access the machine.
This property is applicable if user_assignment is set to DEDICATED with default value as true.

string
category_folder_name
Optional

Name of the category folder in the user's OS containing a shortcut to the desktop pool.Will be unset if the desktop 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
Optional

Indicates whether this desktop 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 set to true.
Default value is false.

boolean
cloud_brokered
Optional

Applicable To: RDS Desktop Pools with default value as false.

boolean
cloud_managed
Optional

Indicates whether this desktop is managed by Horizon Cloud Services. This can be set to false only when cloud_assigned is set to false.
Default value is false.
This property cannot be set to true, if any of the conditions are satisfied:
user is provided.
enabled is false.
supported_session_type is not DESKTOP.
global_entitlement is set.
user_assignment is DEDICATED and automatic_user_assignment is false.
Local entitlements are configured.
Any of the machines in the pool have users assigned.
cs_restriction_tags is not set.
Desktop pool type is MANUAL.

array of string
cs_restriction_tags
Optional

List of Connection server restriction tags to which the access to the desktop pool is restricted. If this property is not set 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
Optional

Applicable To: Dedicated desktop pools with default value as false.
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
Optional

Applicable To: Dedicated desktop pools with default value as false.
If no machine is assigned to the user then "displayName No machine assigned)" will be displayed in the Horizon 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
Optional

Display name of the desktop pool. If the display name is left blank, it defaults to name.

display_protocol_settings
Optional

display_protocol_settings

boolean
enable_client_restrictions
Optional

Client restrictions to be applied to the desktop pool.
Default value is false.

boolean
enable_provisioning
Optional

Applicable To: Automated desktop pools with default value as true.
Indicates whether provisioning is enabled.

boolean
enabled
Optional

Indicates whether the desktop pool is enabled for brokering. Default value is true.

string
farm_id
Optional

Applicable To: RDS Desktop pool.
Farm is needed to create RDS desktop pool. This is required for RDS desktop pools.This Farm must not already be associated with another RDS desktop.

array of string
machines
Optional

Applicable To: Manual desktop pools.
List of machines to add to this desktop pool during creation.

string
name
Required

Name of the desktop pool. This property must contain only alphanumerics, underscores and dashes.

string
naming_method
Optional

Applicable To: Automated desktop pool.
Naming method for the desktop pool. This is required for Automated desktop pools.

  • SPECIFIED: List of specified names. All provisioning is done up-front.
  • PATTERN: Naming pattern.
Possible values are : SPECIFIED, PATTERN,
nics
Optional

Network interface card settings for machines provisioned for this desktop.

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 with default value as DESKTOP.
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 be useful when the machines in the pool support application remoting.

  • 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 the category_folder_name is set.

Possible values are : START_MENU, DESKTOP,
string
source
Optional

Applicable To: Manual and Automated desktop pools.
Source of the Machines in this Desktop Pool. This is required for Manual and Automated desktop pools.

  • INSTANT_CLONE: The Desktop Pool uses instant clone technology for provisioning the machines. Applicable for AUTOMATED type desktop pools.
  • LINKED_CLONE: The Desktop Pool uses linked clone technology for provisioning the machines. Applicable for AUTOMATED type desktop pools.
  • VIRTUAL_CENTER: The Desktop Pool uses Virtual Center as source for provisioning the machines. Applicable for AUTOMATED and MANUAL type desktop pools.
  • RDS: The Desktop Pool is backed by Farm. The Farm used in this Desktop Pool can be of any Source.
  • UNMANAGED: The Desktop Pool holds the non-vCenter source machines that includes physical computers, blade PCs and non-vCenter servers. Applicable for MANUAL type desktop pools.
Possible values are : INSTANT_CLONE, LINKED_CLONE, VIRTUAL_CENTER, RDS, UNMANAGED,
specific_naming_settings
Optional

specific_naming_settings

boolean
stop_provisioning_on_error
Optional

Applicable for Automated pools only with default value as true.

storage_settings
Optional

storage_settings

string
transparent_page_sharing_scope
Optional

Applicable To: Managed Manual and Automated desktop pools with default value as VM.
Transparent page sharing scope for this Desktop Pool.

  • 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,
string
type
Required

Type of the Desktop Pool.

  • AUTOMATED: Automated Desktop Pool.
  • MANUAL: Manual Desktop Pool.
  • RDS: RDS Desktop Pool.
Possible values are : AUTOMATED, MANUAL, RDS,
string
user_assignment
Optional

Applicable To: Automated and Manual Desktop pools. User assignment scheme. This is required for Automated and Manual Desktop Pools.

  • DEDICATED: With dedicated assignment, a user returns to the same machine at each session.
  • FLOATING: With floating assignment, a user may return to one of the available machines for the next session.
Possible values are : DEDICATED, FLOATING,
string
vcenter_id
Optional

ID of the virtual center server.
This is required for all desktop pool except Unmanaged Manual and RDS desktop pool.

view_storage_accelerator_settings
Optional

view_storage_accelerator_settings