I am looking for a generic ARM template that can create multiple VMs each having different VM Size and OS image. Plan is to pass VM names, VM Sizes and OS configurations as parameter arrays to the ARM template during deployment. Template linking is a solution but I am more interested in implementing a template that can loop itself to create multiple resources.