在bash脚本中使用Heat模板参数值

时间:2015-08-03 21:32:04

标签: bash templates openstack heat devstack

在Heat模板的bash脚本中,是否可以使用该模板中的参数值?

1 个答案:

答案 0 :(得分:0)

是的,根据Heat Orchestration Template specification,您可以使用str_replace功能完成此操作。他们举例说明使用str_replaceget_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脚本。