/** * 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 Pinpoint { namespace Model { /** *

The time when a journey will not send messages. QuietTime should be * configured first and SendingSchedule should be set to true.

See * Also:

AWS * API Reference

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

Rules for the Email channel.

*/ inline const Aws::Vector& GetEMAIL() const{ return m_eMAIL; } /** *

Rules for the Email channel.

*/ inline bool EMAILHasBeenSet() const { return m_eMAILHasBeenSet; } /** *

Rules for the Email channel.

*/ inline void SetEMAIL(const Aws::Vector& value) { m_eMAILHasBeenSet = true; m_eMAIL = value; } /** *

Rules for the Email channel.

*/ inline void SetEMAIL(Aws::Vector&& value) { m_eMAILHasBeenSet = true; m_eMAIL = std::move(value); } /** *

Rules for the Email channel.

*/ inline ClosedDays& WithEMAIL(const Aws::Vector& value) { SetEMAIL(value); return *this;} /** *

Rules for the Email channel.

*/ inline ClosedDays& WithEMAIL(Aws::Vector&& value) { SetEMAIL(std::move(value)); return *this;} /** *

Rules for the Email channel.

*/ inline ClosedDays& AddEMAIL(const ClosedDaysRule& value) { m_eMAILHasBeenSet = true; m_eMAIL.push_back(value); return *this; } /** *

Rules for the Email channel.

*/ inline ClosedDays& AddEMAIL(ClosedDaysRule&& value) { m_eMAILHasBeenSet = true; m_eMAIL.push_back(std::move(value)); return *this; } /** *

Rules for the SMS channel.

*/ inline const Aws::Vector& GetSMS() const{ return m_sMS; } /** *

Rules for the SMS channel.

*/ inline bool SMSHasBeenSet() const { return m_sMSHasBeenSet; } /** *

Rules for the SMS channel.

*/ inline void SetSMS(const Aws::Vector& value) { m_sMSHasBeenSet = true; m_sMS = value; } /** *

Rules for the SMS channel.

*/ inline void SetSMS(Aws::Vector&& value) { m_sMSHasBeenSet = true; m_sMS = std::move(value); } /** *

Rules for the SMS channel.

*/ inline ClosedDays& WithSMS(const Aws::Vector& value) { SetSMS(value); return *this;} /** *

Rules for the SMS channel.

*/ inline ClosedDays& WithSMS(Aws::Vector&& value) { SetSMS(std::move(value)); return *this;} /** *

Rules for the SMS channel.

*/ inline ClosedDays& AddSMS(const ClosedDaysRule& value) { m_sMSHasBeenSet = true; m_sMS.push_back(value); return *this; } /** *

Rules for the SMS channel.

*/ inline ClosedDays& AddSMS(ClosedDaysRule&& value) { m_sMSHasBeenSet = true; m_sMS.push_back(std::move(value)); return *this; } /** *

Rules for the Push channel.

*/ inline const Aws::Vector& GetPUSH() const{ return m_pUSH; } /** *

Rules for the Push channel.

*/ inline bool PUSHHasBeenSet() const { return m_pUSHHasBeenSet; } /** *

Rules for the Push channel.

*/ inline void SetPUSH(const Aws::Vector& value) { m_pUSHHasBeenSet = true; m_pUSH = value; } /** *

Rules for the Push channel.

*/ inline void SetPUSH(Aws::Vector&& value) { m_pUSHHasBeenSet = true; m_pUSH = std::move(value); } /** *

Rules for the Push channel.

*/ inline ClosedDays& WithPUSH(const Aws::Vector& value) { SetPUSH(value); return *this;} /** *

Rules for the Push channel.

*/ inline ClosedDays& WithPUSH(Aws::Vector&& value) { SetPUSH(std::move(value)); return *this;} /** *

Rules for the Push channel.

*/ inline ClosedDays& AddPUSH(const ClosedDaysRule& value) { m_pUSHHasBeenSet = true; m_pUSH.push_back(value); return *this; } /** *

Rules for the Push channel.

*/ inline ClosedDays& AddPUSH(ClosedDaysRule&& value) { m_pUSHHasBeenSet = true; m_pUSH.push_back(std::move(value)); return *this; } /** *

Rules for the Voice channel.

*/ inline const Aws::Vector& GetVOICE() const{ return m_vOICE; } /** *

Rules for the Voice channel.

*/ inline bool VOICEHasBeenSet() const { return m_vOICEHasBeenSet; } /** *

Rules for the Voice channel.

*/ inline void SetVOICE(const Aws::Vector& value) { m_vOICEHasBeenSet = true; m_vOICE = value; } /** *

Rules for the Voice channel.

*/ inline void SetVOICE(Aws::Vector&& value) { m_vOICEHasBeenSet = true; m_vOICE = std::move(value); } /** *

Rules for the Voice channel.

*/ inline ClosedDays& WithVOICE(const Aws::Vector& value) { SetVOICE(value); return *this;} /** *

Rules for the Voice channel.

*/ inline ClosedDays& WithVOICE(Aws::Vector&& value) { SetVOICE(std::move(value)); return *this;} /** *

Rules for the Voice channel.

*/ inline ClosedDays& AddVOICE(const ClosedDaysRule& value) { m_vOICEHasBeenSet = true; m_vOICE.push_back(value); return *this; } /** *

Rules for the Voice channel.

*/ inline ClosedDays& AddVOICE(ClosedDaysRule&& value) { m_vOICEHasBeenSet = true; m_vOICE.push_back(std::move(value)); return *this; } /** *

Rules for the Custom channel.

*/ inline const Aws::Vector& GetCUSTOM() const{ return m_cUSTOM; } /** *

Rules for the Custom channel.

*/ inline bool CUSTOMHasBeenSet() const { return m_cUSTOMHasBeenSet; } /** *

Rules for the Custom channel.

*/ inline void SetCUSTOM(const Aws::Vector& value) { m_cUSTOMHasBeenSet = true; m_cUSTOM = value; } /** *

Rules for the Custom channel.

*/ inline void SetCUSTOM(Aws::Vector&& value) { m_cUSTOMHasBeenSet = true; m_cUSTOM = std::move(value); } /** *

Rules for the Custom channel.

*/ inline ClosedDays& WithCUSTOM(const Aws::Vector& value) { SetCUSTOM(value); return *this;} /** *

Rules for the Custom channel.

*/ inline ClosedDays& WithCUSTOM(Aws::Vector&& value) { SetCUSTOM(std::move(value)); return *this;} /** *

Rules for the Custom channel.

*/ inline ClosedDays& AddCUSTOM(const ClosedDaysRule& value) { m_cUSTOMHasBeenSet = true; m_cUSTOM.push_back(value); return *this; } /** *

Rules for the Custom channel.

*/ inline ClosedDays& AddCUSTOM(ClosedDaysRule&& value) { m_cUSTOMHasBeenSet = true; m_cUSTOM.push_back(std::move(value)); return *this; } private: Aws::Vector m_eMAIL; bool m_eMAILHasBeenSet = false; Aws::Vector m_sMS; bool m_sMSHasBeenSet = false; Aws::Vector m_pUSH; bool m_pUSHHasBeenSet = false; Aws::Vector m_vOICE; bool m_vOICEHasBeenSet = false; Aws::Vector m_cUSTOM; bool m_cUSTOMHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws