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

Resource Orchestration Service:作成

最終更新日:Jan 16, 2025

テンプレート開発者がカスタムリソースを含むスタックを作成すると、Resource Orchestration Service (ROS) はカスタムリソースプロバイダーにリクエストを送信します。リクエスト内の RequestType フィールドは Create に設定されます。

リクエスト

作成リクエストには、次のフィールドが含まれています。

  • RequestType

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

  • ResponseURL

    署名付きパブリック URL。この URL は、カスタムリソースプロバイダーから ROS へのレスポンスを受信します。

  • IntranetResponseURL

    署名付き内部 URL。この URL は Elastic Compute Service (ECS) で使用できます。この URL は、カスタムリソースプロバイダーから ROS へのレスポンスを受信します。

  • StackId

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

  • StackName

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

  • ResourceOwnerId

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

  • CallerId

    この操作の実行に使用される Alibaba Cloud アカウントまたは Resource Access Management (RAM) ユーザーの ID。

  • RegionId

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

  • RequestId

    リクエストの一意の ID。

  • ResourceType

    テンプレート開発者がテンプレート内のカスタムリソースに対して選択したリソースタイプ。カスタムリソースタイプの名前は最大 68 文字で、文字、数字、アンダースコア (_)、アットマーク (@)、ハイフン (-) を使用できます。

  • LogicalResourceId

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

  • ResourceProperties

    このフィールドには、テンプレート開発者によって送信されたリクエストの Properties セクションのパラメーターが含まれています。コンテンツはカスタムリソースプロバイダーによって定義されます。

例:

{
   "RequestType" : "Create",
   "RequestId" : "unique id for this create request", // この作成リクエストの一意のID
   "ResponseURL" : "pre-signed-url-for-create-response", // 作成レスポンス用の署名付きURL
   "IntranetResponseURL" : "pre-signed-intranet-url-for-create-response", // 作成レスポンス用の署名付きイントラネットURL
   "ResourceType" : "Custom::MyCustomResourceType", // カスタムリソースタイプ
   "LogicalResourceId" : "name of resource in template", // テンプレート内のリソース名
   "StackId" : "stack id", // スタックID
   "StackName" : "stack name", // スタック名
   "ResourceOwnerId": "resource owner id", // リソース所有者ID
   "CallerId": "caller id", // 呼び出し元ID
   "RegionId": "region id", // リージョンID
   "ResourceProperties" : {
      "key1" : "string", // 文字列
      "key2" : [ "list" ], // リスト
      "key3" : { "key4" : "map" } // マップ
   }
}

レスポンス

成功

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

  • Status

    SUCCESS のみ返されます。

  • RequestId

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

  • LogicalResourceId

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

  • StackId

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

  • PhysicalResourceId

    この値は、カスタムリソースプロバイダーに対して一意である必要があります。値は最大 255 バイトです。値は空の文字列にすることはできず、すべてのレスポンスで同じリソースに対して同一である必要があります。

  • Data

    オプション。レスポンスで送信される名前と値のペア。Fn::GetAtt 関数を使用して、テンプレート内の名前でここで提供される値にアクセスできます。

例:

{
   "Status" : "SUCCESS", // 成功
   "RequestId" : "unique id for this create request (copied from request)", // この作成リクエストの一意のID (リクエストからコピー)
   "LogicalResourceId" : "name of resource in template (copied from request)", // テンプレート内のリソース名 (リクエストからコピー)
   "StackId" : "stack id (copied from request)", // スタックID (リクエストからコピー)
   "PhysicalResourceId" : "required vendor-defined physical id that is unique for that vendor", // ベンダー定義の物理ID (そのベンダーに固有のもの)
   "Data" : {
      "keyThatCanBeUsedInGetAtt1" : "data for key 1", // キー1のデータ (GetAttで使用可能)
      "keyThatCanBeUsedInGetAtt2" : "data for key 2" // キー2のデータ (GetAttで使用可能)
   }
}

失敗

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

  • Status

    FAILED のみ返されます。

  • Reason

    レスポンスが失敗した理由。

  • RequestId

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

  • LogicalResourceId

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

  • StackId

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

例:

{
   "Status" : "FAILED", // 失敗
   "Reason" : "Required failure reason string", // 失敗理由の文字列
   "RequestId" : "unique id for this create request (copied from request)", // この作成リクエストの一意のID (リクエストからコピー)
   "LogicalResourceId" : "name of resource in template (copied from request)", // テンプレート内のリソース名 (リクエストからコピー)
   "StackId" : "stack id (copied from request)" // スタックID (リクエストからコピー)
}