ALIYUN::ROS::Stack は、ネストされたスタックを作成するために使用されます。最大 5 レベルの深さまでスタックをネストできます。
ネストされたスタックには、他のネストされたスタックを含めることができます。これはスタックの階層を形成します。ルートスタックは、すべてのネストされたスタックが属する親スタックです。ルートスタックのテンプレートは、トップレベルテンプレートと呼ばれます。ALIYUN::ROS::Stack を使用して、スタックをトップレベルテンプレートのリソースとしてネストできます。
ネストされたスタックのテンプレートでは、スタックの出力を別のスタックへの入力として使用できます。ネストされたスタックの出力を取得するには、Fn::GetAtt 関数を使用し、Outputs.NestedStackOutputName 形式でネストされたスタックの名前と出力名を設定します。詳細については、「ネストされたスタックを使用する」をご参照ください。
構文
{
"Type": "ALIYUN::ROS::Stack",
"Properties": {
"TemplateURL": String,
"TemplateBody": String,
"TemplateId": String,
"TemplateVersion": String,
"TimeoutMins": Number,
"Parameters": Map,
"ResourceGroupId": String,
"Tags": List
}
}プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
TemplateURL | String | いいえ | はい | テンプレート本文を含むファイルの URL。 | テンプレート本文を含むファイルは、最大 524,288 バイトの長さにすることができます。 URL は最大 1,024 バイトの長さにすることができます。 URL は、HTTP または HTTPS Web サーバー上、またはオブジェクトストレージサービス(OSS)バケットにあるテンプレートを指している必要があります(例: OSS バケットのリージョン ID を指定しない場合は、スタックのリージョン ID が使用されます。
|
TemplateBody | Map | いいえ | はい | テンプレートの配信を容易にするために使用されるテンプレートコンテンツ。 | コンテンツは生データです。テンプレートコンテンツの関数は、子テンプレートに対してのみ有効です。
|
TemplateId | String | いいえ | はい | テンプレート ID。 |
|
TemplateVersion | String | いいえ | はい | テンプレートバージョンの名前。 | なし。 |
TimeoutMins | Number | いいえ | はい | 親スタックの作成または更新のタイムアウト期間。 | 単位:分。 デフォルト値:60。 |
Parameters | Map | いいえ | はい | ネストされたスタックの作成時に Resource Orchestration Service (ROS) に渡されるパラメーターを表すキーと値のペアのセット。 | このプロパティの各キーと値は、ネストされたスタックのテンプレートで定義されているパラメーター名とパラメーター値に対応しています。ネストされたスタックが入力パラメーターを必要とする場合は、このプロパティを指定する必要があります。 |
ResourceGroupId | String | いいえ | いいえ | リソースグループの ID。 | なし。 |
Tags | List | いいえ | はい | タグ。 | 最大 20 個のタグを指定できます。詳細については、「タグのプロパティ」をご参照ください。 |
タグの構文
"Tags": [
{
"Key": String,
"Value": String
}
]タグのプロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Key | String | はい | いいえ | タグキー。 | タグキーは最大 128 文字の長さにすることができます。 |
Value | String | いいえ | いいえ | タグ値。 | タグ値は最大 128 文字の長さにすることができます。 |
戻り値
Fn::GetAtt
次のコードを使用して、ネストされたスタックの出力を取得できます。
{
"Fn::GetAtt": [
"<nested_stack>",
"Outputs.<nested_stack_output_name>"
]
}Ref を使用してネストされたスタックのリソースを参照すると、ネストされたスタックの Alibaba Cloud Resource Name (ARN) が返されます。例:arn:acs:ros::cn-hangzhou:12345****:stacks/test-nested-stack-Demo-jzkyq7mn****/e71c1e04-1a57-46fc-b9a4-cf7ce0d3****。
例
次のサンプルコードは、子スタックを作成する方法の YAML と JSON の例を示しています。子スタックでは、仮想プライベートクラウド(VPC)、vSwitch、およびセキュリティグループが作成されます。子スタックのテンプレートは、oss://ros/template/vpc.txt ディレクトリに保存されます。
次のサンプルコードは、親スタックを作成する方法の YAML と JSON の例を示しています。