[{"label":"Latest (V1)","version":"latest"}]
horizon-cloud-nextgen

Create Expansion

Description

Create a new expansion template (expanding an existing one)

Request

Request

URL

URL


post
https://cloud.vmwarehorizon.com/admin/v2/templates/expansions
Copy

Query Parameters

Query Parameters

boolean
ignore_warnings Optional

If true, errors classified as warnings will be ignored


Request Body

Request Body

TemplateExpansionCreateTO of mimetype application/json Required

expansionTemplate

{
	"infrastructure": {
		"key": {
			"data": {},
			"id": "string",
			"infrastructureLinks": {},
			"kind": "string"
		}
	},
	"name": "string",
	"networks": [
		{
			"data": {},
			"id": "string",
			"infrastructureLinks": {},
			"kind": "string"
		}
	],
	"orgId": "string",
	"parentId": "string",
	"providerInstanceId": "string",
	"sparePolicy": {
		"increment": 200,
		"limit": 10,
		"max": 4,
		"min": 2,
		"modelVersion": 0
	},
	"templateConnectivityStatus": "OFFLINE",
	"vmNamePattern": "string"
}
infrastructure Optional

All other provider resources that should be used when creating VMs for this template. The keys in this map and the interpretation of the values depend on the provider type.


string
name Optional

Name of this expansion template


networks Optional

List of network resources that will be used when creating VMs for this template. The meaning of ‘network resource’ will depend on the provider type. For example, in Azure, this will be a list of subnets.


string
orgId Optional

Org ID that owns this template.


string
parentId Optional

Parent template ID


string
providerInstanceId Optional

ID of the provider instance to used when creating VMs for this template. This will define, for example, the subscription and region of the VMs for Azure templates.


sparePolicy Optional

Spare capacity policy


string
templateConnectivityStatus Optional

Defines whether this template is ‘offline’ or ‘online’. When offline, noVM lifecycle operations will be performed for this template, and no client connections will be allowed.

Possible values are: OFFLINEONLINE


string
vmNamePattern Optional

Pattern used as prefix for VMs created for this template.

Authentication

Authentication

This operation uses the following authentication methods.

Response

Response

Response Body

Response Body

