How can I set network.host to the IP of the VM without hardcoding the actual IP address?

I am attempting to set up an elasticsearch cluster. The VMs are RedHat 7 and administered by Puppet. Elasticsearch (2.2) is installed via RPMs managed by Puppet. I would like to have a single elasticesearch.yml file that can be used on all nodes. I can not figure out how to set network.host to the VM's IP address without hardcoding the IP address.

I would like to do something similar to node.name: ${hostname} but for network.host. For example I would like to set network.host to network.host: ${hostname -i} but elasticsearch does not start with this configuration.

How can I set network.host to the IP of the VM without hardcoding the actual IP address?

Thanks

Perhaps _site_ would be a good value for network.host. See https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html#network-interface-values.