/** * 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 target details for an activated hook.

See Also:

AWS * API Reference

*/ class ChangeSetHookTargetDetails { public: AWS_CLOUDFORMATION_API ChangeSetHookTargetDetails(); AWS_CLOUDFORMATION_API ChangeSetHookTargetDetails(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFORMATION_API ChangeSetHookTargetDetails& 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 name of the type.

*/ inline const HookTargetType& GetTargetType() const{ return m_targetType; } /** *

The name of the type.

*/ inline bool TargetTypeHasBeenSet() const { return m_targetTypeHasBeenSet; } /** *

The name of the type.

*/ inline void SetTargetType(const HookTargetType& value) { m_targetTypeHasBeenSet = true; m_targetType = value; } /** *

The name of the type.

*/ inline void SetTargetType(HookTargetType&& value) { m_targetTypeHasBeenSet = true; m_targetType = std::move(value); } /** *

The name of the type.

*/ inline ChangeSetHookTargetDetails& WithTargetType(const HookTargetType& value) { SetTargetType(value); return *this;} /** *

The name of the type.

*/ inline ChangeSetHookTargetDetails& WithTargetType(HookTargetType&& value) { SetTargetType(std::move(value)); return *this;} /** *

Required if TargetType is RESOURCE.

*/ inline const ChangeSetHookResourceTargetDetails& GetResourceTargetDetails() const{ return m_resourceTargetDetails; } /** *

Required if TargetType is RESOURCE.

*/ inline bool ResourceTargetDetailsHasBeenSet() const { return m_resourceTargetDetailsHasBeenSet; } /** *

Required if TargetType is RESOURCE.

*/ inline void SetResourceTargetDetails(const ChangeSetHookResourceTargetDetails& value) { m_resourceTargetDetailsHasBeenSet = true; m_resourceTargetDetails = value; } /** *

Required if TargetType is RESOURCE.

*/ inline void SetResourceTargetDetails(ChangeSetHookResourceTargetDetails&& value) { m_resourceTargetDetailsHasBeenSet = true; m_resourceTargetDetails = std::move(value); } /** *

Required if TargetType is RESOURCE.

*/ inline ChangeSetHookTargetDetails& WithResourceTargetDetails(const ChangeSetHookResourceTargetDetails& value) { SetResourceTargetDetails(value); return *this;} /** *

Required if TargetType is RESOURCE.

*/ inline ChangeSetHookTargetDetails& WithResourceTargetDetails(ChangeSetHookResourceTargetDetails&& value) { SetResourceTargetDetails(std::move(value)); return *this;} private: HookTargetType m_targetType; bool m_targetTypeHasBeenSet = false; ChangeSetHookResourceTargetDetails m_resourceTargetDetails; bool m_resourceTargetDetailsHasBeenSet = false; }; } // namespace Model } // namespace CloudFormation } // namespace Aws