/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Connect { namespace Model { /** *

The value of the timer. Either the timer action (Unset to delete * the timer), or the duration of the timer in minutes. Only one value can be * set.

For more information about how chat timeouts work, see Set * up chat timeouts for human participants.

See Also:

AWS * API Reference

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

The timer action. Currently only one value is allowed: Unset. It * deletes a timer.

*/ inline const ParticipantTimerAction& GetParticipantTimerAction() const{ return m_participantTimerAction; } /** *

The timer action. Currently only one value is allowed: Unset. It * deletes a timer.

*/ inline bool ParticipantTimerActionHasBeenSet() const { return m_participantTimerActionHasBeenSet; } /** *

The timer action. Currently only one value is allowed: Unset. It * deletes a timer.

*/ inline void SetParticipantTimerAction(const ParticipantTimerAction& value) { m_participantTimerActionHasBeenSet = true; m_participantTimerAction = value; } /** *

The timer action. Currently only one value is allowed: Unset. It * deletes a timer.

*/ inline void SetParticipantTimerAction(ParticipantTimerAction&& value) { m_participantTimerActionHasBeenSet = true; m_participantTimerAction = std::move(value); } /** *

The timer action. Currently only one value is allowed: Unset. It * deletes a timer.

*/ inline ParticipantTimerValue& WithParticipantTimerAction(const ParticipantTimerAction& value) { SetParticipantTimerAction(value); return *this;} /** *

The timer action. Currently only one value is allowed: Unset. It * deletes a timer.

*/ inline ParticipantTimerValue& WithParticipantTimerAction(ParticipantTimerAction&& value) { SetParticipantTimerAction(std::move(value)); return *this;} /** *

The duration of a timer, in minutes.

*/ inline int GetParticipantTimerDurationInMinutes() const{ return m_participantTimerDurationInMinutes; } /** *

The duration of a timer, in minutes.

*/ inline bool ParticipantTimerDurationInMinutesHasBeenSet() const { return m_participantTimerDurationInMinutesHasBeenSet; } /** *

The duration of a timer, in minutes.

*/ inline void SetParticipantTimerDurationInMinutes(int value) { m_participantTimerDurationInMinutesHasBeenSet = true; m_participantTimerDurationInMinutes = value; } /** *

The duration of a timer, in minutes.

*/ inline ParticipantTimerValue& WithParticipantTimerDurationInMinutes(int value) { SetParticipantTimerDurationInMinutes(value); return *this;} private: ParticipantTimerAction m_participantTimerAction; bool m_participantTimerActionHasBeenSet = false; int m_participantTimerDurationInMinutes; bool m_participantTimerDurationInMinutesHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws