Tous les produits
Search
Centre de documentation

:PreviewStack

Dernière mise à jour :Aug 10, 2026

Prévisualise les informations relatives à une pile que vous souhaitez créer à partir d'un modèle spécifié. Utilisez cette opération pour vérifier les ressources définies dans le modèle.

Cette rubrique présente un exemple de création d'une pile nommée MyStack dans la région Chine (Hangzhou), ainsi que la prévisualisation des informations associées. Dans cet exemple, le corps du modèle de la pile est {"ROSTemplateFormatVersion":"2015-09-01"}.

Débogage

OpenAPI Explorer calcule automatiquement la valeur de signature. Pour plus de commodité, nous vous recommandons d'appeler cette opération via OpenAPI Explorer. Cet outil génère dynamiquement des exemples de code pour différents SDK.

Paramètres de requête

ParamètreTypeObligatoireExempleDescription
ActionStringOuiPreviewStack

L'opération à effectuer. Définissez la valeur sur PreviewStack.

DisableRollbackBooleanNonfalse

Indique si le rollback des ressources doit être désactivé en cas d'échec de la création de la pile. Valeur par défaut : false. Valeurs possibles :

  • true
  • false
TimeoutInMinutesLongNon60

Délai imparti pour la création de la pile.

Unité : minutes.

Valeur par défaut : 60.

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

Structure du corps du modèle. La taille du corps du modèle doit être comprise entre 1 et 524 288 octets. Si cette limite est dépassée, nous vous recommandons d'ajouter les paramètres au corps de la requête HTTP POST afin d'éviter les échecs dus à des URL trop longues.

Remarque Vous devez spécifier un seul des paramètres suivants : TemplateBody, TemplateURL, TemplateId ou TemplateScratchId.
StackPolicyURLStringNonoss://ros-stack-policy/demo

URL du fichier contenant la politique de pile. L'URL doit pointer vers une politique hébergée sur un serveur web HTTP ou HTTPS, ou dans un compartiment Object Storage Service (OSS), par exemple oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou. Le fichier de politique ne doit pas dépasser 16 384 octets. Si l'ID de région du compartiment OSS n'est pas spécifié, la valeur du paramètre RegionId est utilisée.

Remarque Vous ne pouvez spécifier qu'un seul des paramètres StackPolicyBody et StackPolicyURL.

La longueur maximale de l'URL est de 1 350 octets.

RegionIdStringOuicn-hangzhou

ID de région de la pile. Appelez l'opération DescribeRegions pour obtenir la liste des régions les plus récentes.

StackPolicyBodyStringNon{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]}

Structure contenant le corps de la politique de pile. La taille du corps de la politique doit être comprise entre 1 et 16 384 octets.

Remarque Vous ne pouvez spécifier qu'un seul des paramètres StackPolicyBody et StackPolicyURL.
StackNameStringNonMyStack

Nom de la pile. Utilisez ce paramètre pour prévisualiser la pile que vous souhaitez créer.

Le nom peut contenir jusqu'à 255 caractères, y compris des chiffres, des lettres, des traits d'union (-) et des underscores (_). Il doit commencer par un chiffre ou une lettre.

Remarque Vous devez spécifier un seul des paramètres StackName et StackId.
ClientTokenStringNon123e4567-e89b-12d3-a456-42665544****

Jeton client utilisé pour garantir l'idempotence de la requête. Vous pouvez générer ce jeton côté client, mais assurez-vous qu'il reste unique pour chaque requête.

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

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

TemplateURLStringNonoss://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 OSS, par exemple oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou. La taille du corps du modèle ne doit pas dépasser 524 288 octets. Si l'ID de région du compartiment OSS n'est pas spécifié, la valeur du paramètre RegionId est utilisée.

Remarque Vous devez spécifier un seul des paramètres suivants : TemplateBody, TemplateURL, TemplateId ou TemplateScratchId.
TemplateIdStringNon5ecd1e10-b0e9-4389-a565-e4c15efc****

