/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace CloudFormation { namespace Model { /** */ class RollbackStackRequest : public CloudFormationRequest { public: AWS_CLOUDFORMATION_API RollbackStackRequest(); // 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 "RollbackStack"; } AWS_CLOUDFORMATION_API Aws::String SerializePayload() const override; protected: AWS_CLOUDFORMATION_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The name that's associated with the stack.

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

The name that's associated with the stack.

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

The name that's associated with the stack.

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

The name that's associated with the stack.

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

The name that's associated with the stack.

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

The name that's associated with the stack.

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

The name that's associated with the stack.

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

The name that's associated with the stack.

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

The Amazon Resource Name (ARN) of an Identity and Access Management role that * CloudFormation assumes to rollback the stack.

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

The Amazon Resource Name (ARN) of an Identity and Access Management role that * CloudFormation assumes to rollback the stack.

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

The Amazon Resource Name (ARN) of an Identity and Access Management role that * CloudFormation assumes to rollback the stack.

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

The Amazon Resource Name (ARN) of an Identity and Access Management role that * CloudFormation assumes to rollback the stack.

*/ 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 role that * CloudFormation assumes to rollback the stack.

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

The Amazon Resource Name (ARN) of an Identity and Access Management role that * CloudFormation assumes to rollback the stack.

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

The Amazon Resource Name (ARN) of an Identity and Access Management role that * CloudFormation assumes to rollback the stack.

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

The Amazon Resource Name (ARN) of an Identity and Access Management role that * CloudFormation assumes to rollback the stack.

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

A unique identifier for this RollbackStack request.

*/ inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; } /** *

A unique identifier for this RollbackStack request.

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

A unique identifier for this RollbackStack request.

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

A unique identifier for this RollbackStack request.

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

A unique identifier for this RollbackStack request.

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

A unique identifier for this RollbackStack request.

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

A unique identifier for this RollbackStack request.

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

A unique identifier for this RollbackStack request.

*/ inline RollbackStackRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;} /** *

This deletion policy deletes newly created resources, but retains existing * resources, when a stack operation is rolled back. This ensures new, empty, and * unused resources are deleted, while critical resources and their data are * retained. RetainExceptOnCreate can be specified for any resource * that supports the * DeletionPolicy attribute.

*/ inline bool GetRetainExceptOnCreate() const{ return m_retainExceptOnCreate; } /** *

This deletion policy deletes newly created resources, but retains existing * resources, when a stack operation is rolled back. This ensures new, empty, and * unused resources are deleted, while critical resources and their data are * retained. RetainExceptOnCreate can be specified for any resource * that supports the * DeletionPolicy attribute.

*/ inline bool RetainExceptOnCreateHasBeenSet() const { return m_retainExceptOnCreateHasBeenSet; } /** *

This deletion policy deletes newly created resources, but retains existing * resources, when a stack operation is rolled back. This ensures new, empty, and * unused resources are deleted, while critical resources and their data are * retained. RetainExceptOnCreate can be specified for any resource * that supports the * DeletionPolicy attribute.

*/ inline void SetRetainExceptOnCreate(bool value) { m_retainExceptOnCreateHasBeenSet = true; m_retainExceptOnCreate = value; } /** *

This deletion policy deletes newly created resources, but retains existing * resources, when a stack operation is rolled back. This ensures new, empty, and * unused resources are deleted, while critical resources and their data are * retained. RetainExceptOnCreate can be specified for any resource * that supports the * DeletionPolicy attribute.

*/ inline RollbackStackRequest& WithRetainExceptOnCreate(bool value) { SetRetainExceptOnCreate(value); return *this;} private: Aws::String m_stackName; bool m_stackNameHasBeenSet = false; Aws::String m_roleARN; bool m_roleARNHasBeenSet = false; Aws::String m_clientRequestToken; bool m_clientRequestTokenHasBeenSet = false; bool m_retainExceptOnCreate; bool m_retainExceptOnCreateHasBeenSet = false; }; } // namespace Model } // namespace CloudFormation } // namespace Aws