One concrete thing to drive the data/naming is tooling like spiff, where it's really convenient to just be able to generate the entire value by plucking values (i.e. static IPs) off the jobs. This is trivial if the value is literally just a list of IPs/addresses; to generate a list of URIs it has to do string munging, which gets more complicated.

I think having the raw data fed into the templates gives us the most flexibility. All of the jobs should have the same port configuration, so that can be a single property. So, "machines" was chosen to abstractly refer to the addresses of the of nodes in the cluster (whether by IP or DNS or etc.).