テンプレートを作成するときに、[パラメーター] セクションを追加して、テンプレートの柔軟性と再利用性を向上させることができます。スタックの作成にテンプレートを使用する際に、ビジネス要件に基づいて特定のパラメーター値を置き換えることができます。
構文
各パラメーターは、パラメーター名とプロパティで構成されます。パラメーター名には英数字のみを使用でき、同じテンプレート内で一意である必要があります。[ラベル] プロパティを使用して、パラメーターのエイリアスを定義できます。
次の表は、[パラメーター] セクションでサポートされているプロパティについて説明しています。
プロパティ | 必須 | 説明 |
種類 | はい | パラメーターのデータ型。有効な値:
説明
|
デフォルト | いいえ | パラメーターのデフォルト値。スタックの作成時にテンプレートパラメーターの値を指定しないと、Resource Orchestration Service (ROS) はテンプレートでパラメーターのデフォルト値が定義されているかどうかを確認します。テンプレートでデフォルト値が定義されている場合、ROS はデフォルト値を使用します。それ以外の場合、エラーが報告されます。 説明 テンプレートのパラメーターのデフォルト値を |
許可される値 | いいえ | パラメーターの有効な値。 |
許可されるパターン | いいえ | 指定された String 型パラメーターの許可されるパターンを表す正規表現。String 型パラメーターを指定しないと、エラーが報告されます。 次の特殊文字を 1 つ以上使用する場合は、各特殊文字の前にエスケープ文字としてバックスラッシュ (\\) を 2 つ追加します。 説明 値の範囲の最初または最後の特殊文字として使用されるハイフン (-) の前にエスケープ文字を追加する必要はありません。例: [a-z-]。 |
最大長 | いいえ | String 型パラメーターに許可される最大文字数を指定する整数値。 |
最小長 | いいえ | String 型パラメーターに許可される最小文字数を指定する整数値。 |
最大値 | いいえ | Number 型パラメーターに許可される最大数値を指定する数値。 |
最小値 | いいえ | Number 型パラメーターに許可される最小数値を指定する数値。 |
非表示 | いいえ | パラメーターの [非表示] プロパティを |
確認 | いいえ | NoEcho プロパティが 説明 [確認] プロパティは、String 型パラメーターに [確認] プロパティが使用され、パラメーターの [非表示] プロパティが 確認 |
説明 | パラメーターを説明する文字列。有効な値:
説明 指定された言語の説明は、コンソールの言語に基づいてのみ表示されます。 | |
制約の説明 | いいえ | 制約に違反した場合にパラメーターの制約を説明する文字列。 |
ラベル | いいえ | パラメーターのエイリアス。エイリアスは UTF-8 でエンコードされます。テンプレートに基づいて Web フォームが生成されると、 |
関連付けプロパティ | いいえ | パラメーターのプロパティ。このプロパティは、パラメーター値の有効性を自動的に検証し、パラメーターに有効な値のセットを提供するために使用されます。 ROS でサポートされている 関連付けプロパティ 値と例の詳細については、「AssociationProperty と AssociationPropertyMetadata」をご参照ください。 |
関連付けプロパティメタデータ | いいえ | 関連付けプロパティ の制約を指定するメタデータマップであり、一致する項目をフィルタリングするために使用されます。 このプロパティはマップ型です。関連付けプロパティ と 関連付けプロパティメタデータ の対応関係と例の詳細については、「AssociationProperty と AssociationPropertyMetadata」をご参照ください。 |
テキストエリア | いいえ | パラメーターが改行をサポートするかどうかを指定します。有効な値:
次の例では、[コンテンツ] パラメーターは改行をサポートしています。 |
必須 | いいえ | パラメーターが必須かどうかを指定します。有効な値:
次の例では、[ECSInstanceId] パラメーターは必須です。 説明 [必須] プロパティは、フロントエンドでのパラメーターの表示効果にのみ影響し、パラメーターの検証には影響しません。 |
プレースホルダー | いいえ | パラメーターのフィールドに表示されるカスタムヒント。 |
例: Web アプリケーションを作成するためのスタックを作成する
たとえば、Web アプリケーションを作成するためのスタックを作成するとします。スタックには、1 つのサーバーロードバランサー (SLB) インスタンス、2 つの Elastic Compute Service (ECS) インスタンス、および 1 つの ApsaraDB RDS インスタンスが含まれています。Web アプリケーションのワークロードが重い場合は、スタックの作成時に高度なインスタンスタイプの ECS インスタンスを使用できます。Web アプリケーションのワークロードが通常のワークロードの場合は、スタックの作成時に基本的なインスタンスタイプの ECS インスタンスを使用できます。次のサンプルコードは、テンプレートで InstanceType パラメーターのプロパティを定義する方法の例を示しています。
Parameters:
InstanceType:
Type: String
AllowedValues:
- ecs.t1.small
- ecs.s1.medium
- ecs.m1.medium
- ecs.c1.large
Default: ecs.t1.small
Label: ECS Instance Type // ECSインスタンスタイプ
Description: Select an instance type. Default value: ecs.t1.small. Valid values: ecs.t1.small, ecs.s1.medium, ecs.m1.medium, and ecs.c1.large. // インスタンスタイプを選択します。デフォルト値: ecs.t1.small。有効な値: ecs.t1.small、ecs.s1.medium、ecs.m1.medium、ecs.c1.large。
上記のサンプルコードを使用して [InstanceType] パラメーターのプロパティを定義すると、テンプレートに基づいてスタックを作成するたびに、[InstanceType] パラメーターの有効な値のセットから異なる値を選択できます。 InstanceType パラメーターを空のままにすると、デフォルト値 ecs.t1.small が使用されます。
次のサンプルコードは、リソースを定義するときに InstanceType パラメーターを参照する方法の例を示しています。
Webserver:
Type: ALIYUN::ECS::Instance
InstanceType:
Ref: InstanceType