This setup assumes static provider and requires to add hosts key to other providers - mess and duplication of data.

I'd opt to use provider filtering capabilities (on static it will use the structure you are using, on vcloud/aws will query api for what symbolic host name?)

Symbolic host name could be a as a env.key (i.e. on AWS multiple masters for each app).