Hello @Kirubakara Senthil Kumar S ,
It might not be possible to generate a custom VM Names when you deploy your machines in a Virtual Machine Scale Set.
By default all the VM names under VMSS takes a naming convention of : "{scale-set-name}_{instance-id}
Each VM in a scale set also gets a computer name assigned to it. This computer name is the hostname of the VM in the Azure-provided DNS name resolution within the virtual network. This computer name is of the form "{computer-name-prefix}{base-36-instance-id}".
The {base-36-instance-id} is in base 36 and is always six digits in length. If the base 36 representation of the number takes fewer than six digits, the {base-36-instance-id} is padded with zeros to make it six digits in length. For example, an instance with {computer-name-prefix} "nsgvmss" and instance ID 85 will have computer name "nsgvmss00002D".
For example if you use the below command to create VMSS:
az vmss create -g vmsstest -n vmsstest --computer-name-prefix comp --image UbuntuLTS
Then it will create a VMSS with 2 VMs
VM names will be vmsstest1 , vmsstest2
Computer Names will be comp1, comp2
For your scenario , If you still have a requirement of fixed host names - then you can try creating Standard VMs with your custom naming convention grouping in an AvailabilitySet and put those VMs behind a Load Balancer.
Please reference below documents:
(While creating the VMs you can customize the VM names based upon your above mentioned requirements)
https://learn.microsoft.com/en-us/azure/virtual-machines/windows/tutorial-availability-sets
https://learn.microsoft.com/en-us/azure/load-balancer/tutorial-multi-availability-sets-portal