201 Created returns TemplateTOV2 of type */*

Successfully created template

{
	"activeDirectoryId": "string",
	"agentCustomization": {
		"demSettingId": "string",
		"disconnectSessionTimeoutMins": 0,
		"dtemplateName": "string",
		"emptySessionLogoffType": "DISCONNECT",
		"emptySessionTimeoutMins": 0,
		"esUrl": "string",
		"proxyInfo": {
			"bypass": "10.12.100.10;10.120.100.10;100.12.*.100",
			"server": "http://<<ipaddress or cname>>:<<port>>"
		},
		"runOnceCommand": "string",
		"sessionLoadBalancingSettings": {
			"LBCHANGETHRESHOLD": 1,
			"LBCPUTHRESHOLD": 50,
			"LBDISKQUEUELENTHRESHOLD": 50,
			"LBDISKREADLATENCYTHRESHOLD": 50,
			"LBDISKWRITELATENCYTHRESHOLD": 50,
			"LBINCLUDESESSIONCOUNT": true,
			"LBMEMTHRESHOLD": 50,
			"LBUSECUSTOMSCRIPT": false,
			"loadIndexThresholdPercent": 0,
			"modelVersion": 0
		},
		"sessionsPerVm": 1,
		"skipDomainJoin": false
	},
	"applicationProperties": {
		"key": "string"
	},
	"clientAccessLicenseApplicable": false,
	"computerAccountOU": "string",
	"createdAt": "string",
	"deleting": false,
	"description": "My floating desktop template",
	"desktopAdminCredentialId": "string",
	"desktopAdminUsername": "string",
	"diskEncryption": {
		"enabled": false,
		"modelVersion": 0
	},
	"edgeDeployment": {
		"adTwinSyncStatus": "SYNCED",
		"agentMonitoringConfig": {
			"dataToCollect": [
				"string"
			],
			"interval": 0
		},
		"authEngine": {
			"status": {
				"errorDetails": [
					{
						"cause": "ErrorDetail Object",
						"code": "string",
						"detail": "string",
						"domain": "string",
						"message": "string",
						"parameters": {
							"key": "string"
						}
					}
				],
				"message": "string",
				"status": 0
			},
			"url": "string"
		},
		"createdAt": "string",
		"description": "My new edge deployment",
		"edgeGatewayLocation": {
			"deviceId": "string",
			"iotDeviceName": "string"
		},
		"edgeVmDetails": {
			"credentialId": "string",
			"managementIp": "string"
		},
		"errorDetails": [
			{
				"cause": "ErrorDetail Object",
				"code": "string",
				"detail": "string",
				"domain": "string",
				"message": "string",
				"parameters": {
					"key": "string"
				}
			}
		],
		"fqdn": "edge.example.com",
		"hdc": {
			"edgeHubUrl": "string",
			"id": "string",
			"modelVersion": 0,
			"name": "string",
			"url": "string",
			"vmHub": {
				"name": "string",
				"url": "string"
			},
			"vmHubName": "string",
			"vmHubURL": "string"
		},
		"id": "id",
		"infrastructure": {
			"key": {
				"data": {},
				"id": "string",
				"infrastructureLinks": {},
				"kind": "string"
			}
		},
		"location": "US",
		"name": "edge-deployment-1",
		"orgId": "orgId",
		"privateEndpointDetails": {
			"dnsRecord": "string",
			"ip": "string",
			"name": "string",
			"nicResourceId": "string",
			"privateLinkServiceId": "string",
			"provisioningState": "string"
		},
		"providerInstanceId": "providerInstanceId",
		"providerLabel": "AZURE|VSPHERE",
		"proxyConfiguration": {
			"credentialId": "string",
			"deleting": false,
			"enabled": false,
			"exclusionPolicy": [
				"string"
			],
			"proxyHost": "string",
			"proxyName": "string",
			"proxyPort": "string",
			"proxyType": "HTTP",
			"sslEnabled": false
		},
		"registeredModules": {
			"key": "string"
		},
		"resourceTags": {
			"key": "string"
		},
		"ssoConfigurations": [
			{
				"caMode": "sub",
				"name": "my-sso",
				"ssoConfigurationId": "sso-id-1",
				"status": {
					"adDomainsStatus": [
						{
							"adId": "string",
							"message": "string",
							"status": 0
						}
					],
					"caBundlesStatus": [
						{
							"caCertVersion": 0,
							"installed": false
						}
					],
					"message": "string",
					"status": 0
				}
			}
		],
		"status": "PENDING",
		"twinSyncStatusMap": {
			"key": "NONE"
		},
		"updatedAt": "string",
		"version": 0
	},
	"edgeDeploymentId": "string",
	"hdc": {
		"edgeHubUrl": "string",
		"id": "string",
		"modelVersion": 0,
		"name": "string",
		"url": "string",
		"vmHub": {
			"name": "string",
			"url": "string"
		},
		"vmHubName": "string",
		"vmHubURL": "string"
	},
	"id": "string",
	"imageId": "string",
	"imageReference": {
		"modelVersion": 0,
		"streamId": "string",
		"versionId": "string"
	},
	"infrastructure": {
		"key": {
			"data": {},
			"id": "string",
			"infrastructureLinks": {},
			"kind": "string"
		}
	},
	"licenseProvided": false,
	"location": "US",
	"maxQuiescingServers": 10,
	"name": "My floating desktop template",
	"networks": [
		{
			"data": {},
			"id": "string",
			"infrastructureLinks": {},
			"kind": "string"
		}
	],
	"orgId": "string",
	"parentId": "string",
	"powerPolicy": {
		"enabled": false,
		"min": 2,
		"minUnit": "PERCENTAGE",
		"modelVersion": 0,
		"occupancyPresetMode": "BALANCED",
		"powerOffProtectTimeMins": 30,
		"powerSchedules": [
			{
				"allDay": false,
				"endTime": "17:00",
				"min": 5,
				"modelVersion": 0,
				"name": "VmwareWeekdaySchedule",
				"occursOn": 31,
				"startTime": "08:00",
				"timeZone": "Asia/Tokyo"
			}
		]
	},
	"protocols": [
		"BLAST"
	],
	"providerInstance": {
		"createdAt": "string",
		"credentialId": "0123456789",
		"denyOperations": [
			"EDGE_DEPLOYMENT"
		],
		"edgeDeploymentId": "0123456789",
		"hdc": {
			"edgeHubUrl": "string",
			"id": "string",
			"modelVersion": 0,
			"name": "string",
			"url": "string",
			"vmHub": {
				"name": "string",
				"url": "string"
			},
			"vmHubName": "string",
			"vmHubURL": "string"
		},
		"healthStatusDetails": {
			"errorDetails": [
				{
					"cause": "ErrorDetail Object",
					"code": "string",
					"detail": "string",
					"domain": "string",
					"message": "string",
					"parameters": {
						"key": "string"
					}
				}
			],
			"providerInstanceHealthStatus": "OK|ERROR|WARNING",
			"updatedAt": "string",
			"version": 0
		},
		"id": "0123456789",
		"infraTwinId": "0123456789",
		"infraTwinSyncStatus": "READY",
		"infrastructureLinks": {
			"key": "string"
		},
		"location": "US",
		"name": "My Instance Name",
		"orgId": "0123456789",
		"primaryProvider": false,
		"providerDetails": {
			"data": {
				"key": "string"
			},
			"method": "ByAppRegistration"
		},
		"providerLabel": "AZURE",
		"resourceTags": {
			"key": "string"
		},
		"updatedAt": "string",
		"version": 0
	},
	"providerInstanceId": "string",
	"reportedStatus": {
		"connectivityStatus": "OFFLINE",
		"consumedVMs": 0,
		"deletingVMs": 0,
		"errorVMs": 0,
		"freeSessions": 0,
		"location": "string",
		"maintenanceVMs": 0,
		"messages": [
			{
				"code": "string",
				"message": "string",
				"time": "string"
			}
		],
		"orgId": "string",
		"provisionedSessions": 0,
		"provisionedVMs": 0,
		"provisioningVMs": 0,
		"status": "string",
		"templateId": "string",
		"updatedAt": "string",
		"version": 0
	},
	"resourceTags": {
		"key": "string"
	},
	"sessionsPerVm": 0,
	"sparePolicy": {
		"increment": 200,
		"limit": 10,
		"max": 4,
		"min": 2,
		"modelVersion": 0
	},
	"syncStatus": "SYNC_COMPLETE",
	"templateConnectivityStatus": "OFFLINE",
	"templateType": "DEDICATED",
	"uagDeployment": {
		"createdAt": "string",
		"description": "string",
		"errorDetails": [
			{
				"cause": "ErrorDetail Object",
				"code": "string",
				"detail": "string",
				"domain": "string",
				"message": "string",
				"parameters": {
					"key": "string"
				}
			}
		],
		"fqdn": "www.example.com",
		"gateways": [
			{
				"desktopPrivateIp": "string",
				"dmzPrivateIp": "string",
				"errorDetails": [
					{
						"cause": "ErrorDetail Object",
						"code": "string",
						"detail": "string",
						"domain": "string",
						"message": "string",
						"parameters": {
							"key": "string"
						}
					}
				],
				"id": "string",
				"managementPrivateIp": "string",
				"markedForDeletion": false,
				"status": "DELETED",
				"version": "string",
				"vmName": "string"
			}
		],
		"hdc": {
			"edgeHubUrl": "string",
			"id": "string",
			"modelVersion": 0,
			"name": "string",
			"url": "string",
			"vmHub": {
				"name": "string",
				"url": "string"
			},
			"vmHubName": "string",
			"vmHubURL": "string"
		},
		"id": "string",
		"infrastructure": {
			"key": {
				"data": {},
				"id": "string",
				"infrastructureLinks": {},
				"kind": "string"
			}
		},
		"loadBalancer": {
			"fqdn": "string",
			"ipAddress": "string",
			"publicIpEnabled": false
		},
		"location": "US",
		"name": "My Instance Name",
		"numberOfGateways": 2,
		"orgId": "0123456789",
		"passwordCredentialId": "string",
		"privateLoadBalancer": {
			"fqdn": "string",
			"ipAddress": "string",
			"publicIpEnabled": false
		},
		"providerInstanceId": "0123456789",
		"providerLabel": "AZURE",
		"proxyConfiguration": {
			"certificateData": "string",
			"certificateName": "string",
			"deleting": false,
			"enabled": false,
			"proxyHost": "string",
			"proxyIncludedHosts": [
				"string"
			],
			"proxyName": "string",
			"proxyPort": 0,
			"proxyType": "HTTP"
		},
		"reportedProperties": {
			"location": "string",
			"orgId": "string",
			"reportedGatewayDetails": [
				{
					"certUpdateErrorDetails": [
						{
							"cause": "ErrorDetail Object",
							"code": "string",
							"detail": "string",
							"domain": "string",
							"message": "string",
							"parameters": {
								"key": "string"
							}
						}
					],
					"certUpdateStatus": "DELETED",
					"fqdnUpdateErrorDetails": [
						{
							"cause": "ErrorDetail Object",
							"code": "string",
							"detail": "string",
							"domain": "string",
							"message": "string",
							"parameters": {
								"key": "string"
							}
						}
					],
					"fqdnUpdateStatus": "DELETED",
					"gatewayHealthErrorDetails": [
						{
							"cause": "ErrorDetail Object",
							"code": "string",
							"detail": "string",
							"domain": "string",
							"message": "string",
							"parameters": {
								"key": "string"
							}
						}
					],
					"gatewayHealthStatus": "ERROR",
					"gatewayId": "string",
					"proxyUpdateErrorDetails": [
						{
							"cause": "ErrorDetail Object",
							"code": "string",
							"detail": "string",
							"domain": "string",
							"message": "string",
							"parameters": {
								"key": "string"
							}
						}
					],
					"proxyUpdateStatus": "DELETED"
				}
			],
			"uagDeploymentId": "string",
			"updatedAt": "string",
			"version": 0
		},
		"resourceTags": {
			"key": "string"
		},
		"sslCertificateCredentialId": "string",
		"sslCertificateTO": {
			"credentialId": "string",
			"expiryDate": "string",
			"sslCertificateType": "PEM"
		},
		"status": "PENDING",
		"type": "EXTERNAL | INTERNAL_AND_EXTERNAL",
		"updatedAt": "string",
		"version": 0
	},
	"uagDeploymentId": "string",
	"updatedAt": "string",
	"vmLicenseType": "NONE",
	"vmNamePattern": "string"
}
string
activeDirectoryId Optional

ID of the Active Directory configuration that will be used when creating VMs in this template. This defines the domain to which VMs will be joined, and the account used to do so.


agentCustomization Optional

map of string
applicationProperties Optional

Application properties to be added when template is created.


boolean
clientAccessLicenseApplicable Optional

clientAccessLicenseApplicable is set to true if customer has RDS CAL for Server images. Ref : https://docs.microsoft.com/en-us/azure/virtual-desktop/overview


string
computerAccountOU Optional

Pool VMs will join this OU if specified else they will be part of the default OU of the AD domain


string as date-time
createdAt Optional

Template create timestamp.


boolean
deleting Optional

True when a DELETE call for a template has been made to admin, but the template has not yet finished deleting.


string
description Optional

An arbitrary description for this template.


string
desktopAdminCredentialId Optional

Credential ID that points to desktop admin credentials needed during VM provisioning.


string
desktopAdminUsername Optional

The initial admin username for all new VMs created from this template. Only available in ‘expanded’ templates.


diskEncryption Optional

edgeDeployment Optional

Searchable fields are “id”, “name”, “providerLabel”, “providerInstanceId”, “status”


string
edgeDeploymentId Optional

ID of the ‘edgeDeployment’ for the template. Though this attribute can be inferred from the provider instance, it is referenced here for the purpose of easy lookup.


HDC
hdc Optional

string
id Optional

Template ID.


string
imageId Optional

ID of the gold pattern (image) from which all VMs in the template will be created. This is obtained from the Image Service.


imageReference Optional

infrastructure Optional

All other provider resources that should be used when creating VMs for this template. The keys in this map and the interpretation of the values depend on the provider type.


boolean
licenseProvided Optional

Represents if the Windows License Type was acknowledged and provided by the user


string
location Optional

location


integer as int32
maxQuiescingServers Optional

Max number of desktops which can quiesced when the template is undergoing normal maintenance.


string
name Optional

Template name.


networks Optional

List of network resources that will be used when creating VMs for this template. The meaning of ‘network resource’ will depend on the provider type. For example, in Azure, this will be a list of subnets.


string
orgId Optional

Org ID that owns this template.


string
parentId Optional

Parent template ID, if this template is an expansion.


powerPolicy Optional

Power policy Spec


array of string
protocols Optional

List of protocols to be allowed for client connections to desktops in this template. Allowable values are ‘BLAST’, ‘PCOIP’ and ‘RDP’.

Possible values are: BLASTPCOIPRDP


providerInstance Optional

Searchable Fields are “id”, “name”, “providerLabel”, “edgeDeploymentId”, “infraTwinSyncStatus”


string
providerInstanceId Optional

ID of the provider instance to used when creating VMs for this template. This will define, for example, the subscription and region of the VMs for Azure templates.


reportedStatus Optional

map of string
resourceTags Optional

Tags to be added to resources when they are created as part of this template.


integer as int32
sessionsPerVm Optional

Max number of desktops sessions allowed per VM. For Windows desktop VMs, this value must be 1. For MULTI_SESSION, it can be any value greater than 0.


sparePolicy Optional

Spare capacity policy


string
syncStatus Optional

Synchronization status of the template.

Possible values are: SYNC_COMPLETESYNC_CREATE_ERRORSYNC_CREATE_PENDINGSYNC_DELETE_ERRORSYNC_DELETE_PENDINGSYNC_UPDATE_ERRORSYNC_UPDATE_PENDING


string
templateConnectivityStatus Optional

Defines whether this template is ‘offline’ or ‘online’. When offline, no VM lifecycle operations will be performed for this template, and no client connections will be allowed.

Possible values are: OFFLINEONLINE


string
templateType Optional

Template type. ‘DEDICATED’ creates single-session Windows 10 VMs that are assigned to and owned by specific users. ‘FLOATING’ creates single-session Windows 10 VMs that are shared. ‘MULTI_SESSION’ creates multi-session Windows Server VMs and multi-session Windows 10 VMs.

Possible values are: DEDICATEDFLOATINGMULTI_SESSIONRDSHSTUDIOWVD


uagDeployment Optional

Searchable fields are “id”, “name”, “type”, “providerInstanceId”, “providerLabel”, “status”


string
uagDeploymentId Optional

ID of the ‘uagDeployment’ for the template. This defines the UAG cluster that will be used to connect clients to desktops.


string as date-time
updatedAt Optional

Template update timestamp.


string
vmLicenseType Optional

The type of Windows licenses that the creating organization posesses and wishes to use for all VMs created as part of this template.

Possible values are: NONEWINDOWS_CLIENTWINDOWS_SERVER


string
vmNamePattern Optional

Pattern used as prefix for VMs created for this template.

Errors

Errors

400

Bad request


401

Unauthorized


403

Forbidden


500

Failed to save template

Code Samples

Code Samples

cURL Command

curl -X POST -H "Content-Type: application/json" -d '{"infrastructure":{"key":{"data":{},"id":"string","infrastructureLinks":{},"kind":"string"}},"name":"string","networks":[{"data":{},"id":"string","infrastructureLinks":{},"kind":"string"}],"orgId":"string","parentId":"string","providerInstanceId":"string","sparePolicy":{"increment":200,"limit":10,"max":4,"min":2,"modelVersion":0},"templateConnectivityStatus":"OFFLINE","vmNamePattern":"string"}' https://cloud.vmwarehorizon.com/admin/v2/templates/expansions
Vendor Extensions

Vendor Extensions

This operation contains the following vendor extensions defined in the spec:
x-codegen-request-body-name: expansionTemplate


[{"label":"Latest (V1)","version":"latest"}]
horizon-cloud-nextgen
Feedback

Was this page helpful?