Tous les produits
Search
Centre de documentation

:ValidateTemplate

Dernière mise à jour :Aug 10, 2026

Valide un modèle destiné à la création d'une pile.

Cette rubrique présente un exemple de validation d'un modèle avant la création d'une pile. Le paramètre TemplateURL est défini sur oss://ros/template/demo.

Débogage

OpenAPI Explorer calcule automatiquement la valeur de signature. Nous vous recommandons d'utiliser OpenAPI Explorer pour appeler cette opération. L'outil génère dynamiquement des exemples de code pour différents SDK.

Paramètres de requête

ParameterTypeRequiredExampleDescription
ActionStringYesValidateTemplate

Opération à effectuer. Définissez la valeur sur ValidateTemplate.

TemplateURLStringNooss://ros/template/demo

URL du fichier contenant le corps du modèle. L'URL doit pointer vers un modèle hébergé sur un serveur web HTTP ou HTTPS, ou dans un compartiment Object Storage Service (OSS), par exemple oss://ros/template/demo ou oss://ros/template/demo?RegionId=cn-hangzhou. La taille du corps du modèle ne doit pas dépasser 524 288 octets.

Remarque Si vous ne spécifiez pas l'ID de région du compartiment OSS, la valeur du paramètre RegionId est utilisée.

Vous ne pouvez spécifier qu'un seul des paramètres TemplateBody et TemplateURL.

La longueur de l'URL ne doit pas dépasser 1 024 octets.

RegionIdStringNocn-hangzhou

ID de la région où se trouve le modèle. Appelez l'opération DescribeRegions pour obtenir la liste des régions disponibles.

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

Structure contenant le corps du modèle. Sa taille doit être comprise entre 1 et 524 288 octets.

Si la taille du corps du modèle dépasse la limite supérieure, ajoutez les paramètres au corps de la requête HTTP POST pour éviter les échecs dus à des URL trop longues.

Vous ne pouvez spécifier qu'un seul des paramètres TemplateBody et TemplateURL.

ClientTokenStringNo123e4567-e89b-12d3-a456-42665544****

Jeton client garantissant l'idempotence de la requête. Générez cette valeur via le client en veillant à son unicité pour chaque requête.

Le jeton peut contenir jusqu'à 64 caractères : lettres, chiffres, traits d'union (-) et underscores (_).

Pour plus d'informations, consultez la section Garantir l'idempotence.

ValidationOptionStringNoNone

Indique s'il faut activer une validation supplémentaire du modèle. Valeur par défaut : None. Valeurs possibles :

  • None : aucune validation supplémentaire.
  • EnableTerraformValidation : exécute la commande terraform validate de l'interface CLI Terraform pour valider davantage un modèle Terraform.
  • EnableFastTerraformValidation : exécute une commande similaire à terraform validate de l'interface CLI Terraform pour valider davantage un modèle Terraform.
    Remarque La méthode EnableFastTerraformValidation valide le modèle plus rapidement que EnableTerraformValidation, mais avec un niveau d'intégrité inférieur.

Pour plus d'informations sur les paramètres de requête communs, consultez la section Paramètres communs.

Paramètres de réponse

ParameterTypeExampleDescription
DescriptionStringNo description

Description du modèle.

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

Paramètres figurant dans la section Parameters du modèle.

La section Parameters contient les paramètres à spécifier lors de la création d'une pile avec ce modèle. Utilisez-les pour définir les détails de la pile, tels que le nom d'utilisateur, le mot de passe et le type d'instance Elastic Compute Service (ECS) dans la région spécifiée.

RequestIdStringB288A0BE-D927-4888-B0F7-B35EF84B6E6F

ID de la requête.

OutputsArray of Output

Éléments de sortie du modèle.

OutputKeyStringinstance_id

Nom de l'élément de sortie.

DescriptionStringThe instance ID of my ECS.

Description de l'élément de sortie.

LabelStringInstance ID

Alias de l'élément de sortie.

ResourceTypesObject

Types de ressources utilisés dans le modèle.

ResourcesArray of StringALIYUN::ECS::InstanceGroup

Types de ressources standard.

DataSourcesArray of StringDATASOURCE::VPC::Vpcs

Types de ressources DataSource.

ResourcesArray of Resource

Ressources standard définies dans le modèle.

Remarque
  • Pour un modèle Resource Orchestration Service (ROS), les ressources dont la définition contient le paramètre Count ne sont pas affichées sous forme de liste.
  • Pour un modèle Terraform, les ressources dont la définition contient le paramètre count ou for_each ne sont pas affichées sous forme de liste.
ResourceTypeStringALIYUN::ECS::InstanceGroup

Type de ressource standard.

ResourcePathStringserver

Chemin d'accès de la ressource standard. Dans la plupart des cas, il est identique au nom de la ressource.

LogicalResourceIdPatternStringserver

Modèle de formation des ID logiques des ressources standard.

Règles applicables aux ressources définies dans un modèle ROS :

  • Ressource sans paramètre Count : si le nom de la ressource est server, les paramètres LogicalResourceIdPattern et ResourcePath ont pour valeur server.
  • Ressource avec paramètre Count : si le nom de la ressource est server, le paramètre LogicalResourceIdPattern a pour valeur server[*] et le paramètre ResourcePath a pour valeur server.

