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

Resource Orchestration Service:概要

最終更新日:Jan 16, 2025

テンプレートを作成するときに、[パラメーター] セクションを追加して、テンプレートの柔軟性と再利用性を向上させることができます。スタックの作成にテンプレートを使用する際に、ビジネス要件に基づいて特定のパラメーター値を置き換えることができます。

構文

各パラメーターは、パラメーター名とプロパティで構成されます。パラメーター名には英数字のみを使用でき、同じテンプレート内で一意である必要があります。[ラベル] プロパティを使用して、パラメーターのエイリアスを定義できます。

次の表は、[パラメーター] セクションでサポートされているプロパティについて説明しています。

プロパティ

必須

説明

種類

はい

パラメーターのデータ型。有効な値:

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

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

  • CommaDelimitedList: 複数の値で構成される文字列。値はコンマ (,) で区切られます。 Fn::Select 関数を使用して、インデックスに基づいて値を返すことができます。例: "80, foo, bar"

  • Json: JSON 文字列。例: {"foo": "bar"} または [1, 2, 3]

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

  • ALIYUN::OOS::Parameter::Value: CloudOps Orchestration Service (OOS) のパラメーターストアに保存されている共通パラメーター。詳細については、「共通パラメーター」をご参照ください。例: my_image

  • ALIYUN::OOS::SecretParameter::Value: OOS パラメーターストアに保存されている暗号化パラメーター。詳細については、「暗号化パラメーター」をご参照ください。例: my_password

説明

ALIYUN::OOS::Parameter::Value 型と ALIYUN::OOS::SecretParameter::Value 型のパラメーターを AllowedPattern で検証することはできません。

デフォルト

いいえ

パラメーターのデフォルト値。スタックの作成時にテンプレートパラメーターの値を指定しないと、Resource Orchestration Service (ROS) はテンプレートでパラメーターのデフォルト値が定義されているかどうかを確認します。テンプレートでデフォルト値が定義されている場合、ROS はデフォルト値を使用します。それ以外の場合、エラーが報告されます。

説明

テンプレートのパラメーターのデフォルト値を null に設定できます。この場合、このパラメーターは空になり、このパラメーターの検証は無視されます。

許可される値

いいえ

パラメーターの有効な値。

許可されるパターン

いいえ

指定された String 型パラメーターの許可されるパターンを表す正規表現。String 型パラメーターを指定しないと、エラーが報告されます。

次の特殊文字を 1 つ以上使用する場合は、各特殊文字の前にエスケープ文字としてバックスラッシュ (\\) を 2 つ追加します。

*.?+-$^[ ]( ){ }|\/
説明

値の範囲の最初または最後の特殊文字として使用されるハイフン (-) の前にエスケープ文字を追加する必要はありません。例: [a-z-]。

最大長

いいえ

String 型パラメーターに許可される最大文字数を指定する整数値。

最小長

いいえ

String 型パラメーターに許可される最小文字数を指定する整数値。

最大値

いいえ

Number 型パラメーターに許可される最大数値を指定する数値。

最小値

いいえ

Number 型パラメーターに許可される最小数値を指定する数値。

非表示

いいえ

パラメーターの [非表示] プロパティを true に設定すると、ROS はアスタリスク (*) でマスクされたパラメーター値を返します。スタックを作成したり、スタックを表示したりするときに、ROS がパラメーター値を返すかどうかを確認できます。

確認

いいえ

NoEcho プロパティが true に設定されている場合に、パラメーターの値を再入力するかどうかを指定します。既定値: false

説明

[確認] プロパティは、String 型パラメーターに [確認] プロパティが使用され、パラメーターの [非表示] プロパティが 確認trueエコーなしtrue に設定されている場合にのみ に設定できます。

説明

パラメーターを説明する文字列。有効な値:

  • zh-cn: パラメーターを中国語で説明します。

  • en: パラメーターを英語で説明します。

説明

指定された言語の説明は、コンソールの言語に基づいてのみ表示されます。

制約の説明

いいえ

制約に違反した場合にパラメーターの制約を説明する文字列。

ラベル

いいえ

パラメーターのエイリアス。エイリアスは UTF-8 でエンコードされます。テンプレートに基づいて Web フォームが生成されると、Label の値をパラメーター名にマッピングできます。

関連付けプロパティ

いいえ

パラメーターのプロパティ。このプロパティは、パラメーター値の有効性を自動的に検証し、パラメーターに有効な値のセットを提供するために使用されます。

ROS でサポートされている 関連付けプロパティ 値と例の詳細については、「AssociationProperty と AssociationPropertyMetadata」をご参照ください。

関連付けプロパティメタデータ

いいえ

関連付けプロパティ の制約を指定するメタデータマップであり、一致する項目をフィルタリングするために使用されます。

このプロパティはマップ型です。関連付けプロパティ関連付けプロパティメタデータ の対応関係と例の詳細については、「AssociationProperty と AssociationPropertyMetadata」をご参照ください。

テキストエリア

いいえ

パラメーターが改行をサポートするかどうかを指定します。有効な値:

  • true

  • false (デフォルト)

次の例では、[コンテンツ] パラメーターは改行をサポートしています。

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  Content:
    Type: String
    TextArea: true
Outputs:
  TestContent:
    Value:
      Ref: Content

必須

いいえ

パラメーターが必須かどうかを指定します。有効な値:

  • true: パラメーターは必須であり、空にすることはできません。

  • false: パラメーターはオプションです。

次の例では、[ECSInstanceId] パラメーターは必須です。

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  CreateNewECS:
    Type: Boolean
    Label: Whether to Create New Instance  // 新しいインスタンスを作成するかどうか
    Default: false
  ECSInstanceId:
    Type: String
    Required: true  // Required を使用して、パラメーターが必須かどうかを指定します (フロントエンド効果)。
    Default: Null
    AssociationPropertyMetadata:
      Visible:
        Condition:
          Fn::Equals:
            - ${CreateNewECS}
            - false
説明

[必須] プロパティは、フロントエンドでのパラメーターの表示効果にのみ影響し、パラメーターの検証には影響しません。

プレースホルダー

いいえ

パラメーターのフィールドに表示されるカスタムヒント。

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  Placeholder:
    Type: String
    Placeholder:
      en: Placeholder

例: 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