ID du modèle. Ce paramètre s'applique aux modèles partagés et privés.

Remarque Vous devez spécifier un seul des paramètres suivants : TemplateBody, TemplateURL, TemplateId ou TemplateScratchId.
TemplateVersionStringNonv1

Version du modèle. Ce paramètre n'est pris en compte que si le paramètre TemplateId est spécifié.

Parameters.N.ParameterKeyStringOuiALIYUN::AccountId

Nom du paramètre N. Si vous ne spécifiez ni le nom ni la valeur d'un paramètre, Resource Orchestration Service (ROS) utilise les valeurs par défaut définies dans le modèle. Valeur maximale de N : 200.

Remarque Si vous spécifiez Parameters, vous devez également spécifier Parameters.N.ParameterKey.
Parameters.N.ParameterValueStringOui151266687691****

Valeur du paramètre N. Valeur maximale de N : 200.

Remarque Si vous spécifiez Parameters, vous devez également spécifier Parameters.N.ParameterValue.
ParallelismLongNon1

Nombre maximal d'opérations simultanées pouvant être effectuées sur les ressources. Ce paramètre ne s'applique qu'aux piles Terraform.

Par défaut, ce paramètre est vide. Vous pouvez le définir sur un entier supérieur ou égal à 0.

Remarque Si vous définissez ce paramètre sur un entier supérieur à 0, cette valeur est utilisée. Si vous le définissez sur 0 ou le laissez vide, la valeur par défaut de Terraform est appliquée. Dans la plupart des cas, la valeur par défaut de Terraform est 10.
TemplateScratchIdStringNonts-aa9c62feab844a6b****

ID du scénario.

Pour savoir comment récupérer les ID des scénarios, consultez l'opération ListTemplateScratches.

Remarque Vous devez spécifier un seul des paramètres suivants : TemplateBody, TemplateURL, TemplateId ou TemplateScratchId.
TemplateScratchRegionIdStringNoncn-hangzhou

ID de région du scénario. La valeur par défaut correspond à celle du paramètre RegionId.

Appelez l'opération DescribeRegions pour obtenir la liste des régions les plus récentes.

StackIdStringNon4a6c9851-3b0f-4f5f-b4ca-a14bf691****

ID de la pile. Utilisez ce paramètre pour prévisualiser une pile que vous souhaitez mettre à jour.

Remarque
  • Vous devez spécifier un seul des paramètres StackName et StackId.
  • Lorsque vous prévisualisez une pile à créer ou à mettre à jour, les ressources des piles imbriquées ne sont pas incluses dans la prévisualisation.
EnablePreConfigBooleanNonfalse

Indique si les paramètres à utiliser lors de la vérification préalable de conformité doivent être interrogés.

Valeur par défaut : false. Valeurs possibles :

  • true
  • false

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

Paramètres de réponse

ParamètreTypeExempleDescription
RequestIdStringB288A0BE-D927-4888-B0F7-B35EF84B6E6F

ID de la requête.

StackObject

Informations relatives à la pile prévisualisée.

TemplateDescriptionStringOne ECS instance.

Description du modèle.

ParametersArray of Parameter

Paramètres de la pile.

ParameterKeyStringALIYUN::AccountId

Nom du paramètre.

ParameterValueString151266687691****

Valeur du paramètre.

DescriptionStringOne ECS instance.

Description de la pile.

DisableRollbackBooleanfalse

Indique si le rollback des ressources est désactivé en cas d'échec de la création de la pile.

StackNameStringMyStack

Nom de la pile.

TimeoutInMinutesInteger60

Délai imparti pour la création de la pile.

Unité : minutes.

StackPolicyBodyMap

Structure contenant le corps de la politique de pile.

ResourcesArray of Resource

Ressources présentes dans la pile.

