Tous les produits
Search
Centre de documentation

:UpdateStackTemplateByResources

Dernière mise à jour :Aug 10, 2026

Corrige un modèle pour éliminer la dérive de pile.

Limites : vous ne pouvez éliminer la dérive que sur les piles qui ont dérivé. Vous devez appeler l'opération DetectStackDrift pour effectuer une détection de dérive sur une pile, appeler l'opération GetStackDriftDetectionStatus pour interroger le statut de dérive de la pile afin de vous assurer qu'elle a dérivé, puis appeler l'opération UpdateStackTemplateByResources pour éliminer la dérive.

Dans cette rubrique, la dérive est éliminée pour une pile dont l'ID est 4a6c9851-3b0f-4f5f-b4ca-a14bf691****. La pile est déployée dans la région Chine (Hangzhou).

Débogage

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

Paramètres de requête

ParamètreTypeObligatoireExempleDescription
ActionStringOuiUpdateStackTemplateByResources

L'opération que vous souhaitez effectuer. Définissez la valeur sur UpdateStackTemplateByResources.

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

L'ID de la pile.

DryRunBooleanNonfalse

Indique s'il faut uniquement prévisualiser le modèle corrigé dans cette requête. Valeur par défaut : false. Valeurs valides :

  • true : renvoie le contenu du modèle corrigé et ne corrige pas le modèle. Après que Resource Orchestration Service (ROS) a comparé le modèle corrigé avec le modèle original, ROS détermine s'il faut exécuter la correction.
  • false : corrige le modèle pour éliminer la dérive.
Remarque Nous vous recommandons de définir le paramètre DryRun sur true pour prévisualiser le modèle corrigé. Si le contenu du modèle répond à vos attentes, définissez le paramètre DryRun sur false pour exécuter la correction.
RegionIdStringOuicn-hangzhou

L'ID de région de la pile. Vous pouvez appeler l'opération DescribeRegions pour interroger la liste des régions la plus récente.

ClientTokenStringNon123e4567-e89b-12d3-a456-42665544****

Le jeton client utilisé pour garantir l'idempotence de la requête. Vous pouvez utiliser le client pour générer la valeur, mais vous devez vous assurer qu'elle est unique parmi différentes requêtes.

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

Pour plus d'informations, consultez Comment garantir l'idempotence.

TemplateFormatStringNonJSON

Le format du modèle renvoyé. Valeur par défaut : JSON. Valeurs valides :

  • JSON
  • YAML
LogicalResourceId.NStringNonWebServer

L'ID logique de la ressource N, utilisé pour filtrer les ressources. La correction du modèle s'applique uniquement aux ressources de la liste. Par défaut, toutes les ressources qui ont dérivé sont corrigées.

Si la liste des ressources corrigées contient des ressources à l'état DELETED, ROS peut ajuster les ressources qui ne figurent pas dans la liste mais qui référencent les ressources supprimées de la liste afin de garantir l'exactitude du nouveau modèle.

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

Paramètres de réponse

Paramètre Type Exemple Description

| RequestId | String | B288A0BE-D927-4888-B0F7-B35EF84B6E6F |


L'ID de la requête.

|

