In a bash script in a Heat template, is it possible to use a parameter value from that template?
Asked
Active
Viewed 1,534 times
1 Answers
0
Yes, according to the Heat Orchestration Template specification, you can accomplish this with the str_replace
function. They give an example that uses str_replace
, together with get_param
, to use a parameter value DBRootPassword
in a bash script:
parameters:
DBRootPassword:
type: string
label: Database Password
description: Root password for MySQL
hidden: true
resources:
my_instance:
type: OS::Nova::Server
properties:
# general properties ...
user_data:
str_replace:
template: |
#!/bin/bash
echo "Hello world"
echo "Setting MySQL root password"
mysqladmin -u root password $db_rootpassword
# do more things ...
params:
$db_rootpassword: { get_param: DBRootPassword }
Each key in params
is replaced in template
with its value. Since $db_rootpassword
's value is set to the result of get_param
, that means the parameter is passed into the bash script wherever $db_rootpassword
is used.

Dan Getz
- 8,774
- 6
- 30
- 64