str_replace
str_replace 関数では、文字列の置換ができます。
str_replace:
template: <template string>
params: <parameter mappings>
Element | Required | Description |
---|---|---|
template | Yes | 置換元の文字列を指定します。 |
params | Yes | 置換する文字列のマッピングを指定します。 get_attr などの別の関数を使用できます。 |
str_replace 関数の指定例1
resources:
my_instance:
type: OS::Nova::Server
outputs:
Login_URL:
description: The URL to log into the deployed application
value:
str_replace:
template: http://host/MyApplication
params:
host: { get_attr: [ my_instance, first_address ] }
上記の例では、get_attr: [ my_instance, first_address ] で返却される値が"10.0.0.1"である場合、出力パラメータ'Login_URL'の値は"http://10.0.0.1/MyApplication"になります。
str_replace 関数の指定例2
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 }
上記の例では、Computeリソースに入力するuser_dataに関して、str_replace 関数を使って"$db_rootpassword"という文字列をテンプレートの入力パラメータ'DBRootPassword'の値で置換しています。