Detecta los riesgos de una operación que desea ejecutar en una pila.
La operación ListStackOperationRisks es adecuada para los siguientes escenarios:
Desea detectar riesgos altos que podrían surgir en los recursos al eliminar una pila que los contiene, y consultar el motivo de cada riesgo en un recurso.
Desea detectar riesgos de fallo de creación que podrían surgir al crear una pila. En este caso, Resource Orchestration Service (ROS) le permite detectar únicamente los permisos obligatorios que no se han otorgado a la cuenta de Alibaba Cloud del llamante.
Depuración
Parámetros de solicitud
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| Action | String | Sí | ListStackOperationRisks | La operación que desea ejecutar. Establezca el valor en ListStackOperationRisks. |
| RegionId | String | Sí | cn-hangzhou | El ID de región de la pila. Puede llamar a la operación DescribeRegions para consultar la lista de regiones más reciente. |
| StackId | String | No | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** | El ID de la pila. |
| OperationType | String | Sí | DeleteStack | El tipo de operación cuyos riesgos desea detectar. Valores válidos:
|
| ClientToken | String | No | 123e4567-e89b-12d3-a456-42665544**** | El token de cliente que se utiliza para garantizar la idempotencia de la solicitud. Puede usar el cliente para generar el valor, pero debe asegurarse de que sea único entre diferentes solicitudes. El token puede tener hasta 64 caracteres de longitud y contener letras, dígitos, guiones (-) y guiones bajos (_). Para obtener más información, consulte Garantizar la idempotencia. |
| RamRoleName | String | No | test-role | El nombre del rol de RAM.
El nombre del rol de RAM puede tener hasta 64 bytes de longitud. |
| RetainAllResources | Boolean | No | false | Especifica si se deben conservar todos los recursos de la pila. Valor predeterminado: false. Valores válidos:
Nota Este parámetro surte efecto cuando el parámetro OperationType se establece en DeleteStack. |
| RetainResources.N | String | No | instance | El recurso N que desea conservar en la pila. |
| TemplateBody | String | No | {"ROSTemplateFormatVersion":"2015-09-01"} | La estructura que contiene el cuerpo de la plantilla. El cuerpo de la plantilla debe tener entre 1 y 524,288 bytes de longitud. Si la longitud del cuerpo de la plantilla excede el límite superior, le recomendamos agregar parámetros al cuerpo de la solicitud HTTP POST para evitar fallos en la solicitud causados por URL excesivamente largas. Nota Debe especificar solo uno de los siguientes parámetros: TemplateBody, TemplateURL, TemplateId y TemplateScratchId. |
| TemplateURL | String | No | oss://ros-template/demo | La URL del archivo que contiene el cuerpo de la plantilla. La URL debe apuntar a una plantilla ubicada en un servidor web HTTP o HTTPS, o en un bucket de Object Storage Service (OSS), como oss://ros/stack-policy/demo u oss://ros/stack-policy/demo?RegionId=cn-hangzhou. El cuerpo de la plantilla puede tener hasta 524,288 bytes de longitud. Si no especifica el ID de región del bucket de OSS, se utiliza el valor del parámetro RegionId. Nota Debe especificar solo uno de los siguientes parámetros: TemplateBody, TemplateURL, TemplateId y TemplateScratchId. |
| TemplateId | String | No | 5ecd1e10-b0e9-4389-a565-e4c15efc**** | El ID de la plantilla. Este parámetro aplica a plantillas compartidas y privadas. Nota Debe especificar solo uno de los siguientes parámetros: TemplateBody, TemplateURL, TemplateId y TemplateScratchId. |
| TemplateVersion | String | No | v1 | La versión de la plantilla. Nota Este parámetro surte efecto solo cuando se especifica el parámetro TemplateId. |
Parámetros de respuesta
| Parámetro | Tipo | Ejemplo | Descripción |
| RequestId | String | 72108E7A-E874-4A5E-B22C-A61E94AD12CD | El ID de la solicitud. |
| RiskResources | Array of Resource | Los recursos en riesgo. |
|
| LogicalResourceId | String | MySG | El ID lógico del recurso. El ID lógico es el nombre del recurso definido en la plantilla. |
| PhysicalResourceId | String | sg-bp1dpioafqphedg9**** | El ID físico del recurso. El ID físico es el ID real del recurso. |
| RequestId | String | DF4296CF-F45F-4845-A72B-BE617601DB25 | El ID de la solicitud cuando falla la detección de riesgos. Nota Este parámetro no se devuelve si la detección de riesgos es exitosa. |
| ResourceType | String | ALIYUN::ECS::SecurityGroup | El tipo de recurso. |
| Code | String | NoPermission | El código de error que se devuelve cuando falla la detección de riesgos. Nota Este parámetro no se devuelve si la detección de riesgos es exitosa. |
| Message | String | You are not authorized to complete this action. | El mensaje de error que se devuelve cuando falla la detección de riesgos. Nota Este parámetro no se devuelve si la detección de riesgos es exitosa. |
| RiskType | String | Referenced | El tipo de riesgo. Valores válidos:
|
| Reason | String | There are some ECS instances (i-bp18el96s4wq635e****) depending on the security group. | El motivo del riesgo. |
| MissingPolicyActions | Array of String | ["ecs:DescribeInstance", "ros:CreateStack"] | Las operaciones para las cuales no se han otorgado permisos a la cuenta de Alibaba Cloud del llamante. |
Ejemplos
Solicitudes de ejemplo
http(s)://ros.aliyuncs.com/?Action=ListStackOperationRisks
&OperationType=DeleteStack
&RegionId=cn-hangzhou
&StackId=4a6c9851-3b0f-4f5f-b4ca-a14bf691****
&<Common request parameters>
Respuestas exitosas de ejemplo
Formato XML
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>
Formato JSON
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\"]" ]
}
Códigos de error
Para obtener una lista de códigos de error, visite el Centro de errores de API.