/** * 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 Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace CloudFormation { namespace Model { /** *

Specifies RESOURCE type target details for activated * hooks.

See Also:

AWS * API Reference

*/ class ChangeSetHookResourceTargetDetails { public: AWS_CLOUDFORMATION_API ChangeSetHookResourceTargetDetails(); AWS_CLOUDFORMATION_API ChangeSetHookResourceTargetDetails(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFORMATION_API ChangeSetHookResourceTargetDetails& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFORMATION_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_CLOUDFORMATION_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The resource's logical ID, which is defined in the stack's template.

*/ inline const Aws::String& GetLogicalResourceId() const{ return m_logicalResourceId; } /** *

The resource's logical ID, which is defined in the stack's template.

*/ inline bool LogicalResourceIdHasBeenSet() const { return m_logicalResourceIdHasBeenSet; } /** *

The resource's logical ID, which is defined in the stack's template.

*/ inline void SetLogicalResourceId(const Aws::String& value) { m_logicalResourceIdHasBeenSet = true; m_logicalResourceId = value; } /** *

The resource's logical ID, which is defined in the stack's template.

*/ inline void SetLogicalResourceId(Aws::String&& value) { m_logicalResourceIdHasBeenSet = true; m_logicalResourceId = std::move(value); } /** *

The resource's logical ID, which is defined in the stack's template.

*/ inline void SetLogicalResourceId(const char* value) { m_logicalResourceIdHasBeenSet = true; m_logicalResourceId.assign(value); } /** *

The resource's logical ID, which is defined in the stack's template.

*/ inline ChangeSetHookResourceTargetDetails& WithLogicalResourceId(const Aws::String& value) { SetLogicalResourceId(value); return *this;} /** *

The resource's logical ID, which is defined in the stack's template.

*/ inline ChangeSetHookResourceTargetDetails& WithLogicalResourceId(Aws::String&& value) { SetLogicalResourceId(std::move(value)); return *this;} /** *

The resource's logical ID, which is defined in the stack's template.

*/ inline ChangeSetHookResourceTargetDetails& WithLogicalResourceId(const char* value) { SetLogicalResourceId(value); return *this;} /** *

The type of CloudFormation resource, such as * AWS::S3::Bucket.

*/ inline const Aws::String& GetResourceType() const{ return m_resourceType; } /** *

The type of CloudFormation resource, such as * AWS::S3::Bucket.

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

The type of CloudFormation resource, such as * AWS::S3::Bucket.

*/ inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

The type of CloudFormation resource, such as * AWS::S3::Bucket.

*/ inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

The type of CloudFormation resource, such as * AWS::S3::Bucket.

*/ inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } /** *

The type of CloudFormation resource, such as * AWS::S3::Bucket.

*/ inline ChangeSetHookResourceTargetDetails& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} /** *

The type of CloudFormation resource, such as * AWS::S3::Bucket.

*/ inline ChangeSetHookResourceTargetDetails& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} /** *

The type of CloudFormation resource, such as * AWS::S3::Bucket.

*/ inline ChangeSetHookResourceTargetDetails& WithResourceType(const char* value) { SetResourceType(value); return *this;} /** *

Specifies the action of the resource.

*/ inline const ChangeAction& GetResourceAction() const{ return m_resourceAction; } /** *

Specifies the action of the resource.

*/ inline bool ResourceActionHasBeenSet() const { return m_resourceActionHasBeenSet; } /** *

Specifies the action of the resource.

*/ inline void SetResourceAction(const ChangeAction& value) { m_resourceActionHasBeenSet = true; m_resourceAction = value; } /** *

Specifies the action of the resource.

*/ inline void SetResourceAction(ChangeAction&& value) { m_resourceActionHasBeenSet = true; m_resourceAction = std::move(value); } /** *

Specifies the action of the resource.

*/ inline ChangeSetHookResourceTargetDetails& WithResourceAction(const ChangeAction& value) { SetResourceAction(value); return *this;} /** *

Specifies the action of the resource.

*/ inline ChangeSetHookResourceTargetDetails& WithResourceAction(ChangeAction&& value) { SetResourceAction(std::move(value)); return *this;} private: Aws::String m_logicalResourceId; bool m_logicalResourceIdHasBeenSet = false; Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; ChangeAction m_resourceAction; bool m_resourceActionHasBeenSet = false; }; } // namespace Model } // namespace CloudFormation } // namespace Aws