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

入力パラメータのデータ型を定義します。

  • string
  • number
  • json
  • comma_delimited_list
label No human-readable なラベルを定義します。
description No human-readable な説明を定義します。
default No パラメータの入力を省略したときのデフォルト値を定義します。
hidden No

テンプレートから作成したスタックのパラメータを出力させたくないときに true を指定します。例えばパスワードなどに使用します。省略したときの値は false です。

  • 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のフレーバーで作成されます。