Parameters Section
parametersセクションでは、テンプレートからスタックを作成するときに使う入力パラメータを定義します。
例えば、ユーザーが指定する名前、パスワード、または、イメージIDなどのパラメータを定義することが可能です。
なお、スタック作成時にパラメータを指定することが可能なため、パスワード情報などをテンプレート上に定義する必要がなくなります。同様に、アベイラビリティゾーンを、スタック作成時に指定することで、1つのHeatテンプレートを使用して複数のリージョン/アベイラビリティゾーンに対し、同じ構成のスタックを作成することも可能です。
各パラメータは、パラメータ名をキーとして、typeやデフォルト値などを定義します。
parameters:
<param name>:
type: <string | number | json | comma_delimited_list>
label: <human-readable name of the parameter>
description: <description of the parameter>
default: <default value for parameter>
hidden: <true | false>
constraints:
<parameter constraints>
Element | Required | Description |
---|---|---|
<param name> | Yes | 入力パラメータの名前を定義します。 |
type | Yes | 入力パラメータのデータ型を定義します。
|
label | No | human-readable なラベルを定義します。 |
description | No | human-readable な説明を定義します。 |
default | No | パラメータの入力を省略したときのデフォルト値を定義します。 |
hidden | No | テンプレートから作成したスタックのパラメータを出力させたくないときに true を指定します。例えばパスワードなどに使用します。省略したときの値は false です。
|
constraints | No | パラメータの制約を定義します。以下の節で説明する書式で指定します。 |
定義されたパラメータは、「resources section」や「outputs section」で利用することができます。
(パラメータの利用方法については、後述の「get_param」関数を参照してください)
以下は、仮想サーバタイプ(フレーバー)を指定するパラメータ(flavor)の例です。
parameters:
...
flavor:
type: string
description: Flavor for the server to be created
default: T-1
...
resources:
server:
type: OS::Nova::Server
properties:
flavor: { get_param: flavor }
…
上記は、仮想サーバタイプ(フレーバー)の初期値としてT-1を指定した例です。スタック作成時にflavorパラメータを指定しなかった場合には、仮想サーバがT-1のフレーバーで作成されます。