/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SSMContacts { namespace Model { /** *

The contact or contact channel that's being engaged.

See Also:

* AWS * API Reference

*/ class Target { public: AWS_SSMCONTACTS_API Target(); AWS_SSMCONTACTS_API Target(Aws::Utils::Json::JsonView jsonValue); AWS_SSMCONTACTS_API Target& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SSMCONTACTS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Information about the contact channel Incident Manager is engaging.

*/ inline const ChannelTargetInfo& GetChannelTargetInfo() const{ return m_channelTargetInfo; } /** *

Information about the contact channel Incident Manager is engaging.

*/ inline bool ChannelTargetInfoHasBeenSet() const { return m_channelTargetInfoHasBeenSet; } /** *

Information about the contact channel Incident Manager is engaging.

*/ inline void SetChannelTargetInfo(const ChannelTargetInfo& value) { m_channelTargetInfoHasBeenSet = true; m_channelTargetInfo = value; } /** *

Information about the contact channel Incident Manager is engaging.

*/ inline void SetChannelTargetInfo(ChannelTargetInfo&& value) { m_channelTargetInfoHasBeenSet = true; m_channelTargetInfo = std::move(value); } /** *

Information about the contact channel Incident Manager is engaging.

*/ inline Target& WithChannelTargetInfo(const ChannelTargetInfo& value) { SetChannelTargetInfo(value); return *this;} /** *

Information about the contact channel Incident Manager is engaging.

*/ inline Target& WithChannelTargetInfo(ChannelTargetInfo&& value) { SetChannelTargetInfo(std::move(value)); return *this;} /** *

Information about the contact that Incident Manager is engaging.

*/ inline const ContactTargetInfo& GetContactTargetInfo() const{ return m_contactTargetInfo; } /** *

Information about the contact that Incident Manager is engaging.

*/ inline bool ContactTargetInfoHasBeenSet() const { return m_contactTargetInfoHasBeenSet; } /** *

Information about the contact that Incident Manager is engaging.

*/ inline void SetContactTargetInfo(const ContactTargetInfo& value) { m_contactTargetInfoHasBeenSet = true; m_contactTargetInfo = value; } /** *

Information about the contact that Incident Manager is engaging.

*/ inline void SetContactTargetInfo(ContactTargetInfo&& value) { m_contactTargetInfoHasBeenSet = true; m_contactTargetInfo = std::move(value); } /** *

Information about the contact that Incident Manager is engaging.

*/ inline Target& WithContactTargetInfo(const ContactTargetInfo& value) { SetContactTargetInfo(value); return *this;} /** *

Information about the contact that Incident Manager is engaging.

*/ inline Target& WithContactTargetInfo(ContactTargetInfo&& value) { SetContactTargetInfo(std::move(value)); return *this;} private: ChannelTargetInfo m_channelTargetInfo; bool m_channelTargetInfoHasBeenSet = false; ContactTargetInfo m_contactTargetInfo; bool m_contactTargetInfoHasBeenSet = false; }; } // namespace Model } // namespace SSMContacts } // namespace Aws