The hardware models can be used to make distinctions. You could have one hardware models for an entire family, where you would only care about a main template, which is linked to it. Or you could define more models, each with specific entries to be able to differentiate template syntax on those values and/or make use of the OS upgrade functionality, where you could define different OS version for the same system depending on their function.
A lot of models are already available, these can be modified to your needs. If a certain model doesn't exist yet, you may add it yourself.
Below an overview is shown of the hardware models. If a certain model is linked to templates, they are shown as well.
For each model you define at least, the:
Each vendor_type has a default file transfer method, this can be found along with the supported hardware.