/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace CloudFormation { namespace Model { /** *

The input for DeleteStack action.

See Also:

AWS * API Reference

*/ class DeleteStackRequest : public CloudFormationRequest { public: AWS_CLOUDFORMATION_API DeleteStackRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteStack"; } AWS_CLOUDFORMATION_API Aws::String SerializePayload() const override; protected: AWS_CLOUDFORMATION_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The name or the unique stack ID that's associated with the stack.

*/ inline const Aws::String& GetStackName() const{ return m_stackName; } /** *

The name or the unique stack ID that's associated with the stack.

*/ inline bool StackNameHasBeenSet() const { return m_stackNameHasBeenSet; } /** *

The name or the unique stack ID that's associated with the stack.

*/ inline void SetStackName(const Aws::String& value) { m_stackNameHasBeenSet = true; m_stackName = value; } /** *

The name or the unique stack ID that's associated with the stack.

*/ inline void SetStackName(Aws::String&& value) { m_stackNameHasBeenSet = true; m_stackName = std::move(value); } /** *

The name or the unique stack ID that's associated with the stack.

*/ inline void SetStackName(const char* value) { m_stackNameHasBeenSet = true; m_stackName.assign(value); } /** *

The name or the unique stack ID that's associated with the stack.

*/ inline DeleteStackRequest& WithStackName(const Aws::String& value) { SetStackName(value); return *this;} /** *

The name or the unique stack ID that's associated with the stack.

*/ inline DeleteStackRequest& WithStackName(Aws::String&& value) { SetStackName(std::move(value)); return *this;} /** *

The name or the unique stack ID that's associated with the stack.

*/ inline DeleteStackRequest& WithStackName(const char* value) { SetStackName(value); return *this;} /** *

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.

*/ inline const Aws::Vector& GetRetainResources() const{ return m_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.

*/ inline bool RetainResourcesHasBeenSet() const { return m_retainResourcesHasBeenSet; } /** *

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.

*/ inline void SetRetainResources(const Aws::Vector& value) { m_retainResourcesHasBeenSet = true; m_retainResources = value; } /** *

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.

*/ inline void SetRetainResources(Aws::Vector&& value) { m_retainResourcesHasBeenSet = true; m_retainResources = std::move(value); } /** *

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.

*/ inline DeleteStackRequest& WithRetainResources(const Aws::Vector& value) { SetRetainResources(value); return *this;} /** *

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.

*/ inline DeleteStackRequest& WithRetainResources(Aws::Vector&& value) { SetRetainResources(std::move(value)); return *this;} /** *

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.

*/ inline DeleteStackRequest& AddRetainResources(const Aws::String& value) { m_retainResourcesHasBeenSet = true; m_retainResources.push_back(value); return *this; } /** *

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.

*/ inline DeleteStackRequest& AddRetainResources(Aws::String&& value) { m_retainResourcesHasBeenSet = true; m_retainResources.push_back(std::move(value)); return *this; } /** *

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.

*/ inline DeleteStackRequest& AddRetainResources(const char* value) { m_retainResourcesHasBeenSet = true; m_retainResources.push_back(value); return *this; } /** *

The Amazon Resource Name (ARN) of an Identity and Access Management (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.

*/ inline const Aws::String& GetRoleARN() const{ return m_roleARN; } /** *

The Amazon Resource Name (ARN) of an Identity and Access Management (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.

*/ inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; } /** *

The Amazon Resource Name (ARN) of an Identity and Access Management (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.

*/ inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; } /** *

The Amazon Resource Name (ARN) of an Identity and Access Management (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.

*/ inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); } /** *

The Amazon Resource Name (ARN) of an Identity and Access Management (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.

*/ inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); } /** *

The Amazon Resource Name (ARN) of an Identity and Access Management (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.

*/ inline DeleteStackRequest& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;} /** *

The Amazon Resource Name (ARN) of an Identity and Access Management (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.

*/ inline DeleteStackRequest& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of an Identity and Access Management (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.

*/ inline DeleteStackRequest& WithRoleARN(const char* value) { SetRoleARN(value); return *this;} /** *

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.

*/ inline const Aws::String& GetClientRequestToken() const{ return m_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.

*/ inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; } /** *

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.

*/ inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; } /** *

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.

*/ inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); } /** *

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.

*/ inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); } /** *

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.

*/ inline DeleteStackRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;} /** *

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.

*/ inline DeleteStackRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;} /** *

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.

*/ inline DeleteStackRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;} private: Aws::String m_stackName; bool m_stackNameHasBeenSet = false; Aws::Vector m_retainResources; bool m_retainResourcesHasBeenSet = false; Aws::String m_roleARN; bool m_roleARNHasBeenSet = false; Aws::String m_clientRequestToken; bool m_clientRequestTokenHasBeenSet = false; }; } // namespace Model } // namespace CloudFormation } // namespace Aws