Détecte les risques liés à une opération que vous souhaitez effectuer sur une pile.
L'opération ListStackOperationRisks est adaptée aux scénarios suivants :
Détectez les risques élevés susceptibles d'affecter les ressources lors de la suppression d'une pile contenant ces ressources, et consultez la raison associée à chaque risque pour une ressource donnée.
Détectez les risques d'échec de création pouvant survenir lors de la création d'une pile. Dans ce cas, Resource Orchestration Service (ROS) vous permet uniquement de vérifier les autorisations requises non accordées au compte Alibaba Cloud de l'appelant.
Débogage
Paramètres de requête
| Paramètre | Type | Obligatoire | Exemple | Description |
| Action | String | Oui | ListStackOperationRisks | L'opération à effectuer. Définissez la valeur sur ListStackOperationRisks. |
| RegionId | String | Oui | cn-hangzhou | L'ID de région de la pile. Appelez l'opération DescribeRegions pour obtenir la liste des régions la plus récente. |
| StackId | String | Non | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** | L'ID de la pile. |
| OperationType | String | Oui | DeleteStack | Le type d'opération dont vous souhaitez détecter les risques. Valeurs valides :
|
| ClientToken | String | Non | 123e4567-e89b-12d3-a456-42665544**** | Jeton client utilisé pour garantir l'idempotence de la requête. Générez la valeur via le client, mais assurez-vous qu'elle est 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 rubrique Garantir l'idempotence. |
| RamRoleName | String | Non | test-role | Nom du rôle RAM.
Le nom du rôle RAM peut contenir jusqu'à 64 octets. |
| RetainAllResources | Boolean | Non | false | Indique s'il faut conserver toutes les ressources de la pile. Valeur par défaut : false. Valeurs valides :
Remarque Ce paramètre prend effet lorsque le paramètre OperationType est défini sur DeleteStack. |
| RetainResources.N | String | Non | instance | Ressource N à conserver dans la pile. |
| TemplateBody | String | Non | {"ROSTemplateFormatVersion":"2015-09-01"} | Structure contenant le corps du modèle. Le corps du modèle doit avoir une longueur comprise entre 1 et 524 288 octets. Si la longueur du corps du modèle dépasse la limite supérieure, nous vous recommandons d'ajouter des paramètres au corps de la requête HTTP POST afin d'éviter les échecs de requête causés par des URL excessivement longues. Remarque Vous devez spécifier un seul des paramètres suivants : TemplateBody, TemplateURL, TemplateId et TemplateScratchId. |
| TemplateURL | String | Non | oss://ros-template/demo | URL du fichier contenant le corps du modèle. L'URL doit pointer vers un modèle situé sur un serveur web HTTP ou HTTPS ou dans un bucket Object Storage Service (OSS), tel que oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou. Le corps du modèle peut atteindre 524 288 octets. Si vous ne spécifiez pas l'ID de région du bucket OSS, la valeur du paramètre RegionId est utilisée. Remarque Vous devez spécifier un seul des paramètres suivants : TemplateBody, TemplateURL, TemplateId et TemplateScratchId. |
| TemplateId | String | Non | 5ecd1e10-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 et TemplateScratchId. |
| TemplateVersion | String | Non | v1 | Version du modèle. Remarque Ce paramètre prend effet uniquement lorsque le paramètre TemplateId est spécifié. |
Paramètres de réponse
| Paramètre | Type | Exemple | Description |
| RequestId | String | 72108E7A-E874-4A5E-B22C-A61E94AD12CD | ID de la requête. |
| RiskResources | Array of Resource | Ressources présentant des risques. |
|
| LogicalResourceId | String | MySG | ID logique de la ressource. L'ID logique correspond au nom de la ressource défini dans le modèle. |
| PhysicalResourceId | String | sg-bp1dpioafqphedg9**** | ID physique de la ressource. L'ID physique correspond à l'ID réel de la ressource. |
| RequestId | String | DF4296CF-F45F-4845-A72B-BE617601DB25 | ID de la requête en cas d'échec de la détection des risques. Remarque Ce paramètre n'est pas renvoyé si la détection des risques réussit. |
| ResourceType | String | ALIYUN::ECS::SecurityGroup | Type de ressource. |
| Code | String | NoPermission | Code d'erreur renvoyé en cas d'échec de la détection des risques. Remarque Ce paramètre n'est pas renvoyé si la détection des risques réussit. |
| Message | String | You are not authorized to complete this action. | Message d'erreur renvoyé en cas d'échec de la détection des risques. Remarque Ce paramètre n'est pas renvoyé si la détection des risques réussit. |
| RiskType | String | Referenced | Type de risque. Valeurs valides :
|
| Reason | String | There are some ECS instances (i-bp18el96s4wq635e****) depending on the security group. | Raison du risque. |
| MissingPolicyActions | Array of String | ["ecs:DescribeInstance", "ros:CreateStack"] | Opérations pour lesquelles les autorisations n'ont pas été accordées au compte Alibaba Cloud de l'appelant. |
Exemples
Exemple de requête
http(s)://ros.aliyuncs.com/?Action=ListStackOperationRisks
&OperationType=DeleteStack
&RegionId=cn-hangzhou
&StackId=4a6c9851-3b0f-4f5f-b4ca-a14bf691****
&<Common request parameters>
Exemple de réponse réussie
XML format
HTTP/1.1 200 OK
Content-Type:application/xml
<ListStackOperationRisksResponse>
<RequestId>72108E7A-E874-4A5E-B22C-A61E94AD12CD</RequestId>
<RiskResources>
<LogicalResourceId>MySG</LogicalResourceId>
<PhysicalResourceId>sg-bp1dpioafqphedg9****</PhysicalResourceId>
<RequestId>DF4296CF-F45F-4845-A72B-BE617601DB25</RequestId>
<ResourceType>ALIYUN::ECS::SecurityGroup</ResourceType>
<Code>NoPermission</Code>
<Message>You are not authorized to complete this action.</Message>
<RiskType>Referenced</RiskType>
<Reason>There are some ECS instances (i-bp18el96s4wq635e****) depending on the security group.</Reason>
</RiskResources>
<MissingPolicyActions>["ecs:DescribeInstance", "ros:CreateStack"]</MissingPolicyActions>
</ListStackOperationRisksResponse>
JSON format
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "72108E7A-E874-4A5E-B22C-A61E94AD12CD",
"RiskResources" : [ {
"LogicalResourceId" : "MySG",
"PhysicalResourceId" : "sg-bp1dpioafqphedg9****",
"RequestId" : "DF4296CF-F45F-4845-A72B-BE617601DB25",
"ResourceType" : "ALIYUN::ECS::SecurityGroup",
"Code" : "NoPermission",
"Message" : "You are not authorized to complete this action.",
"RiskType" : "Referenced",
"Reason" : "There are some ECS instances (i-bp18el96s4wq635e****) depending on the security group."
} ],
"MissingPolicyActions" : [ "[\"ecs:DescribeInstance\", \"ros:CreateStack\"]" ]
}
Codes d'erreur
Pour obtenir la liste des codes d'erreur, consultez le Centre d'erreurs API.