I am currently using the "Create and provision new WVD hostpool" template. It works OK.
I, however, have a bit of a problem with the separation between the create and modify case.
I like my templates to state the desired state of my project after deploy. This makes for more readable and maintainable templates.
The create/modify paradigm implies that I know what the state is before and then select the correct template based on that.
I would prefer a solution that checked if I already have what I stated as the desired state and only updates my resources as required. (Such as if there is a new image to build from, a new number of instances (up/down) or a new VM side.)
If I deploy my templates two times in a row without changing anything I would expect the second deploy to say that all is fine and nothing needs to change.
Is that the way it works today or are you planning to move in that direction?
@Johan_Eriksson : To clarify, is the main goal to say that you have a host pool, but now want to push out a new image? If so, then we would actually recommend the "Update existing host pool" template, which gives you extra controls on what to do with the previous virtual machines.
To answer your later questions on "only updates my resources as required" (such as adding 1 or 2 VMs to your existing host pool and referencing the same image), the goal is that it should work. ARM does this pretty well with VM's, such that it won't create "vm-0", "vm-1", etc. if they already exist. However, ARM is a little less friendly in terms of the extensions, which we need to run to get the VMs joined to the domain and registered to the service. We are investigating this.