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

Resource Orchestration Service:更新

最終更新日:Jun 17, 2026

テンプレート内のカスタムリソースのプロパティを変更すると、Resource Orchestration Service (ROS) は RequestTypeUpdate に設定したカスタムリソースリクエストを送信します。Update 呼び出し自体がプロパティの変更を示しているため、カスタムリソースコードで変更を検出する必要はありません。

リクエスト

更新リクエストには、次のフィールドが含まれます。

  • RequestType

    Update に設定されます。

  • ResponseURL

    カスタムリソースプロバイダーが ROS に応答を送信する際に使用する、事前署名付きパブリックネットワーク URL。

  • IntranetResponseURL

    カスタムリソースプロバイダーが Elastic Compute Service (ECS) 内で ROS に応答を送信する際に使用する、事前署名付き内部ネットワーク URL。

  • StackId

    カスタムリソースを含むスタックの ID。

  • StackName

    カスタムリソースを含むスタックの名前。

  • ResourceOwnerId

    カスタムリソースを含むスタックを所有する Alibaba Cloud アカウントの ID。

  • CallerId

    スタック操作を実行するアカウントの ID。Alibaba Cloud アカウントまたは RAM ユーザーのいずれかです。

  • RegionId

    カスタムリソースを含むスタックのリージョン。

  • RequestId

    リクエストの一意の ID。

  • ResourceType

    ROS テンプレート内でテンプレート開発者が指定した、カスタムリソースのリソースタイプ。リソースタイプ名は最大 68 文字で、英字、数字、アンダースコア (_)、アットマーク (@)、ハイフン (-) を含めることができます。

  • LogicalResourceId

    ROS テンプレート内でテンプレート開発者が指定した、カスタムリソースの名前 (論理 ID)。

  • PhysicalResourceId

    カスタムリソースプロバイダーが定義した物理 ID。この ID はプロバイダーに対して一意です。

  • ResourceProperties

    テンプレート開発者が指定した、Properties 内の Parameters オブジェクトの内容。構造はカスタムリソースプロバイダーが定義します。

  • OldResourceProperties

    以前のリソース構成における、Properties 内の Parameters オブジェクトの内容。

{
   "RequestType" : "Update",
   "RequestId" : "unique id for this update request",
   "ResponseURL" : "pre-signed-url-for-update-response",
   "IntranetResponseURL" : "pre-signed-intranet-url-for-update-response",
   "ResourceType" : "Custom::MyCustomResourceType",
   "LogicalResourceId" : "name of resource in template",
   "PhysicalResourceId" : "custom resource provider-defined physical id",
   "StackId" : "stack id",
   "StackName" : "stack name",
   "ResourceOwnerId": "resource owner id",
   "CallerId": "caller id",
   "RegionId": "region id",
   "ResourceProperties" : {
      "key1" : "new-string",
      "key2" : [ "new-list" ],
      "key3" : { "key4" : "new-map" }
   },
   "OldResourceProperties" : {
      "key1" : "string",
      "key2" : [ "list" ],
      "key3" : { "key4" : "map" }
   }
}    

応答

成功

更新リクエストが成功した場合、カスタムリソースプロバイダーは次のフィールドを含む応答を ROS に送信する必要があります。

  • Status

    SUCCESS である必要があります。

  • RequestId

    リクエストの一意の ID。リクエストからこの値をコピーしてください。

  • LogicalResourceId

    ROS テンプレート内でテンプレート開発者が指定した、カスタムリソースの名前 (論理 ID)。リクエストからこの値をコピーしてください。

  • StackId

    カスタムリソースを含むスタックの ID。リクエストからこの値をコピーしてください。

  • PhysicalResourceId

    この値は不変です。リクエストからこの値をコピーしてください。

  • Data

    オプション。カスタムリソースプロバイダーが定義し、応答で返される名前と値のペア。テンプレート内で Fn::GetAtt 関数を使用して、これらの値に名前でアクセスできます。

{
   "Status" : "SUCCESS",
   "RequestId" : "unique id for this update request (copied from request)",
   "LogicalResourceId" : "name of resource in template (copied from request)",
   "StackId" : "stack id (copied from request)",
   "PhysicalResourceId" : "custom resource provider-defined physical id",
   "Data" : {
      "keyThatCanBeUsedInGetAtt1" : "data for key 1",
      "keyThatCanBeUsedInGetAtt2" : "data for key 2"
   }
}

失敗

更新リクエストが失敗した場合は、次のフィールドを含む応答を ROS に送信する必要があります。

  • Status

    FAILED である必要があります。

  • Reason

    失敗の理由の説明。

  • RequestId

    リクエストの一意の ID。リクエストからこの値をコピーしてください。

  • LogicalResourceId

    ROS テンプレート内でテンプレート開発者が指定した、カスタムリソースの名前 (論理 ID)。リクエストからこの値をコピーしてください。

  • StackId

    カスタムリソースを含むスタックの ID。リクエストからこの値をコピーしてください。

{
   "Status" : "FAILED",
   "Reason" : "Required failure reason string",
   "RequestId" : "unique id for this update request (copied from request)",
   "LogicalResourceId" : "name of resource in template (copied from request)",
   "StackId" : "stack id (copied from request)"
}