Deleting Stack Instances
Function
DeleteStackInstances
This API deletes the stack instance of a specified region or member account (domain_id) in a specified stack set and returns the stack set operation ID (stack_set_operation_id).
** Exercise caution when performing this operation. Deleting a stack instance will delete related stacks and all resources managed by the stacks.
-
You can obtain the stack set operation status by calling the ShowStackSetOperationMetadata API based on the stack set operation ID (stack_set_operation_id).
URI
POST /v1/stack-sets/{stack_set_name}/stack-instances/deletion
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
stack_set_name |
Yes |
String |
Stack set name. The name is unique within its domain (domain_id) and region. Only letters, digits, underscores (_), and hyphens (-) are allowed. The name is case-sensitive and must start with a letter. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
Client-Request-Id |
Yes |
String |
Unique request ID. It is specified by a user and is used to locate a request. UUID is recommended. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
stack_set_id |
No |
String |
Unique ID of a stack set. It is a UUID generated by RFS when a stack is created. Stack set names are unique only at one specific time, so you can create a stack set named HelloWorld and another stack set with the same name after deleting the first one. For parallel development in a team, users may want to ensure that the stack set they operate is the one created by themselves, not the one with the same name created by other teammates after deleting the previous one. Therefore, they can use this ID for strong matching. RFS ensures that the ID of each stack set is different and does not change with updates. If the stack_set_id value is different from the current stack set ID, 400 is returned. |
deployment_targets |
Yes |
deployment_targets object |
Deployment target information. |
operation_preferences |
No |
operation_preferences object |
The user-specified preferences for how to perform a stack set operation. This parameter takes effect only in a specified single operation. If this parameter is not specified, the default operation preferences is that only one stack is deployed at a time and after all stack instances in a region are deployed completely, the next region will be selected randomly for deployment. The default value of failure tolerance count in a region is 0. This parameter can be specified in the following APIs: CreateStackInstance, DeployStackSet, UpdateStackInstance, DeleteStackInstance. |
call_identity |
No |
String |
This parameter is only supported when the stack set permission model is SERVICE_MANAGED. Specify whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account. By default, SELF is specified. Use SELF for stack sets with self-managed permissions.
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
regions |
Yes |
Array of strings |
Regions involved in the stack set operations are specified by the user.
|
domain_ids |
No |
Array of strings |
When the stack set permission model is SELF_MANAGED, the domain IDs involved in this operation is specified by the user.
When the stack set permission model is SERVICE_MANAGED, this parameter needs to be used with domain_id_filter_type. It's used to specify, exclude or additionally deploy the domain IDS of member accounts from the organizational units in deployment target. You can specify either domain_ids or domain_ids_uri, but not both. |
domain_ids_uri |
No |
String |
When the stack set permission model is SELF_MANAGED, the OBS address of the domain IDs involved in this operation is specified by the user. Tenant IDs are separated by commas (,) and line breaks are supported. Currently, only CSV files are supported, and the files should be encoded in UTF-8. The file size cannot exceed 100 KB. Do not use Excel for operations on the CSV file to be uploaded. Otherwise, inconsistencies may occur in results read from the CSV file. You are advised to use Notepad to open the file and check whether the content complies with your expectation.
When the stack set permission model is SERVICE_MANAGED, this parameter needs to be used with domain_id_filter_type. Used to specify, exclude or additionally deploy the domain IDS of member accounts from the organizational units in deployment target. You can specify either domain_ids or domain_ids_uri, but not both. |
organizational_unit_ids |
No |
Array of strings |
Organizational Unit (OU) IDs list. This parameter is only allowed to be specified when the stack set permission model is SERVICE_MANAGED. The list of organizational_unit_ids, it can be the root organization (Root) ID or the ID of organizational units. This parameter must be specified in the CreateStackInstances API. This API will asynchronously verify the OU IDs. Valid OU IDs and all non-empty sub-OU IDs will be managed by the stack set. This API allows specifying OU IDs that are not or already managed by the stack set.
To deploy or delete resource stack instances (including DeployStackSet, UpdateStackInstances, DeleteStackInstances API) , only OU IDs that have been managed by the resource stack set are allowed to be specified. If you specify OU IDs that are not managed by the resource stack set records, an error will be reported. This parameter must be specified in the DeleteStackInstances API. You can call ShowStackSetMetadata API to get the OU IDs specified by CreateStackInstances API request. Stack set will be deployed not only to users in the deployment target OUs, but also to users in all sub-OUs. Stack set assembly selects stack instances to create or deploy in the form of a Cartesian product based on all users under the OUs (including under sub-OUs) and the region list. Stack sets will not choose administrator in organization as deployment target for stack instance creation or deployment, even if the organization administrator is in the given organization or the organization's OU. |
domain_id_filter_type |
No |
String |
Domain IDs filter type. This parameter is only supported when stack set permission model is SERVICE_MANAGED. By default, NONE is specified. You can specify different filter types to include or exclude deployment target users by providing either domain_ids or domain_ids_uri, thus increasing or limiting the scope of deployment target and implement different deployment strategies.
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
region_concurrency_type |
No |
String |
The concurrency type of deploying stack instances in regions. The value can be SEQUENTIAL (default) or PARALLEL. The value is case-sensitive. Detailed introduction:
|
region_order |
No |
Array of strings |
Region deployment order. This parameter can be specified only when region_concurrency_type is set to SEQUENTIAL. The region_order must only contain all regions in this deployment target. If this parameter is not specified, the region deployment order is random. The region_order takes effect only during a specified single operation. |
failure_tolerance_count |
No |
Long |
The maximum number of failed stack instances in a region. The value must be 0 or a positive integer. The default value is 0. If the value of region_concurrency_type is SEQUENTIAL, when the number of stack instances that deploy failed in a region exceeds the failure_tolerance_count, all other instances that are still in WAIT_IN_PROGRESS status will be canceled. The status of the canceled instance changes to CANCEL_COMPLETE; If the value of region_concurrency_type is PARALLEL, when the number of stack instances that deploy failed in a region exceeds the failure_tolerance_count, the stack set only cancels all instances that are still in WAIT_IN_PROGRESS status in this region. The status of the canceled instance changes to CANCEL_COMPLETE. Stack instances that are in OPERATION_IN_PROGRESS status or have been deployed (that is, in OPERATION_COMPLETE or OPERATION_FAILED status) are not affected. Only one of failure_tolerance_count and failure_tolerance_percentage can exist. |
failure_tolerance_percentage |
No |
Long |
The maximum percentage of failed stack instances in a region. The value must be 0 or a positive integer. The default value is 0. By multiplying the failure_tolerance_percentage by the number of stack instances in the region and rounding it down, the actual number of failure tolerance count can be obtained. Only one of failure_tolerance_count and failure_tolerance_percentage can exist. |
max_concurrent_count |
No |
Long |
The maximum number of concurrent accounts can be deployed in a region. The value must be a positive integer. The default value is 1. max_concurrent_count is at most one more than the failure tolerance count. If failure_tolerance_percentage is specified, max_concurrent_count is at most one more than the result of failure_tolerance_percentage multiplied by the number of stack instances in a region to guarantee that the deployment stops at the required level of failure tolerance. Only one of max_concurrent_count and max_concurrent_percentage can exist. |
max_concurrent_percentage |
No |
Long |
The maximum percentage of concurrent accounts can be deployed in a region. The value must be a positive integer. The default value is 1. The RFS calculates the actual maximum number of concurrent accounts by rounding down the value obtained by multiplying the percentage by the number of stack instances in each region. This actual maximum number of concurrent accounts is at most one more than the failure tolerance count. If failure_tolerance_percentage is specified, this actual maximum number of concurrent accounts is at most one more than the result of failure_tolerance_percentage multiplied by the number of stack instances in a region to guarantee that the deployment stops at the required level of failure tolerance. Only one of max_concurrent_count and max_concurrent_percentage can exist. |
failure_tolerance_mode |
No |
String |
The failure tolerance mode of deploying stack instances in regions. The value can be STRICT_FAILURE_TOLERANCE or SOFT_FAILURE_TOLERANCE. The default value is STRICT_FAILURE_TOLERANCE. The value is case-sensitive. Detailed introduction:
|
Response Parameters
Status code: 202
Parameter |
Type |
Description |
---|---|---|
stack_set_operation_id |
String |
Unique ID of a stack set operation. It is a UUID generated by RFS when a stack set operation is created. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Response code. |
error_msg |
String |
Response message. |
encoded_authorization_message |
String |
The message contains information about unauthorized requests. |
details |
Array of Detail objects |
Detailed error messages returned by service when permission is denied. |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Response code. |
error_msg |
String |
Response message. |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Response code. |
error_msg |
String |
Response message. |
encoded_authorization_message |
String |
The message contains information about unauthorized requests. |
details |
Array of Detail objects |
Detailed error messages returned by service when permission is denied. |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Response code. |
error_msg |
String |
Response message. |
Status code: 403
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Response code. |
error_msg |
String |
Response message. |
encoded_authorization_message |
String |
The message contains information about unauthorized requests. |
details |
Array of Detail objects |
Detailed error messages returned by service when permission is denied. |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Response code. |
error_msg |
String |
Response message. |
Status code: 404
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Response code. |
error_msg |
String |
Response message. |
encoded_authorization_message |
String |
The message contains information about unauthorized requests. |
details |
Array of Detail objects |
Detailed error messages returned by service when permission is denied. |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Response code. |
error_msg |
String |
Response message. |
Status code: 429
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Response code. |
error_msg |
String |
Response message. |
encoded_authorization_message |
String |
The message contains information about unauthorized requests. |
details |
Array of Detail objects |
Detailed error messages returned by service when permission is denied. |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Response code. |
error_msg |
String |
Response message. |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Response code. |
error_msg |
String |
Response message. |
encoded_authorization_message |
String |
The message contains information about unauthorized requests. |
details |
Array of Detail objects |
Detailed error messages returned by service when permission is denied. |
Example Requests
-
Assign member account information through the URL signed by domain IDs. Stack instances are deleted in sequential mode among regions.
POST https://{endpoint}/v1/stack-sets/my_hello_world_stack_set/stack-instances/deletion { "stack_set_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b4", "deployment_targets" : { "regions" : [ "cn-north-7" ], "domain_ids_uri" : "https://your-bucket.cn-north-7.myhuaweicloud.com/my-domain-ids.csv" }, "operation_preferences" : { "region_concurrency_type" : "SEQUENTIAL" } }
-
Assign member account information through the array of domain IDs. Stack instances are deleted in parallel mode among regions.
POST https://{endpoint}/v1/stack-sets/my_hello_world_stack_set/stack-instances/deletion { "stack_set_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b4", "deployment_targets" : { "regions" : [ "cn-north-7" ], "domain_ids" : [ "0e0bc7572c0dfb74efa6c60ecd7b1dbf" ] }, "operation_preferences" : { "region_concurrency_type" : "PARALLEL" } }
Example Responses
Status code: 202
The request is accepted and processed asynchronously.
{ "stack_set_operation_id" : "fb5e781e-a27d-46e2-9954-242753857a9f" }
Status Codes
Status Code |
Description |
---|---|
202 |
The request is accepted and processed asynchronously. |
400 |
Invalid request. |
401 |
Authentication failed. |
403 |
|
404 |
The stack set does not exist. |
429 |
Too frequent requests. |
500 |
Internal server error. |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot