Step 16: Get to know HEAT better
Start
At first, it may look like that creating a VM with a Heat template, or alternatively with the OpenStack client takes the same amount of time. While this is true if you only want to create the VM once, the advantage of using Heat is that you can reuse the template.
Now that you have a simple template, you can familiarise yourself with Heat by adding a variable parameter to your template.
Parameters
In this example, you will add a parameter for the SSH key. The advantage of this is that you can use a VM with different keys without changing the template.
Define the parameter and its type. The correct type for what we want to accomplish here is string
:
heat_template_version: 2014-10-16
parameters:
key_name:
type: string
Now that you have defined the first parameter, you can add the same resource to your template as follows:
heat_template_version: 2014-10-16
parameters:
key_name:
type: string
resources:
Instanz:
type: OS::Nova::Server
properties:
key_name: Beispiel
image: Ubuntu 16.04 Xenial Xerus - Latest
flavor: m1.small
Now you can actually use your parameter, and can replace Beispiel with your parameter.
You can do this with the get_param syntax (to get the parameter).
The template is now ready to use and you can define the key_name from the command line as demonstrated in our previous command:
heat_template_version: 2014-10-16
parameters:
key_name:
type: string
resources:
Instanz:
type: OS::Nova::Server
properties:
key_name: { get_param: key_name }
image: Ubuntu 16.04 Xenial Xerus - Latest
flavor: m1.small
Conclusion
You have now added a variable parameter to your template. In the next step, you will add the network.