Règles applicables aux ressources et aux modules définis dans un modèle Terraform :

  • Ressource et module sans paramètre count ni for_each : si le nom de la ressource est server, les paramètres LogicalResourceIdPattern et ResourcePath ont pour valeur server.
  • Ressource et module avec paramètre count ou for_each : si le nom de la ressource est server, le paramètre LogicalResourceIdPattern a pour valeur server[*] et le paramètre ResourcePath a pour valeur server.

Exemples de valeurs du paramètre LogicalResourceIdPattern pour les ressources d'un modèle Terraform :

  • Valeurs valides si la ressource appartient au module racine :
    • server : la ressource ne contient pas de paramètre count ni for_each. Le paramètre ResourcePath a pour valeur server.
    • server[*] : la ressource contient un paramètre count ou for_each. Le paramètre ResourcePath a pour valeur server.
  • Valeurs valides si la ressource appartient à un module enfant :
    • app.server : ni le module app ni la ressource server ne contiennent de paramètre count ou for_each. Le paramètre ResourcePath a pour valeur app.server.
    • app.server[*] : la ressource server contient un paramètre count ou for_each, mais pas le module app. Le paramètre ResourcePath a pour valeur app.server.
    • app[*].server : le module app contient un paramètre count ou for_each, mais pas la ressource server. Le paramètre ResourcePath a pour valeur app.server.
    • app[*].server[*] : le module app et la ressource server contiennent tous deux un paramètre count ou for_each. Le paramètre ResourcePath a pour valeur app.server.
    • app.app_group[*].server : le module app_group contient un paramètre count ou for_each, mais ni le module app ni la ressource server. Le paramètre ResourcePath a pour valeur app.app_group.server. Le module app_group est un enfant du module app.
UpdateInfoObject

Informations de mise à jour de la pile.

ParametersAllowedToBeModifiedArray of Stringparam1

Paramètres modifiables. La modification de leurs valeurs dans le modèle de pile n'entraîne aucune erreur de validation lors de la mise à jour.

ParametersCauseInterruptionIfModifiedArray of Stringparam1

Paramètres dont la modification entraîne une interruption de service. La modification de leurs valeurs dans le modèle de pile provoque une interruption de service lors de la mise à jour.

Remarque
  • Prise en charge limitée à certains types de ressources.
  • Valable uniquement pour les modifications apportées aux piles ROS.
ParametersConditionallyAllowedToBeModifiedArray of Stringparam2

Paramètres modifiables sous certaines conditions. Lors de la mise à jour de la pile, les nouvelles valeurs déterminent si des erreurs de validation surviennent.

ParametersConditionallyCauseInterruptionIfModifiedArray of Stringparam2

Paramètres dont la modification peut entraîner une interruption de service selon les conditions. Lors de la mise à jour de la pile, les nouvelles valeurs et le type de mise à jour déterminent si une interruption survient.

Remarque
  • Prise en charge limitée à certains types de ressources.
  • Valable uniquement pour les modifications apportées aux piles ROS.
ParametersNotAllowedToBeModifiedArray of Stringparam3

Paramètres non modifiables. La modification de leurs valeurs dans le modèle de pile entraîne des erreurs de validation lors de la mise à jour.

ParametersUncertainlyAllowedToBeModifiedArray of Stringparam4

Paramètres potentiellement modifiables. Lors de la mise à jour de la pile, l'environnement d'exécution réel détermine si des erreurs de validation surviennent.

ParametersUncertainlyCauseInterruptionIfModifiedArray of Stringparam4

Paramètres pouvant potentiellement entraîner une interruption de service. Lors de la mise à jour de la pile, l'environnement d'exécution réel détermine si une interruption survient.

Remarque
  • Prise en charge limitée à certains types de ressources.
  • Valable uniquement pour les modifications apportées aux piles ROS.

Exemples

Exemple de requête

http(s)://ros.aliyuncs.com/?Action=ValidateTemplate
&TemplateURL=oss://ros/template/demo
&<Common request parameters>

Exemple de réponse réussie

Format XML

HTTP/1.1 200 OK
Content-Type:application/xml

<ValidateTemplateResponse>
    <Description>No description</Description>
    <Parameters>
        <Description/>
        <Label>param_integer</Label>
        <NoEcho>false</NoEcho>
        <ParameterKey>param_integer</ParameterKey>
        <Type>Number</Type>
    </Parameters>
    <Parameters>
        <Description/>
        <Label>param_float</Label>
        <NoEcho>false</NoEcho>
        <ParameterKey>param_float</ParameterKey>
        <Type>Number</Type>
    </Parameters>
    <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>
    <Outputs>
        <OutputKey>instance_id</OutputKey>
        <Description>The instance ID of my ECS.</Description>
    </Outputs>
    <ResourceTypes>
        <Resources>ALIYUN::ECS::InstanceGroup</Resources>
        <DataSources>DATASOURCE::VPC::Vpcs</DataSources>
    </ResourceTypes>
</ValidateTemplateResponse>

Format JSON

HTTP/1.1 200 OK
Content-Type:application/json

{
  "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."
  },
  "ResourceTypes" : {
    "Resources" : "ALIYUN::ECS::InstanceGroup",
    "DataSources" : "DATASOURCE::VPC::Vpcs"
  }
}

Codes d'erreur

Pour obtenir la liste des codes d'erreur, consultez la section Codes d'erreur de service.

Error code Error message HTTP status code Description

InvalidTemplate

{reason}.

400

Le modèle spécifié n'est pas valide. reason indique la cause de l'erreur.

IInvalidParameter

{reason}.

400

Le paramètre spécifié dans le modèle n'est pas valide. reason indique la cause de l'erreur.