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

:ValidateTemplate

最終更新日:Jun 03, 2026

テンプレート URL または本文を指定して、スタック作成用のテンプレートを検証します。

操作説明

この API オペレーションはテンプレートのみを検証し、ユーザーデータには関与しません。RAM 認証は不要です。

このトピックでは、スタックテンプレートを検証する方法の例を示します。この例では、テンプレートファイルの TemplateURLoss://ros/template/demo です。

今すぐお試しください

この API を OpenAPI Explorer でお試しください。手作業による署名は必要ありません。呼び出しに成功すると、入力したパラメーターに基づき、資格情報が組み込まれた SDK コードが自動的に生成されます。このコードをダウンロードしてローカルで使用できます。

テスト

RAM 認証

この操作の認証情報はありません。問題が発生した場合は、アカウントマネージャーにご連絡ください。

リクエストパラメーター

パラメーター

必須 / 任意

説明

TemplateURL

string

任意

テンプレート本文を含むファイルの場所です。URL は、HTTP Web サーバーまたは Alibaba Cloud OSS バケット (oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou など) にあるテンプレートを指す必要があります。テンプレートのサイズは 1~524,288 バイトです。

説明

OSS バケットのリージョンを指定しない場合は、RegionId パラメーターの値が使用されます。

TemplateBody と TemplateURL は、どちらか一方のみ指定できます。
URL の長さは最大 1,024 バイトです。

oss://ros/template/demo

RegionId

string

任意

スタックテンプレートのリージョン ID です。DescribeRegions API を呼び出して、Alibaba Cloud リージョンの最新リストを取得できます。

cn-hangzhou

TemplateBody

string

任意

テンプレート本文の構造です。テンプレート本文の長さは 1~524,288 バイトです。
テンプレート本文が長い場合は、POST リクエストを使用し、パラメーターをリクエスト本文に含めてください。これにより、URL が長すぎることによるリクエストの失敗を防ぐことができます。
TemplateBody と TemplateURL は、どちらか一方のみ指定できます。




{"ROSTemplateFormatVersion":"2015-09-01"}

ClientToken

string

任意

リクエストのべき等性を保証するために使用するクライアントトークンです。クライアントが値を生成します。値は一意である必要があります。

トークンの長さは最大 64 文字で、英字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。

詳細については、「べき等性の保証方法」をご参照ください。

123e4567-e89b-12d3-a456-42665544****

ValidationOption

string

任意

テンプレートの追加検証を有効にするかどうかを指定します。有効な値:

  • None (デフォルト):追加検証は実行されません。

  • EnableTerraformValidation:Terraform テンプレートの場合、Terraform コマンドラインインターフェイス (CLI) のterraform validateコマンドを使用して追加検証を有効にします。

  • EnableFastTerraformValidation:Terraform テンプレートの場合、Terraform CLI のterraform validateコマンドに類似したコマンドを使用して追加検証を有効にします。

説明

EnableTerraformValidation と比較して、EnableFastTerraformValidation はより高速ですが、網羅性に劣ります。

None

UpdateInfoOptions

array

任意

更新情報オプションのリストです。リストには最大 2 つのオプションを含めることができます。

string

任意

更新情報のオプションです。このオプションは、スタックの更新に関する情報の生成を制御するために使用します。有効な値:

  • Disabled:スタックの更新に関する情報を生成しません。

  • ConsiderCondition:スタックの更新に関する情報を生成する際に、条件の影響を考慮します。このオプションを使用してください。それ以外の場合、条件が評価され、条件に含まれるパラメーターはデフォルト値または null に設定されます。

  • EnableReplacement:スタックの更新に関する情報を生成する際に、置換更新の影響を考慮します。

列挙値:

  • ConsiderCondition :

    ConsiderCondition

  • EnableReplacement :

    EnableReplacement

  • Disabled :

    Disabled

ConsiderCondition

共通パラメータの詳細については、「共通パラメータ」をご参照ください。

レスポンスフィールド

フィールド

説明

object

Description

string

スタックテンプレートの説明です。

No description

Parameters

array<object>

入力パラメーターのリストです。

object

入力パラメーターです。
入力パラメーターは、テンプレートからスタックを作成する際に指定する必要があるパラメーターを定義するものです。これらのパラメーターを使用して、ユーザー名、パスワード、環境に関連する ECS インスタンスのタイプなど、スタック作成の詳細を指定します。

[{"Description": "", "Label": "param_integer", "NoEcho": "false", "ParameterKey": "param_integer", "Type": "Number"},{ "Description": "", "Label": "param_float", "NoEcho": "false", "ParameterKey": "param_float", "Type": "Number"}]

RequestId

string

リクエスト ID です。

B288A0BE-D927-4888-B0F7-B35EF84B6E6F

Outputs

