deleteStack method
Deletes a specified stack. Once the call completes successfully, stack deletion starts. Deleted stacks don't show up in the DescribeStacks operation if the deletion has been completed successfully.
For more information about deleting a stack, see Delete a stack from the CloudFormation console in the CloudFormation User Guide.
May throw TokenAlreadyExistsException.
Parameter stackName :
The name or the unique stack ID that's associated with the stack.
Parameter clientRequestToken :
A unique identifier for this DeleteStack request. Specify
this token if you plan to retry requests so that CloudFormation knows that
you're not attempting to delete a stack with the same name. You might
retry DeleteStack requests to ensure that CloudFormation
successfully received them.
All events initiated by a given stack operation are assigned the same
client request token, which you can use to track operations. For example,
if you execute a CreateStack operation with the token
token1, then all the StackEvents generated by
that operation will have ClientRequestToken set as
token1.
In the console, stack operations display the client request token on the
Events tab. Stack operations that are initiated from the console use the
token format Console-StackOperation-ID, which helps you easily
identify the stack operation . For example, if you create a stack using
the console, each stack event would be assigned the same token in the
following format:
Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.
Parameter deletionMode :
Specifies the deletion mode for the stack. Possible values are:
-
STANDARD- Use the standard behavior. Specifying this value is the same as not specifying this parameter. -
FORCE_DELETE_STACK- Delete the stack if it's stuck in aDELETE_FAILEDstate due to resource deletion failure.
Parameter retainResources :
For stacks in the DELETE_FAILED state, a list of resource
logical IDs that are associated with the resources you want to retain.
During deletion, CloudFormation deletes the stack but doesn't delete the
retained resources.
Retaining resources is useful when you can't delete a resource, such as a non-empty S3 bucket, but you want to delete the stack.
Parameter roleARN :
The Amazon Resource Name (ARN) of an IAM role that CloudFormation assumes
to delete the stack. CloudFormation uses the role's credentials to make
calls on your behalf.
If you don't specify a value, CloudFormation uses the role that was previously associated with the stack. If no role is available, CloudFormation uses a temporary session that's generated from your user credentials.
Implementation
Future<void> deleteStack({
required String stackName,
String? clientRequestToken,
DeletionMode? deletionMode,
List<String>? retainResources,
String? roleARN,
}) async {
final $request = <String, String>{
'StackName': stackName,
if (clientRequestToken != null) 'ClientRequestToken': clientRequestToken,
if (deletionMode != null) 'DeletionMode': deletionMode.value,
if (retainResources != null)
if (retainResources.isEmpty)
'RetainResources': ''
else
for (var i1 = 0; i1 < retainResources.length; i1++)
'RetainResources.member.${i1 + 1}': retainResources[i1],
if (roleARN != null) 'RoleARN': roleARN,
};
await _protocol.send(
$request,
action: 'DeleteStack',
version: '2010-05-15',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
);
}