スタックの変更セットを作成します。変更セットを実行する前に、変更内容をプレビューできます。
操作説明
シナリオ
変更セットを使用したスタックの作成
複数のクラウドリソースを管理し、スタックの作成前にそれらがどのように作成されるかをプレビューしたい場合は、変更セットを使用してスタックを作成できます。これを行うには、ChangeSetType パラメーターを CREATE に設定し、他の必須パラメーターも設定します。変更セットの詳細については、「Change sets」をご参照ください。
変更セットを使用したスタックの更新
変更を適用する前に、更新によるスタックへの影響をプレビューしたい場合は、既存のスタックに対して変更セットを作成できます。これを行うには、ChangeSetType パラメーターを UPDATE に設定し、他の必須パラメーターも設定します。変更セットの詳細については、「Change sets」をご参照ください。
既存リソースからのスタックの作成
既存のクラウドリソースを新しいスタックにインポートして一元管理したい場合は、変更セットを作成できます。これを行うには、ChangeSetType パラメーターを IMPORT に設定し、他の必須パラメーターも設定します。リソースインポートの詳細については、「概要」をご参照ください。
スタックへの既存リソースのインポート
既存のリソースを既存のスタックにインポートして一元管理したい場合は、変更セットを作成できます。これを行うには、ChangeSetType パラメーターを IMPORT に設定し、他の必須パラメーターも設定します。リソースインポートの詳細については、「概要」をご参照ください。
制限
変更セットを使用して更新できるのは、特定の状態のスタックのみです。詳細については、「変更セットを使用したスタックの更新」をご参照ください。
スタックには、同時に最大 20 件の変更セットを含めることができます。
変更セットは、スタックへの変更内容のみを表示します。スタックが正常に更新されるかどうかは示しません。
変更セットは、アカウントクォータの超過、更新不可能なリソースの更新試行、リソースを変更するためのアクセス許可の不足といった潜在的な問題を確認しません。これらの問題のいずれかにより、スタックの更新が失敗する可能性があります。更新が失敗した場合、ROS はリソースを以前の状態にロールバックしようとします。
このトピックでは、China (Hangzhou) リージョン (cn-hangzhou) で MyChangeSet という名前の変更セットを作成する例を示します。この変更セットは、ID が 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** のスタックのテンプレートを {"ROSTemplateFormatVersion":"2015-09-01"} に更新します。
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
ros:CreateChangeSet |
create |
*Stack
Template
|
なし | なし |
リクエストパラメーター
|
パラメーター |
型 |
必須 / 任意 |
説明 |
例 |
| StackId |
string |
任意 |
変更セットを作成するスタックの ID です。Resource Orchestration Service (ROS) は、スタック情報と、変更されたテンプレートや異なるパラメーター値などの送信された情報を比較して、変更セットを生成します。スタック ID を照会するには、ListStacks API を呼び出します。 説明
このパラメーターは、ChangeSetType が UPDATE または IMPORT に設定されている場合にのみ有効です。 |
4a6c9851-3b0f-4f5f-b4ca-a14bf691**** |
| StackPolicyURL |
string |
任意 |
スタックポリシーを含むファイルの URL です。URL は、Web サーバー (HTTP または HTTPS) または Alibaba Cloud OSS バケット (例: oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou) にあるポリシーを指している必要があります。ポリシーファイルの最大サイズは 16,384 バイトです。 URL の長さは最大 1,350 バイトです。 説明
OSS バケットのリージョンを指定しない場合、RegionId の値が使用されます。 ChangeSetType が CREATE に設定されている場合、StackPolicyBody パラメーターと StackPolicyURL パラメーターのいずれか一方のみを指定できます。 ChangeSetType が UPDATE に設定されている場合、次のパラメーターのいずれか一方のみを指定できます:
|
oss://ros/stack-policy/demo |
| StackPolicyBody |
string |
任意 |
スタックポリシーの構造です。ポリシー本文の長さは、1~16,384 バイトである必要があります。 ChangeSetType が CREATE に設定されている場合、StackPolicyBody パラメーターと StackPolicyURL パラメーターのいずれか一方のみを指定できます。 ChangeSetType が UPDATE に設定されている場合、次のパラメーターのいずれか一方のみを指定できます:
|
{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]} |
| StackName |
string |
任意 |
変更セットを作成するスタックの名前です。名前の長さは最大 255 文字で、数字、英字、ハイフン (-)、アンダースコア (_) を含めることができます。名前は数字または英字で始まる必要があります。 説明
このパラメーターは、ChangeSetType が CREATE または IMPORT に設定されている場合にのみ有効です。 |
MyStack |
| UsePreviousParameters |
boolean |
任意 |
前回使用したパラメーターの値を使用するかどうかを指定します。有効な値は次のとおりです:
説明
このパラメーターは、ChangeSetType が UPDATE または IMPORT に設定されている場合にのみ有効です。 |
true |
| ChangeSetType |
string |
任意 |
変更セットのタイプです。有効な値は次のとおりです:
ChangeSetType の値を CREATE に設定すると、ROS は新しいスタックを作成します。変更セットを実行するまで、スタックは 説明
|
UPDATE |
| Description |
string |
任意 |
変更セットの説明です。説明は最大 1,024 バイトです。 |
It is a demo. |
| RegionId |
string |
必須 |
変更セットのリージョン ID です。 最新のリージョンリストを照会するには、DescribeRegions API を呼び出します。 |
cn-hangzhou |
| ClientToken |
string |
任意 |
リクエストのべき等性を確保するために使用されるクライアントトークンです。トークンはクライアントで生成できますが、異なるリクエスト間でトークンが一意である必要があります。トークンは最大 64 文字で、英字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。詳細については、「べき等性の確保方法」をご参照ください。 |
123e4567-e89b-12d3-a456-42665544**** |
| TemplateURL |
string |
任意 |
テンプレート本文を含むファイルの URL です。URL は、Web サーバー (HTTP または HTTPS) または OSS バケット (例: oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou) にあるテンプレートを指している必要があります。テンプレート本文の長さは最大 524,288 バイトです。 説明
OSS バケットのリージョンを指定しない場合、RegionId の値が使用されます。 TemplateBody、TemplateURL、TemplateId の各パラメーターのうち、いずれか 1 つを指定できます。 URL の長さは最大 1,024 バイトです。 |
oss://ros/template/demo |
| StackPolicyDuringUpdateURL |
string |
任意 |
一時的に上書きするスタックポリシーを含むファイルの URL です。URL は、Web サーバー (HTTP または HTTPS) または OSS バケット (例: oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou) にあるポリシーを指している必要があります。ポリシーファイルの最大サイズは 16,384 バイトです。 説明
OSS バケットのリージョンを指定しない場合、RegionId の値が使用されます。 URL の長さは最大 1,350 バイトです。保護されたリソースを更新する場合は、更新中に一時的に上書きするスタックポリシーを指定します。スタックポリシーを指定しない場合、スタックに関連付けられている現在のポリシーが使用されます。このパラメーターは、ChangeSetType が UPDATE に設定されている場合にのみ有効です。次のパラメーターのいずれか 1 つを指定できます:
|
oss://ros/stack-policy/demo |
| TemplateBody |
string |
任意 |
テンプレート本文の構造です。テンプレート本文の長さは、1~524,288 バイトである必要があります。サイズが大きい場合は、HTTP POST + Body Param メソッドを使用してリクエスト本文でパラメーターを渡し、URL が長すぎることによるリクエストの失敗を回避することを推奨します。 説明
TemplateBody、TemplateURL、TemplateId の各パラメーターのうち、いずれか 1 つを指定できます。 |
{"ROSTemplateFormatVersion":"2015-09-01"} |
| TimeoutInMinutes |
integer |
任意 |
スタックが CREATE_FAILED または UPDATE_FAILED 状態になるまでのタイムアウト時間 (分) です。ChangeSetType が CREATE に設定されている場合、このパラメーターは必須です。ChangeSetType が UPDATE に設定されている場合、このパラメーターはオプションです。
|
12 |
| DisableRollback |
boolean |
任意 |
スタックの作成に失敗した場合にロールバックを無効にするかどうかを指定します。有効な値は次のとおりです:
説明
このパラメーターは、ChangeSetType が CREATE または IMPORT に設定されている場合にのみ有効です。 |
false |
| ChangeSetName |
string |
必須 |
変更セットの名前です。名前の長さは最大 255 文字で、数字、英字、ハイフン (-)、アンダースコア (_) を含めることができます。名前は数字または英字で始まる必要があります。 説明
変更セットの名前は、同じスタック内で一意である必要があります。 |
MyChangeSet |
| StackPolicyDuringUpdateBody |
string |
任意 |
一時的に上書きするスタックポリシーの構造です。ポリシー本文の長さは、1~16,384 バイトである必要があります。保護されたリソースを更新する場合は、更新中に一時的に上書きするスタックポリシーを指定します。スタックポリシーを指定しない場合、スタックに関連付けられている現在のポリシーが使用されます。このパラメーターは、ChangeSetType が UPDATE に設定されている場合にのみ有効です。次のパラメーターのいずれか 1 つを指定できます:
|
{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]} |
| RamRoleName |
string |
任意 |
RAM ロールの名前です。ROS は RAM ロールを引き受けてスタックを作成し、このロールの認証情報を使用して Alibaba Cloud サービスの API を呼び出します。ROS は、スタックで実行されるすべての操作に対して、常にこのロールを使用します。スタックに対する操作権限が必要です。権限がない場合、ROS は RamRoleName で指定されたロールを引き受けてスタックで操作を実行します。RamRoleName を指定しない場合、ROS はスタックの既存のロールを引き受けます。使用可能なロールがない場合、ROS はアカウントの認証情報から生成された一時的な認証情報を使用します。RAM ロール名の長さは最大 64 バイトです。 RAM ロールの詳細については、「スタックロール」をご参照ください。 |
test-role |
| ReplacementOption |
string |
任意 |
リソースプロパティが変更され、その変更が変更更新をサポートしていない場合に、置換更新を有効にするかどうかを指定します。置換更新では、リソースが削除され、新しいリソースが作成されます。リソースの物理 ID が変更されます。有効な値は次のとおりです:
説明
変更更新が優先されます。このパラメーターは、ChangeSetType が UPDATE に設定されている場合にのみ有効です。 |
Disabled |
| TemplateId |
string |
任意 |
テンプレート ID です。このパラメーターは、共有テンプレートとプライベートテンプレートに適用されます。 テンプレート ID を照会するには、ListTemplates API を呼び出します。 説明
TemplateBody、TemplateURL、TemplateId の各パラメーターのうち、いずれか 1 つを指定できます。 |
5ecd1e10-b0e9-4389-a565-e4c15efc**** |
| TemplateVersion |
string |
任意 |
テンプレートのバージョンです。 説明
このパラメーターは、TemplateId が指定されている場合にのみ有効です。 |
v1 |
| Parameters |
array<object> |
任意 |
テンプレートで定義されているパラメーターです。 |
|
|
object |
任意 |
|||
| ParameterKey |
string |
必須 |
テンプレートで定義されているパラメーターの名前です。パラメーターの名前と値を指定しない場合、ROS はテンプレートで指定されているデフォルトの名前と値を使用します。N の値は最大 200 です。 説明
Parameters パラメーターはオプションです。Parameters を指定する場合は、Parameters.N.ParameterKey も指定する必要があります。 |
Amount |
| ParameterValue |
string |
必須 |
テンプレートで定義されているパラメーターの値です。N の値は最大 200 です。 説明
Parameters パラメーターはオプションです。Parameters を指定する場合は、Parameters.N.ParameterValue も指定する必要があります。 |
12 |
| NotificationURLs |
array |
任意 |
スタックイベント通知を受信する Webhook アドレスのリストです。 |
http://my-site.com/ros-notify |
|
string |
任意 |
スタックイベント通知を受信する Webhook アドレスです。有効な値は次のとおりです:
説明
この機能は、China (Hangzhou)、China (Shanghai)、China (Beijing)、香港 (中国)、China (Zhangjiakou) の各リージョンでサポートされています。 N の値は最大 5 です。スタックのステータスが変更されると、通知が送信されます。スタックでロールバックが有効になっている場合、CREATE_FAILED および UPDATE_FAILED ステータスの通知は送信されません。代わりに、CREATE_ROLLBACK および ROLLBACK ステータスの通知が送信されます。IN_PROGRESS ステータスは報告されません。Outputs パラメーターがスタックに定義されているかどうかにかかわらず、通知が送信されます。次のコードは通知のサンプルを示しています: |
http://example.com/ros-notify |
|
| ResourcesToImport |
array<object> |
任意 |
インポートするリソースのリストです。 |
|
|
object |
任意 |
|||
| ResourceIdentifier |
string |
任意 |
インポートするリソースを識別するためのキーと値のペアを定義した JSON 文字列です。キーは、 リソースの識別子プロパティを照会するには、GetTemplateSummary API を呼び出します。 説明
このパラメーターは、ChangeSetType が IMPORT に設定されている場合にのみ有効です。ResourcesToImport パラメーターはオプションです。ResourcesToImport を指定する場合は、ResourcesToImport.N.ResourceIdentifier も指定する必要があります。 |
{"VpcId": "vpc-2zevx9ios******"} |
| LogicalResourceId |
string |
任意 |
リソースの論理 ID です。論理 ID は、テンプレートで定義されているリソース名です。 説明
このパラメーターは、ChangeSetType が IMPORT に設定されている場合にのみ有効です。ResourcesToImport パラメーターはオプションです。ResourcesToImport を指定する場合は、ResourcesToImport.N.LogicalResourceId も指定する必要があります。 |
Vpc |
| ResourceType |
string |
任意 |
リソースのタイプです。リソースタイプは、テンプレートで定義されているリソースタイプと同じである必要があります。 説明
このパラメーターは、ChangeSetType が IMPORT に設定されている場合にのみ有効です。ResourcesToImport パラメーターはオプションです。ResourcesToImport を指定する場合は、ResourcesToImport.N.ResourceType も指定する必要があります。 |
ALIYUN::ECS::VPC |
| TemplateScratchId |
string |
任意 |
リソース管理シナリオの ID です。 このパラメーターは、ChangeSetType が IMPORT に設定されている場合にのみ有効です。このパラメーターは、リソースインポート用の新しいスタックの作成のみをサポートします。 リソース管理シナリオでリソースをインポートする場合は、このパラメーターのみを指定します。テンプレートに関連するパラメーターは指定しないでください。 リソース管理シナリオ ID を照会するには、ListTemplateScratches API を呼び出します。 |
4a6c9851-3b0f-4f5f-b4ca-a14bf691**** |
| Parallelism |
integer |
任意 |
リソースで実行できる同時操作の最大数です。値は 0 以上の整数である必要があります。このパラメーターを設定すると、その値はスタックに関連付けられ、後続のスタック操作に影響します。 このパラメーターは、ChangeSetType が CREATE または UPDATE に設定されている場合にのみ有効です。有効な値は次のとおりです:
|
1 |
| Tags |
array<object> |
任意 |
変更セットのタグです。 |
|
|
object |
任意 |
変更セットのタグです。 |
||
| Key |
string |
任意 |
スタックのタグキーです。 N の値の範囲は 1~20 です。 説明
|
usage |
| Value |
string |
任意 |
スタックのタグ値です。 N の値の範囲は 1~20 です。 説明
タグは、タグをサポートする各スタックリソースに伝播されます。詳細については、「タグの伝播」をご参照ください。 |
test |
| ResourceGroupId |
string |
任意 |
リソースグループ ID です。このパラメーターを指定しない場合、スタックはデフォルトのリソースグループに追加されます。リソースグループの詳細については、「リソースグループとは」をご参照ください。 |
rg-acfmxazb4ph6aiy**** |
| TaintResources |
array |
任意 |
ダーティとしてマークするリソースのリストです。 |
|
|
string |
任意 |
|
my_vpc |
共通リクエストパラメータの詳細は、「共通パラメータ」をご参照ください。
レスポンスフィールド
|
フィールド |
型 |
説明 |
例 |
|
object |
|||
| ChangeSetId |
string |
変更セットの ID です。 |
e85abe0c-6528-43fb-ae93-fdf8de22**** |
| RequestId |
string |
リクエスト ID です。 |
B288A0BE-D927-4888-B0F7-B35EF84B6E6F |
| StackId |
string |
スタック ID です。 |
4a6c9851-3b0f-4f5f-b4ca-a14bf691**** |
例
成功レスポンス
JSONJSON
{
"ChangeSetId": "e85abe0c-6528-43fb-ae93-fdf8de22****",
"RequestId": "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
"StackId": "4a6c9851-3b0f-4f5f-b4ca-a14bf691****"
}
エラーコード
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。