すべてのプロダクト
Search
ドキュメントセンター

パラメータ

最終更新日: Mar 18, 2020

テンプレートのパラメータを使用すると、テンプレートの柔軟性と再利用性が向上します。テンプレートユーザーは、リソーススタックを作成するときにテンプレートのパラメータを上書きし、ビジネス要件を満たすリソースを作成できます。たとえば、Web アプリケーションには、1 つの Server Load Balancer インスタンス、2 つの ECS インスタンス、1 つの ApsaraDB for RDS インスタンスを含むリソーススタックが必要です。Web アプリケーションの負荷が高い場合は、スタック作成時に ECS インスタンスの種類を高くすることができます。それ以外の場合は、より低い ECS インスタンスタイプを選択できます。この場合、テンプレートのインスタンスタイプを次のように定義できます。

  1. "Parameters" : {
  2. "InstanceType" : {
  3. "Type" : "String",
  4. "AllowedValues":["ecs.t1.small","ecs.s1.medium", "ecs.m1.medium", "ecs.c1.large"],
  5. "Default": "ecs.t1.small",
  6. "Label": "ECS instance type".
  7. "Description": "The ECS instance type options. The default value is ecs.t1.small. Optional values are ecs.t1.small, ecs.s1.medium, ecs.m1.medium, and ecs.c1.large."
  8. }
  9. }

定義された InstanceType パラメータの場合、テンプレートを使用してリソーススタックを作成するときに値を再割り当てすることができます。パラメータ値を設定しない場合は、デフォルト値 ecs.t1.smallが使用されます。

このパラメータは、リソースが定義されているときに次のように参照できます。

  1. "Webserver" : {
  2. "Type" : "ALIYUN::ECS::Instance",
  3. "InstanceType": {
  4. "Ref": "InstanceType"
  5. }
  6. }

構文

各パラメータは、パラメータ名と属性で構成されます。

パラメータ名は、文字と数字で構成され、同じテンプレート内で一意である必要です。ラベルフィールドは、パラメータ名を定義するために使用できます。

パラメータ属性リスト:

属性 必須かどうか 説明
Type はい

パラメータのデータ型。

String

文字列。例: "ecs.s1.medium"

Number

整数または浮動小数点数。例: 3.14

CommaDelimitedList

コンマで区切られた文字列または数字のグループ。その値はFn::選択機能。例: "80, foo, bar"

Json

JSON 形式の文字列。例: { "foo": "bar" }

Boolean

ブール値。例: trueまたはfalse

Default いいえ リソーススタックを作成するときに、値を指定しないと、ROS システムはテンプレートにデフォルト値が定義されているかどうかをチェックします。はいの場合、デフォルト値が使用されます。それ以外の場合、システムはエラーを報告します。
AllowedValues いいえ パラメータの許容値を含むリスト。
AllowedPattern いいえ 入力されたパラメータが文字列型と一致するかどうかを確認するために使用される正規表現です。入力した文字列が文字列型でない場合は、エラーが報告されます。
MaxLength いいえ 文字列に許可される最大文字数を決定するために使用される整数です。
MinLength いいえ String に許容される最小文字数を決定するために使用される整数です。
MaxValue いいえ Number に使用できる最大数値を決定するために使用される数値です。
MinValue いいえ Number に使用できる最小の数値を決定するために使用される数値です。
NoEcho いいえ スタックが照会されたときにパラメータ値を出力するかどうかを定義します。値がtrueに設定されている場合は、アスタリスク(**)のみが出力されます。
Description いいえ パラメータを記述するための文字列です。
ConstraintDescription いいえ 文字列。制約に違反したときにパラメータの制約を記述するために使用されます。
Label いいえ UTF-8 でエンコードされた文字をサポートするパラメータエイリアス。テンプレートを使用して Web フォームが生成されると、ラベルにマップできます。
AssociationProperty いいえ
パラメータ AssociationProperty を使用すると、パラメータの有効性を自動的に検証し、パラメータのオプションを指定できます。
フォーマット: “ROS resource type:property” (スペースなし)。
たとえば:"ALIYUN::ECS::Instance:ImageId"を指定すると、このパラメータは ALIYUN::ECS::インスタンスのイメージ Id 属性によって参照されます。次に、ROS コンソールは、このパラメータに指定されたイメージ ID が使用可能かどうかをチェックし、ドロップダウンボックスに他のオプションをリストします。
現在、ROS はイメージ ID パラメータの検証のみをサポートしています。

次の例では、2 つのパラメータを定義します。

パラメータusernameは String 型で、デフォルト値は"anonymous"です。指定できる最小長は 6 文字、指定できる最大長は 12 文字です。許可される値は anonymous、user-one、および user-two です。

注意: usernameのデフォルト値は長さ制限と許容値制限に従う必要です。

passwordパラメータは String 型で、デフォルト値はありません。NoEcho 属性をtrueに設定すると、スタッククエリインタフェースがパラメータ値を返すのを防ぎます。指定可能な最小長は 1 文字で、指定できる最大長は 41 文字です。このモードでは、小文字と大文字、および数字をサポートします。

  1. "Parameters" : {
  2. "username" : {
  3. "Label": "User name".
  4. "Description": "Enter the user name".
  5. "Default": "anonymous",
  6. "Type" : "String",
  7. "MinLength" : "6",
  8. "MaxLength" : "12",
  9. "AllowedValues": ["anonymous", "user-one", "user-two"]
  10. },
  11. "password" : {
  12. "Label": "Password".
  13. "NoEcho" : "True",
  14. "Description": "Enter the user password".
  15. "Type" : "String",
  16. "MinLength" : "1",
  17. "MaxLength" : "41",
  18. "AllowedPattern" : "[a-zA-Z0-9]*"
  19. }
  20. }

擬似パラメータ

擬似パラメータは、ROS オーケストレーションエンジンによって提供される固定パラメータです。カスタムパラメータのように参照でき、オーケストレーション操作中にその値が決定されます。現在、次の擬似パラメータがサポートされています。

  • ALIYUN::StackName: 現在のリソーススタックの名前。
  • ALIYUN::StackId: 現在のリソーススタックの ID。
  • ALIYUN::Region: 現在のリソーススタックがあるリージョン。
  • ALIYUN::AccountId: 現在のリソース・スタックのユーザー ID。
  • ALIYUN::NoValue: リソースの作成時または更新時に削除される属性。