array<object>

テンプレート出力のリストです。

object

OutputKey

string

テンプレート出力の名前です。

instance_id

Description

string

テンプレート出力の説明です。

The instance ID of my ECS.

Label

string

テンプレート出力の別名です。

Instance ID

ResourceTypes

object

テンプレートで使用されるリソースタイプに関する情報です。

Resources

array

通常のリソースタイプのリストです。重複は削除されます。

string

通常のリソースタイプです。

ALIYUN::ECS::InstanceGroup

DataSources

array

データソースのリソースタイプのリストです。重複は削除されます。

string

データソースのリソースタイプです。

DATASOURCE::VPC::Vpcs

Resources

array<object>

テンプレートで定義された通常のリソースのリストです。

説明
  • ROS テンプレートの場合、定義に Count フィールドが含まれるリソースは展開されません。

  • Terraform テンプレートの場合、定義に count または for_each が含まれるリソースは展開されません。

object

ResourceType

string

通常のリソースタイプです。

ALIYUN::ECS::InstanceGroup

ResourcePath

string

通常のリソースのパスです。通常はリソース名と同じです。

server

LogicalResourceIdPattern

string

通常のリソースの論理 ID の文字列パターンです。

ROS テンプレートの場合、次の 2 つのケースがあります:

  • リソース定義に Count フィールドが含まれない場合:テンプレートで定義されているリソース名が server の場合、このパラメーターの値は server で、ResourcePath の値は server です。

  • リソース定義に Count フィールドが含まれる場合:テンプレートで定義されているリソース名が server の場合、このパラメーターの値は server[*] で、ResourcePath の値は server です。

Terraform テンプレート内のリソースと モジュール の場合、次の 2 つのケースがあります:

  • 定義に count または for_each が含まれない場合:名前が server の場合、このパラメーターの値は server で、ResourcePath の値は server です。

  • 定義に count または for_each が含まれる場合:名前が server の場合、このパラメーターの値は server[*] で、ResourcePath の値は server です。

次の例は Terraform テンプレートの値を示しています:

  • ルートモジュール内のリソース:

    • servercountfor_each は使用されません。ResourcePath の値は server です。

    • server[*]count または for_each が使用されます。ResourcePath の値は server です。

  • 子モジュール内のリソース:

    • app.serverapp モジュールは count または for_each を使用せず、server リソースも count または for_each を使用しません。ResourcePath の値は app.server です。

    • app.server[*]app モジュールは count または for_each を使用しませんが、server リソースは count または for_each を使用します。ResourcePath の値は app.server です。

    • app[*].serverapp モジュールは count または for_each を使用しますが、server リソースは count または for_each を使用しません。ResourcePath の値は app.server です。

    • app[*].server[*]app モジュールは count または for_each を使用し、server リソースも count または for_each を使用します。ResourcePath の値は app.server です。

    • app.app_group[*].serverapp モジュールは count または for_each を使用せず、app_group モジュールは count または for_each を使用します (app_group モジュールは app モジュールの子モジュールです)。また、server リソースは count または for_each を使用しません。ResourcePath の値は app.app_group.server です。

server

UpdateInfo

object

スタックの更新に関する情報です。UpdateInfoOptions に Disabled を指定した場合、このパラメーターは返されません。

ParametersAllowedToBeModified

array

変更可能なパラメーターのリストです。

string

変更可能なパラメーターです。スタックを更新する際にテンプレートが変更されていない場合、このパラメーターの値を変更しても検証エラーは発生しません。

param1

ParametersCauseInterruptionIfModified

array

変更するとリソースの中断が発生するパラメーターのリストです。

説明
  • このパラメーターは、一部のリソースタイプのみでサポートされています。

  • このパラメーターは、ROS スタックにのみ適用されます。

string

変更するとリソースの中断が発生するパラメーターです。スタックを更新する際にテンプレートが変更されていない場合、このパラメーターの値を変更するとリソースの中断が発生します。

param1

ParametersConditionallyAllowedToBeModified

array

変更が許可される可能性があるパラメーターのリストです。

string

変更が許可される可能性があるパラメーターです。スタックを更新する際にテンプレートが変更されていない場合、このパラメーターの値を変更したときに検証エラーが発生するかどうかは、新しい値によって異なります。

param2

ParametersConditionallyCauseInterruptionIfModified

array

変更するとリソースの中断が発生する可能性があるパラメーターのリストです。

説明
  • このパラメーターは、一部のリソースタイプのみでサポートされています。

  • このパラメーターは、ROS スタックにのみ適用されます。

string

変更するとリソースの中断が発生する可能性があるパラメーターです。スタックを更新する際にテンプレートが変更されていない場合、このパラメーターの値を変更するとリソースの中断が発生する可能性があります。これは、新しい値とリソースの更新動作によって異なります。

