When you run a plan that deploys an application to more than one host, you can use configuration generation to automatically replace substitution variables with appropriate values for each host.
To do this, you add substitution variable definitions to your components. These can be used, for example, as a way to configure the directory into which an application is installed. Using the provisioning system, you can define and manage different variable settings for application deployments on each of your target hosts, as follows:
Each version of a component can declare its own variable definitions.
Each version of a component has its own variable settings (possibly imported from a previous version).
Each component can be installed using any of its variable settings.