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

Resource Orchestration Service:作成

最終更新日:Jun 17, 2026

カスタムリソースを含むスタックを作成すると、Resource Orchestration Service (ROS) は RequestType が Create に設定されたカスタムリソースリクエストを送信します。

リクエスト

作成リクエストには、次のフィールドが含まれます:
  • RequestType

    このフィールドは Create に設定されます。

  • ResponseURL

    事前署名付きパブリックネットワーク URL。カスタムリソースプロバイダーは、この URL を使用して ROS にレスポンスを送信します。

  • IntranetResponseURL

    ECS インスタンス内で使用する事前署名付き内部ネットワーク URL。カスタムリソースプロバイダーは、この URL を使用して ROS にレスポンスを送信します。

  • StackId

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

  • StackName

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

  • ResourceOwnerId

    スタックを所有する Alibaba Cloud アカウントの ID。

  • CallerId

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

  • RegionId

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

  • RequestId

    リクエストの一意の ID。

  • ResourceType

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

  • LogicalResourceId

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

  • ResourceProperties

    テンプレート開発者が定義するカスタムリソースのプロパティ。このオブジェクトの構造は、カスタムリソースプロバイダーによって定義されます。

例:

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

レスポンス

成功

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

  • Status

    このフィールドは SUCCESS に設定する必要があります。

  • RequestId

    リクエストの一意の ID。この値は元のリクエストからコピーする必要があります。

  • LogicalResourceId

    ROS テンプレートでテンプレート開発者が指定するカスタムリソースの名前 (論理 ID)。この値は元のリクエストからコピーする必要があります。

  • StackId

    カスタムリソースを含むスタックの ID。この値は元のリクエストからコピーする必要があります。

  • PhysicalResourceId

    カスタムリソースプロバイダーが提供する、リソースの一意な物理リソース ID。この値は最大 255 バイトの空でない文字列であり、かつ当該リソースに関するすべてのレスポンスで一貫している必要があります。

  • Data

    任意。カスタムリソースプロバイダーが定義する名前と値のペアのセット。テンプレート内で Fn::GetAtt 組み込み関数を使用して、名前でこれらの値にアクセスできます。

例:

{
   "Status" : "SUCCESS",
   "RequestId" : "unique id for this create request (copied from request)",
   "LogicalResourceId" : "name of resource in template (copied from request)",
   "StackId" : "stack id (copied from request)",
   "PhysicalResourceId" : "required vendor-defined physical id that is unique for that vendor",
   "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 create request (copied from request)",
   "LogicalResourceId" : "name of resource in template (copied from request)",
   "StackId" : "stack id (copied from request)"
}