LogicalResourceIdStringWebServer

ID logique de la ressource.

AcsResourceTypeStringACS::ECS::Instance

Type de ressource associé à un service Alibaba Cloud.

ResourceTypeStringALIYUN::ECS::Instance

Type de la ressource.

DescriptionStringECS instance.

Description de la ressource.

StackMap

Informations relatives à la pile imbriquée. La structure des données de la valeur est identique à celle de l'ensemble de la réponse.

RequiredByArray of String["Resource1", "Resource2"]

Ressources dont dépend la pile.

PropertiesMap

Propriétés de la ressource.

ActionStringAdd

Action effectuée sur les ressources. Valeurs possibles :

  • Add
  • Modify
  • Remove
  • None
ReplacementStringFalse

Indique si une mise à jour par remplacement est effectuée sur le modèle. Valeurs possibles :

  • True : une mise à jour par remplacement est effectuée sur le modèle.
  • False : une modification est apportée au modèle.
  • Conditional : une mise à jour par remplacement peut être effectuée sur le modèle. Vous pouvez vérifier si un remplacement a lieu lors de l'utilisation du modèle.
Remarque Ce paramètre n'est renvoyé que si le paramètre Action est défini sur Modify.
PhysicalResourceIdStringi-a1b2c3***

ID physique de la ressource.

Ce paramètre n'est renvoyé que si le paramètre Action est défini sur Modify ou Remove.

RegionIdStringcn-hangzhou

ID de région de la pile.

LogObject

Journal généré lors de l'exécution de la pile.

TerraformLogsArray of TerraformLog

Journal généré lors de l'exécution d'une pile Terraform. Ce paramètre n'est renvoyé que pour les piles Terraform.

Remarque Utilisez ce paramètre pour prévisualiser les journaux d'une pile Terraform.
CommandStringapply

Nom de la commande Terraform. Valeurs possibles :

  • apply
  • plan
  • destroy
  • version

Pour plus d'informations sur les commandes Terraform, consultez la section Basic CLI Features.

StreamStringstdout

Flux de sortie. Valeurs possibles :

  • stdout : flux de sortie standard
  • stderr : flux d'erreur standard
ContentStringApply complete! Resources: 42 added, 0 changed, 0 destroyed.

Contenu du flux de sortie renvoyé après l'exécution de la commande.

Exemples

Exemple de requête

http(s)://ros.aliyuncs.com/?Action=PreviewStack
&TemplateBody={"ROSTemplateFormatVersion":"2015-09-01"}
&StackName=MyStack
&RegionId=cn-hangzhou
&<Common request parameters>

Exemple de réponse réussie

Format XML

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

<PreviewStackResponse>
    <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>
    <Stack>
        <TemplateDescription>One ECS instance.</TemplateDescription>
        <Parameters>
            <ParameterKey>ALIYUN::AccountId</ParameterKey>
            <ParameterValue>151266687691****</ParameterValue>
        </Parameters>
        <Description>One ECS instance.</Description>
        <DisableRollback>false</DisableRollback>
        <StackName>MyStack</StackName>
        <TimeoutInMinutes>60</TimeoutInMinutes>
        <Resources>
            <LogicalResourceId>WebServer</LogicalResourceId>
            <AcsResourceType>ACS::ECS::Instance</AcsResourceType>
            <ResourceType>ALIYUN::ECS::Instance</ResourceType>
            <Description>ECS instance.</Description>
            <RequiredBy>["Resource1", "Resource2"]</RequiredBy>
            <Action>Add</Action>
            <Replacement>False</Replacement>
        </Resources>
        <RegionId>cn-hangzhou</RegionId>
        <Log>
            <TerraformLogs>
                <Command>apply</Command>
                <Stream>stdout</Stream>
                <Content>Apply complete! Resources: 42 added, 0 changed, 0 destroyed.</Content>
            </TerraformLogs>
        </Log>
    </Stack>