| NewTemplateBody | String | {\"ROSTemplateFormatVersion\": \"2015-09-01\", \"Resources\": {\"Vpc\": {\"Type\": \"ALIYUN::ECS::VPC\", \"Properties\": {\"VpcName\": \"test\", \"CidrBlock\": \"192.168.0.0/16\", \"Description\": \"test2\"}}}, \"Outputs\": {\"VpcId\": {\"Value\": {\"Fn::GetAtt\": [\"Vpc\", \"VpcId\"]}}}} |


Le contenu du modèle après correction.

|

| OldTemplateBody | String | {\"ROSTemplateFormatVersion\": \"2015-09-01\", \"Resources\": {\"Vpc\": {\"Type\": \"ALIYUN::ECS::VPC\", \"Properties\": {\"VpcName\": \"test\", \"CidrBlock\": \"192.168.0.0/16\", \"Description\": \"test1\"}}}, \"Outputs\": {\"VpcId\": {\"Value\": {\"Fn::GetAtt\": [\"Vpc\", \"VpcId\"]}}}} |


Le contenu du modèle avant correction.

|

Exemples

Exemples de requêtes

http(s)://ros.aliyuncs.com/?Action=UpdateStackTemplateByResources
&RegionId=cn-hangzhou
&StackId=4a6c9851-3b0f-4f5f-b4ca-a14bf691****
&<Common request parameters>

Exemples de réponses réussies

Format XML

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

<UpdateStackTemplateByResourcesResponse>
    <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>
    <NewTemplateBody>{"ROSTemplateFormatVersion": "2015-09-01", "Resources": {"Vpc": {"Type": "ALIYUN::ECS::VPC", "Properties": {"VpcName": "test", "CidrBlock": "192.168.0.0/16", "Description": "test2"}}}, "Outputs": {"VpcId": {"Value": {"Fn::GetAtt": ["Vpc", "VpcId"]}}}}</NewTemplateBody>
    <OldTemplateBody>{"ROSTemplateFormatVersion": "2015-09-01", "Resources": {"Vpc": {"Type": "ALIYUN::ECS::VPC", "Properties": {"VpcName": "test", "CidrBlock": "192.168.0.0/16", "Description": "test1"}}}, "Outputs": {"VpcId": {"Value": {"Fn::GetAtt": ["Vpc", "VpcId"]}}}}</OldTemplateBody>
</UpdateStackTemplateByResourcesResponse>

Format JSON

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

{
  "RequestId" : "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
  "NewTemplateBody" : "{\"ROSTemplateFormatVersion\": \"2015-09-01\", \"Resources\": {\"Vpc\": {\"Type\": \"ALIYUN::ECS::VPC\", \"Properties\": {\"VpcName\": \"test\", \"CidrBlock\": \"192.168.0.0/16\", \"Description\": \"test2\"}}}, \"Outputs\": {\"VpcId\": {\"Value\": {\"Fn::GetAtt\": [\"Vpc\", \"VpcId\"]}}}}",
  "OldTemplateBody" : "{\"ROSTemplateFormatVersion\": \"2015-09-01\", \"Resources\": {\"Vpc\": {\"Type\": \"ALIYUN::ECS::VPC\", \"Properties\": {\"VpcName\": \"test\", \"CidrBlock\": \"192.168.0.0/16\", \"Description\": \"test1\"}}}, \"Outputs\": {\"VpcId\": {\"Value\": {\"Fn::GetAtt\": [\"Vpc\", \"VpcId\"]}}}}"
}

Codes d'erreur

Pour obtenir la liste des codes d'erreur, visitez le Centre d'erreurs de l'API.

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

|


400

|


StackDriftDetectionNotAvailable

|


There is no complete drift detection for stack ({ID}).

|


Le message d'erreur indique qu'aucune détection de dérive n'a été effectuée sur la pile. ID représente l'ID de la pile.

|

|


400

|


StackAlreadyInSync

|


This is not need to correct stack drifts, stack ({ID}) is already in sync.

|


Le message d'erreur indique qu'aucune dérive n'existe et que la correction du modèle n'est pas nécessaire. ID représente l'ID de la pile.

|

|


400

|


CorrectStackDriftsFailure

|


{reason}

|


Le message d'erreur indique que la pile ne peut pas être corrigée. reason indique la raison spécifique.

|

|


404

|


StackNotFound

|


The Stack ({name}) could not be found.

|


Le message d'erreur indique que la pile spécifiée n'existe pas. name représente le nom ou l'ID de la pile.

|

|


404

|


ResourceNotFound

|


The Resource ({name}) could not be found in Stack {stack}.

|


Le message d'erreur indique que la ressource spécifiée n'existe pas dans la pile spécifiée. name représente le nom de la ressource, et stack représente le nom ou l'ID de la pile.

|