param2

ParametersNotAllowedToBeModified

array

変更できないパラメーターのリストです。

string

変更できないパラメーターです。スタックを更新する際にテンプレートが変更されていない場合、このパラメーターの値を変更すると検証エラーが発生します。

param3

ParametersUncertainlyAllowedToBeModified

array

変更可否が不確かなパラメーターのリストです。

string

変更可否が不確かなパラメーターです。スタックを更新する際にテンプレートが変更されていない場合、このパラメーターの値を変更したときに検証エラーが発生するかどうかは、ランタイムでのみ判断できます。

param4

ParametersUncertainlyCauseInterruptionIfModified

array

不確かな条件下で、変更するとリソースの中断が発生するパラメーターのリストです。

説明
  • このパラメーターは、一部のリソースタイプのみでサポートされています。

  • このパラメーターは、ROS スタックにのみ適用されます。

string

不確かな条件下で、変更するとリソースの中断が発生するパラメーターです。スタックを更新する際にテンプレートが変更されていない場合、このパラメーターの値を変更したときにリソースの中断が発生するかどうかは、ランタイムでのみ判断できます。

param4

ParametersCauseReplacementIfModified

array

変更すると置換更新が発生するパラメーターのリストです。

説明
  • このパラメーターは、UpdateInfoOptions に EnableReplacement を指定した場合にのみ返されます。

  • このパラメーターは、ROS スタックにのみ適用されます。

string

変更すると置換更新が発生するパラメーターです。スタックを更新する際にテンプレートが変更されていない場合、このパラメーターの値を変更すると置換更新が発生します。

param5

ParametersConditionallyCauseReplacementIfModified

array

変更すると置換更新が発生する可能性があるパラメーターのリストです。

説明
  • このパラメーターは、UpdateInfoOptions に EnableReplacement を指定した場合にのみ返されます。

  • このパラメーターは、ROS スタックにのみ適用されます。

string

変更すると置換更新が発生する可能性があるパラメーターです。スタックを更新する際にテンプレートが変更されていない場合、このパラメーターの値を変更すると置換更新が発生する可能性があります。これは、新しい値によって異なります。

param6

ParametersUncertainlyCauseReplacementIfModified

array

不確かな条件下で、変更すると置換更新が発生するパラメーターのリストです。

説明
  • このパラメーターは、UpdateInfoOptions に EnableReplacement を指定した場合にのみ返されます。

  • このパラメーターは、ROS スタックにのみ適用されます。

string

不確かな条件下で、変更すると置換更新が発生するパラメーターです。スタックを更新する際にテンプレートが変更されていない場合、このパラメーターの値を変更したときに置換更新が発生するかどうかは、ランタイムでのみ判断できます。

param7

成功レスポンス

JSONJSON

{
  "Description": "No description",
  "Parameters": [
    [
      {
        "Description": "",
        "Label": "param_integer",
        "NoEcho": "false",
        "ParameterKey": "param_integer",
        "Type": "Number"
      },
      {
        "Description": "",
        "Label": "param_float",
        "NoEcho": "false",
        "ParameterKey": "param_float",
        "Type": "Number"
      }
    ]
  ],
  "RequestId": "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
  "Outputs": [
    {
      "OutputKey": "instance_id",
      "Description": "The instance ID of my ECS.",
      "Label": "Instance ID"
    }
  ],
  "ResourceTypes": {
    "Resources": [
      "ALIYUN::ECS::InstanceGroup"
    ],
    "DataSources": [
      "DATASOURCE::VPC::Vpcs"
    ]
  },
  "Resources": [
    {
      "ResourceType": "ALIYUN::ECS::InstanceGroup",
      "ResourcePath": "server",
      "LogicalResourceIdPattern": "server"
    }
  ],
  "UpdateInfo": {
    "ParametersAllowedToBeModified": [
      "param1"
    ],
    "ParametersCauseInterruptionIfModified": [
      "param1"
    ],
    "ParametersConditionallyAllowedToBeModified": [
      "param2"
    ],
    "ParametersConditionallyCauseInterruptionIfModified": [
      "param2"
    ],
    "ParametersNotAllowedToBeModified": [
      "param3"
    ],
    "ParametersUncertainlyAllowedToBeModified": [
      "param4"
    ],
    "ParametersUncertainlyCauseInterruptionIfModified": [
      "param4"
    ],
    "ParametersCauseReplacementIfModified": [
      "param5"
    ],
    "ParametersConditionallyCauseReplacementIfModified": [
      "param6"
    ],
    "ParametersUncertainlyCauseReplacementIfModified": [
      "param7"
    ]
  }
}

エラーコード

完全なリストについては、「エラーコード」をご参照ください。

変更履歴

完全なリストについては、「変更履歴」をご参照ください。