If an environment and component instances are defined, you can specify the different combinations of component instances that you want to provision. Configuration is performed through the environment diagram: a graphical representation of what component instances are available for each of the components in a given environment.
After you have set the component instances to the desired states, you can then click a button to "provision" the environment; this makes that particular combination of component instances live. With a single click, you can execute the various configuration actions that are needed to bring multiple components to the states needed for a specific test environment.
Multiple environment configurations can be defined and saved from a single environment "template." For example, you might want to configure and provision the environment with component A set to "Virtual - Expected Response Times and Data" and component B set to "Virtual - Errors". After you finish running tests against this environment, you might then want to modify it to have component A set to "Virtual - Expected Data, Delayed Response" and component B set to "Actual Asset"
CTP provides a REST service that allows you to provision environment instances from an automated script. For details, see API for Automated Provisioning.