テンプレートに基づき、作成または更新するスタックの情報をプレビューします。このオペレーションを呼び出すことで、テンプレートのリソースが有効かどうかを検証できます。
操作説明
この例では、 China (Hangzhou) リージョンで MyStack という名前のスタックを作成してプレビューします。スタックの TemplateBody パラメーターは {"ROSTemplateFormatVersion":"2015-09-01"} に設定されています。
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
ros:PreviewStack |
get |
*Stack
Template
|
なし | なし |
リクエストパラメーター
|
パラメーター |
型 |
必須 / 任意 |
説明 |
例 |
| DisableRollback |
boolean |
任意 |
スタックの作成が失敗した場合に、リソースのロールバックを無効にするかどうかを指定します。有効な値は次のとおりです:
|
false |
| TimeoutInMinutes |
integer |
任意 |
スタックを作成するためのタイムアウト期間です。 単位:分。 デフォルト値:60。 |
60 |
| TemplateBody |
string |
任意 |
テンプレート本文を含む構造です。テンプレート本文の長さは、1~524,288 バイトである必要があります。テンプレート本文の長さが上限を超えた場合、URL が長すぎることによるリクエストの失敗を防ぐため、HTTP POST リクエストの本文にパラメーターを追加することを推奨します。 説明
TemplateBody、TemplateURL、TemplateId、TemplateScratchId のうち、いずれか 1 つのみ指定できます。 |
{"ROSTemplateFormatVersion":"2015-09-01"} |
| StackPolicyURL |
string |
任意 |
スタックポリシーを含むファイルの URL です。URL は、HTTP または HTTPS の Web サーバー、あるいは Object Storage Service (OSS) バケットにあるポリシーを指す必要があります。例: oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou。ポリシーファイルの長さは最大 16,384 バイトです。OSS バケットのリージョン ID を指定しない場合、RegionId の値が使用されます。 説明
StackPolicyBody と StackPolicyURL のうち、いずれか 1 つのみを指定できます。 URL の長さは最大 1,350 バイトです。 |
oss://ros-stack-policy/demo |
| RegionId |
string |
必須 |
スタックのリージョン ID です。DescribeRegions API を呼び出して、最新のリージョンリストを確認できます。 |
cn-hangzhou |
| StackPolicyBody |
string |
任意 |
スタックポリシー本文を含む構造です。スタックポリシー本文の長さは、1~16,384 バイトである必要があります。 説明
StackPolicyBody と StackPolicyURL のうち、いずれか 1 つのみを指定できます。 |
{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]} |
| StackName |
string |
任意 |
スタック名です。このパラメーターを使用して、作成するスタックをプレビューできます。名前の長さは最大 255 文字で、数字、英字、ハイフン (-)、アンダースコア (_) が使用できます。先頭は数字または英字である必要があります。 説明
StackName と StackId のうち、いずれか 1 つのみ指定できます。 |
MyStack |
| ClientToken |
string |
任意 |
リクエストのべき等性を保証するために使用されるクライアントトークンです。クライアントを使用してトークンを生成できますが、トークンがリクエスト間で一意であることを確認する必要があります。トークンの長さは最大 64 文字で、英字、数字、アンダースコア (_)、ハイフン (-) が使用できます。詳細については、「べき等性の確保」をご参照ください。 |
123e4567-e89b-12d3-a456-42665544**** |
| TemplateURL |
string |
任意 |
テンプレート本文を含むファイルの URL です。URL は、HTTP または HTTPS の Web サーバー、あるいは OSS バケットにあるテンプレートを指す必要があります。例: oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou。テンプレート本文の長さは最大 524,288 バイトです。OSS バケットのリージョン ID を指定しない場合、RegionId の値が使用されます。 説明
TemplateBody、TemplateURL、TemplateId、TemplateScratchId のうち、いずれか 1 つのみ指定できます。 |
oss://ros-template/demo |
| TemplateId |
string |
任意 |
テンプレート ID です。このパラメーターは、共有テンプレートとプライベートテンプレートに適用されます。 説明
TemplateBody、TemplateURL、TemplateId、TemplateScratchId のうち、いずれか 1 つのみ指定できます。 |
5ecd1e10-b0e9-4389-a565-e4c15efc**** |
| TemplateVersion |
string |
任意 |
テンプレートのバージョンです。このパラメーターは、TemplateId が指定されている場合にのみ有効です。 |
v1 |
| Parameters |
array<object> |
任意 |
スタックのパラメーター。 |
|
|
object |
任意 |
|||
| ParameterKey |
string |
必須 |
パラメーター N の名前。パラメーターの名前と値を指定しない場合、Resource Orchestration Service (ROS) はテンプレートで指定されたデフォルトの名前と値を使用します。N の最大値:200。 説明
Parameters を指定する場合、Parameters.N.ParameterKey を指定する必要があります。 |
ALIYUN::AccountId |
| ParameterValue |
string |
必須 |
パラメーター N の値。N の最大値:200。 説明
Parameters を指定する場合、Parameters.N.ParameterValue を指定する必要があります。 |
151266687691**** |
| Parallelism |
integer |
任意 |
リソースに対して実行できる同時操作の最大数です。このパラメーターは、Terraform スタックに対してのみ有効です。 デフォルトでは、このパラメーターは空です。このパラメーターには、0 以上の整数を設定できます。 説明
このパラメーターに 0 より大きい整数を設定した場合、その値が使用されます。0 に設定するか空のままにした場合は、Terraform のデフォルト値 (通常は 10) が使用されます。 |
1 |
| TemplateScratchId |
string |
任意 |
シナリオ ID。 シナリオ ID の確認方法については、「ListTemplateScratches」をご参照ください。 説明
TemplateBody、TemplateURL、TemplateId、TemplateScratchId のうち、いずれか 1 つのみ指定できます。 |
ts-aa9c62feab844a6b**** |
| TemplateScratchRegionId |
string |
任意 |
シナリオのリージョン ID です。デフォルト値は RegionId の値と同じです。 DescribeRegions API を呼び出して、最新のリージョンリストを確認できます。 |
cn-hangzhou |
| StackId |
string |
任意 |
スタック ID。このパラメーターは、更新するスタックをプレビューするために使用します。 説明
|
4a6c9851-3b0f-4f5f-b4ca-a14bf691**** |
| EnablePreConfig |
boolean |
任意 |
コンプライアンスの事前チェックで使用するパラメーターを照会するかどうかを指定します。 有効な値は次のとおりです:
|
false |
| TaintResources |
array |
任意 |
汚染されたリソース。 |
|
|
string |
任意 |
汚染されたリソース。
|
my_vpc |
|
| UsePreviousParameters |
boolean |
任意 |
最後に使用されたパラメーターの値を使用するかどうかを指定します。 有効な値は次のとおりです:
|
true |
共通リクエストパラメーターについては、「共通パラメーター」をご参照ください。
レスポンスフィールド
|
フィールド |
型 |
説明 |
例 |
|
object |
|||
| RequestId |
string |
リクエスト ID です。 |
B288A0BE-D927-4888-B0F7-B35EF84B6E6F |
| Stack |
object |
プレビュー対象のスタックに関する情報です。 |
|
| TemplateDescription |
string |
テンプレートの説明です。 |
One ECS instance. |
| Parameters |
array<object> |
スタックのパラメーターです。 |
|
|
object |
|||
| ParameterKey |
string |
パラメーターの名前です。 |
ALIYUN::AccountId |
| ParameterValue |
string |
パラメーターの値です。 |
151266687691**** |
| Description |
string |
スタックの説明です。 |
One ECS instance. |
| DisableRollback |
boolean |
スタックの作成に失敗した場合に、リソースのロールバックが無効になるかどうかを示します。 |
false |
| StackName |
string |
スタック名です。 |
MyStack |
| TimeoutInMinutes |
integer |
スタック作成のタイムアウト期間です。 単位:分。 |
60 |
| StackPolicyBody |
object |
スタックポリシー本文の構造です。 |
{ "Statement": [ { "Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*" }, { "Action": "Update:*", "Resource": "LogicalResourceId/apple1", "Effect": "Deny", "Principal": "*" } ] } |
| Resources |
array<object> |
スタック内のリソースです。 |
|
|
array<object> |
|||
| LogicalResourceId |
string |
リソースの論理リソース ID です。 |
WebServer |
| AcsResourceType |
string |
Alibaba Cloud サービスのリソースタイプです。 |
ACS::ECS::Instance |
| ResourceType |
string |
リソースタイプです。 |
ALIYUN::ECS::Instance |
| Description |
string |
リソースの説明です。 |
ECS instance. |
| Stack |
object |
ネストされたスタックに関する情報です。値のデータ構造は、レスポンス全体のデータ構造と同じです。 |
{} |
| RequiredBy |
array |
スタックが依存するリソースのリストです。 |
|
|
string |
スタックが依存する単一のリソースです。 |
["Resource1", "Resource2"] |
|
| Properties |
object |
リソースのプロパティです。 |
{ "DiskMappings": [ { "Category": "cloud_ssd", "Size": "20" } ], "SystemDisk_Category": "cloud_ssd", "InstanceChargeType": "PostPaid", "AutoRenew": "False", "WillReplace": true, "ImageId": "centos_7", "InstanceType": "ecs.g6.large", "AllocatePublicIP": true, "AutoRenewPeriod": 1, "IoOptimized": "optimized", "ZoneId": "cn-beijing-g", "VSwitchId": "", "SecurityGroupId": "", "Period": 1, "InternetChargeType": "PayByTraffic", "SystemDiskCategory": "cloud_efficiency", "InternetMaxBandwidthOut": 1, "VpcId": "", "InternetMaxBandwidthIn": 200, "PeriodUnit": "Month" } |
| Action |
string |
リソースに対して実行するアクションです。有効な値は次のとおりです。
|
Add |
| Replacement |
string |
テンプレートに対して置換更新を実行するかどうかを示します。有効な値は次のとおりです。
説明
このパラメーターは、Action が Modify の場合にのみ返されます。 |
False |
| PhysicalResourceId |
string |
リソースの物理リソース ID です。 このパラメーターは、Action が Modify または Remove の場合にのみ返されます。 |
i-a1b2c3*** |
| RegionId |
string |
スタックが存在するリージョンです。 |
cn-hangzhou |
| Log |
object |
スタックの実行ログです。 |
|
| TerraformLogs |
array<object> |
Terraform のログです。このパラメーターは、スタックが Terraform スタックである場合にのみ返されます。 説明
このパラメーターには、スタックのプレビューログが含まれます。 |
|
|
object |
|||
| Command |
string |
実行する Terraform コマンドの名前です。有効な値は次のとおりです。
Terraform コマンドの詳細については、「Basic CLI Features」をご参照ください。 |
apply |
| Stream |
string |
出力ストリームです。有効な値は次のとおりです。
|
stdout |
| Content |
string |
コマンド実行後、出力ストリームから返されるコンテンツです。 |
Apply complete! Resources: 42 added, 0 changed, 0 destroyed. |
例
成功レスポンス
JSONJSON
{
"RequestId": "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
"Stack": {
"TemplateDescription": "One ECS instance.",
"Parameters": [
{
"ParameterKey": "ALIYUN::AccountId",
"ParameterValue": "151266687691****"
}
],
"Description": "One ECS instance.",
"DisableRollback": false,
"StackName": "MyStack",
"TimeoutInMinutes": 60,
"StackPolicyBody": {
"Statement": [
{
"Action": "Update:*",
"Resource": "*",
"Effect": "Allow",
"Principal": "*"
},
{
"Action": "Update:*",
"Resource": "LogicalResourceId/apple1",
"Effect": "Deny",
"Principal": "*"
}
]
},
"Resources": [
{
"LogicalResourceId": "WebServer",
"AcsResourceType": "ACS::ECS::Instance",
"ResourceType": "ALIYUN::ECS::Instance",
"Description": "ECS instance.",
"Stack": {},
"RequiredBy": [
"[\"Resource1\", \"Resource2\"]"
],
"Properties": {
"DiskMappings": [
{
"Category": "cloud_ssd",
"Size": "20"
}
],
"SystemDisk_Category": "cloud_ssd",
"InstanceChargeType": "PostPaid",
"AutoRenew": "False",
"WillReplace": true,
"ImageId": "centos_7",
"InstanceType": "ecs.g6.large",
"AllocatePublicIP": true,
"AutoRenewPeriod": 1,
"IoOptimized": "optimized",
"ZoneId": "cn-beijing-g",
"VSwitchId": "",
"SecurityGroupId": "",
"Period": 1,
"InternetChargeType": "PayByTraffic",
"SystemDiskCategory": "cloud_efficiency",
"InternetMaxBandwidthOut": 1,
"VpcId": "",
"InternetMaxBandwidthIn": 200,
"PeriodUnit": "Month"
},
"Action": "Add",
"Replacement": "False",
"PhysicalResourceId": "i-a1b2c3***"
}
],
"RegionId": "cn-hangzhou",
"Log": {
"TerraformLogs": [
{
"Command": "apply",
"Stream": "stdout",
"Content": "Apply complete! Resources: 42 added, 0 changed, 0 destroyed."
}
]
}
}
}
エラーコード
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。