Heat/Environments

What is an Environment?
I see an Environment as a container for anything that affects the behavior of the Template (kinda like structured parameters).
 * 1)  So parameters can be written into an environment file or automatically inserted if you pass them on the cli.
 * 2) You define any non-default Providers in the Environment
 * 3) You can define any extra/non-keystone credentials in the Environment

Example

parameters: InstanceType: m1.xlarge DBUsername: angus DBPassword: verybadpass KeyName: heat_key credentials: rackspace_creds: username: myusername api_key: 012345abcdef67890 resources: provider: rackspace.com DatabaseServer: ImageId: this_image_please credentials: rackspace_creds