É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
|
ros:UpdateStackTemplateByResources |
update |
*stack
|
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 :
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 |
| 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 HTTP | Code d'erreur | Message d'erreur | Description |
| 400 | StackDriftDetectionNotAvailable | There 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. |
| 400 | StackAlreadyInSync | This 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. |
| 400 | CorrectStackDriftsFailure | {reason} | Message d'erreur renvoyé car la pile ne peut pas être corrigée. reason indique la raison spécifique. |
| 404 | StackNotFound | The 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. |
| 404 | ResourceNotFound | The 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.