</PreviewStackResponse>

Format JSON

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

{
  "RequestId" : "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
  "Stack" : {
    "TemplateDescription" : "One ECS instance.",
    "Parameters" : {
      "ParameterKey" : "ALIYUN::AccountId",
      "ParameterValue" : "151266687691****"
    },
    "Description" : "One ECS instance.",
    "DisableRollback" : false,
    "StackName" : "MyStack",
    "TimeoutInMinutes" : 60,
    "Resources" : {
      "LogicalResourceId" : "WebServer",
      "AcsResourceType" : "ACS::ECS::Instance",
      "ResourceType" : "ALIYUN::ECS::Instance",
      "Description" : "ECS instance.",
      "RequiredBy" : "[\"Resource1\", \"Resource2\"]",
      "Action" : "Add",
      "Replacement" : "False"
    },
    "RegionId" : "cn-hangzhou",
    "Log" : {
      "TerraformLogs" : {
        "Command" : "apply",
        "Stream" : "stdout",
        "Content" : "Apply complete! Resources: 42 added, 0 changed, 0 destroyed."
      }
    }
  }
}

Codes d'erreur

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

Pour plus d'informations sur les erreurs communes à toutes les opérations, consultez la section Codes d'erreur communs.

Code d'état HTTP Code d'erreur Message d'erreur Description

400

CircularDependency

Circular Dependency Found: {reason}.

Le message d'erreur indique que le modèle contient une dépendance circulaire. {reason} précise la cause de l'erreur.

400

InvalidSchema

{reason}.

Le message d'erreur indique que le format du modèle n'est pas valide. {reason} précise la cause de l'erreur.

400

InvalidTemplateAttribute

The Referenced Attribute ({resource} {name}) is incorrect.

Le message d'erreur indique que la propriété de ressource référencée dans la section Outputs du modèle n'est pas valide. {resource} correspond au nom de la ressource et {name} au nom de la propriété.

400

InvalidTemplatePropertyType

The specified value type of ({resource} {section}) is incorrect.

Le message d'erreur indique que le type de la propriété de ressource définie dans une section du modèle n'est pas valide. {resource} correspond au nom de la ressource et {section} au nom de la section.

400

InvalidTemplateReference

The specified reference "{name}" (in {referencer}) is incorrect.

Le message d'erreur indique que le modèle contient une référence non valide. {name} correspond au nom de la référence et {referencer} au nom de l'élément référençant.

400

InvalidTemplateSection

The template section is invalid: {section}.

Le message d'erreur indique que le modèle contient une section non valide. {section} correspond au nom de la section.

400

InvalidTemplateVersion

The template version is invalid: {reason}.

Le message d'erreur indique que la version du modèle n'est pas valide. {reason} précise la cause de l'erreur.

400

StackValidationFailed

{reason}.

Le message d'erreur indique que la validation de la pile a échoué. {reason} précise la cause de l'erreur.

400

UnknownUserParameter

The Parameter ({name}) was not defined in template.

Le message d'erreur indique que le paramètre spécifié n'est pas défini dans le modèle. {name} correspond au nom du paramètre.

400

UserParameterMissing

The Parameter {name} was not provided.

Le message d'erreur indique qu'aucune valeur n'a été spécifiée pour le paramètre défini dans le modèle. {name} correspond au nom du paramètre.

409

StackExists

The Stack ({name}) already exists.

Le message d'erreur indique qu'une pile portant le même nom existe déjà. {name} correspond au nom de la pile.

404

TemplateNotFound

The Template ({ ID }) could not be found.

Le message d'erreur indique que le modèle n'existe pas. {ID} correspond à l'ID du modèle.

404

TemplateNotFound

The Template { ID } with version { version } could not be found.

Le message d'erreur indique que le modèle ou sa version n'existe pas. {ID} correspond à l'ID du modèle et {version} à la version du modèle.