Here are high level steps
create a input variable name vmname:
map that name to custom property in cloud template
release the version
go to service broker content and policy => content , edit and then map
formatVersion: 1
inputs:
vmname:
type: string
title: 'Enter VM Name'
default: ''
resources:
Cloud_vSphere_Machine_1:
type: Cloud.vSphere.Machine
properties:
image: Linux
vmname: ${input.vmname}
cpuCount: 1
totalMemoryMB: 1024
Here is the sample of cloud template which name is community , release this , Once release go to service broker
content source , validate then look for cloud template and configure form
Here for click deployment name field and click values and choose bind value and then choose from canvas
that is how you use custom form and custom name variable