Tous les produits
Search
Centre de documentation

:UpdateStackTemplateByResources

Dernière mise à jour :Aug 05, 2026

Élimine les dérives de pile en effectuant une détection de dérive.

Description de l'opération

Limites : vous ne pouvez éliminer les dérives que sur les piles ayant 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 l'état 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'identifiant est 4a6c9851-3b0f-4f5f-b4ca-a14bf691****. La pile est déployée dans la région de Chine (Hangzhou).

Testez maintenant

Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.

Test

Autorisation RAM

Le tableau ci-dessous décrit les autorisations nécessaires pour appeler cette API. Vous pouvez les définir dans une politique Resource Access Management (RAM). Les colonnes du tableau sont détaillées ci-dessous :

  • Action : les actions peuvent être utilisées dans l'élément Action des instructions de politique de permissions RAM pour accorder les autorisations nécessaires à l'exécution de l'opération.

  • API : l'API que vous pouvez appeler pour exécuter l'action.

  • Niveau d'accès : le niveau d'accès prédéfini accordé pour chaque API. Valeurs valides : create, list, get, update et delete.

  • Type de ressource : le type de ressource qui prend en charge l'autorisation pour exécuter l'action. Il indique si l'action prend en charge les permissions au niveau de la ressource. La ressource spécifiée doit être compatible avec l'action. Sinon, la politique sera inefficace.

    • Pour les API avec permissions au niveau de la ressource, les types de ressource requis sont marqués d'un astérisque (*). Spécifiez l'Alibaba Cloud Resource Name (ARN) correspondant dans l'élément Resource de la politique.

    • Pour les API sans permissions au niveau de la ressource, la valeur All Resources est affichée. Utilisez un astérisque (*) dans l'élément Resource de la politique.

  • Clé de condition : les clés de condition définies par le service. La clé permet un contrôle granulaire, applicable aux actions seules ou aux actions associées à des ressources spécifiques. En plus des clés de condition propres au service, Alibaba Cloud fournit un ensemble de clés de condition communes applicables à tous les services pris en charge par RAM.

  • Action dépendante : les actions dépendantes requises pour exécuter l'action. Pour mener à bien l'opération, l'utilisateur RAM ou le rôle RAM doit disposer des permissions pour toutes les actions dépendantes.

ros:UpdateStackTemplateByResources

update

*stack

acs:ros:{#regionId}:{#accountId}:stack/{#stackId}

Aucune Aucune

Syntaxe de la requête

POST /V2/UpdateStackTemplateByResources HTTP/1.1

Paramètres de requête

Paramètre

Type

Requis

Description

Exemple

StackId

string

Oui

L'identifiant de la pile.

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

DryRun

boolean

Non

Indique si seul le modèle corrigé doit être prévisualisé 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é au modèle d'origine, ROS détermine s'il doit 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 aux attentes, définissez le paramètre DryRun sur false pour exécuter la correction.

false

RegionId

string

Oui

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

cn-hangzhou

ClientToken

string

Non

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 les différentes requêtes.

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

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

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

TemplateFormat

string

Non

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

  • JSON

  • YAML

JSON

LogicalResourceId

array

Non

L'identifiant logique de la ressource.

Vpc

string

Non

L'identifiant logique de la ressource N, utilisé pour filtrer les ressources. La correction du modèle ne prend effet que pour les ressources de la liste. Par défaut, toutes les ressources ayant 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.

WebServer

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

Éléments de réponse

Élément

Type

Description

Exemple

object

RequestId

string

L'identifiant de la requête.

B288A0BE-D927-4888-B0F7-B35EF84B6E6F

NewTemplateBody

string

Le contenu du modèle après correction.

{\"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

string

Le contenu du modèle avant correction.

{\"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\"]}}}}

Code d'état HTTPCode d'erreurMessage d'erreurDescription
400StackDriftDetectionNotAvailableThere is no complete drift detection for stack ({ID}).Message d'erreur renvoyé car aucune détection de dérive n'a été effectuée sur la pile. ID indique l'identifiant de la pile.
400StackAlreadyInSyncThis is not need to correct stack drifts, stack ({ID}) is already in sync.Message d'erreur renvoyé car il n'existe aucune dérive et la correction du modèle n'est pas nécessaire. ID indique l'identifiant de la pile.
400CorrectStackDriftsFailure{reason}Message d'erreur renvoyé car la pile ne peut pas être corrigée. reason indique la raison spécifique.
404StackNotFoundThe Stack ({name}) could not be found.Message d'erreur renvoyé car la pile spécifiée n'existe pas. name indique le nom ou l'identifiant de la pile.
404ResourceNotFoundThe Resource ({name}) could not be found in Stack {stack}.Message d'erreur renvoyé car la ressource spécifiée n'existe pas dans la pile spécifiée. name indique le nom de la ressource et stack indique le nom ou l'identifiant de la pile.

Exemples

JSON format

{
  "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

Consultez Codes d'erreur pour la liste complète.

Notes de version

Consultez Notes de version pour la liste complète.