For the point no.3 like you are saying the no. of virtual interf., I believe that it completely depends on the use case of what you are executing via a yaml file. Moreover to add in a new profile or a connection, I prefer using nmcli offering a variety of options, which you may check in the manual available offline.
Cheers!