Available choose OS is allowed when VM creation

Hello,

I am creating some customize plan need to have some advise.

My environment requirement which allow client to create their own VM according to different OS with fixed resource (CPU, Ram and Disk size). Like between:

OS
Centos
Ubuntu
Debian

Resource plan (fixed CPU, Ram and Disk size)
Plan A
Plan B
Plan C

When I studying the material which how to build up template. OS image must be fixed for each template. Therefore, I need to create total 9 Template for above example.

Does anyone can suggest how can I improve the process?

Thanks!