【发布时间】:2015-08-03 21:32:04
【问题描述】:
在 Heat 模板的 bash 脚本中,是否可以使用该模板中的参数值?
【问题讨论】:
标签: bash templates openstack heat devstack
在 Heat 模板的 bash 脚本中,是否可以使用该模板中的参数值?
【问题讨论】:
标签: bash templates openstack heat devstack
是的,根据Heat Orchestration Template specification,您可以使用str_replace 函数完成此操作。他们给出了一个使用str_replace 和get_param 在bash 脚本中使用参数值DBRootPassword 的示例:
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 }
params 中的每个键都在 template 中替换为其值。由于$db_rootpassword 的值被设置为get_param 的结果,这意味着参数被传递到使用$db_rootpassword 的bash 脚本中。
【讨论】: