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

Specifies the rule settings for when messages can't be sent.

See * Also:

AWS * API Reference

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

The name of the closed day rule.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the closed day rule.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the closed day rule.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the closed day rule.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the closed day rule.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the closed day rule.

*/ inline ClosedDaysRule& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the closed day rule.

*/ inline ClosedDaysRule& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the closed day rule.

*/ inline ClosedDaysRule& WithName(const char* value) { SetName(value); return *this;} /** *

Start DateTime ISO 8601 format

*/ inline const Aws::String& GetStartDateTime() const{ return m_startDateTime; } /** *

Start DateTime ISO 8601 format

*/ inline bool StartDateTimeHasBeenSet() const { return m_startDateTimeHasBeenSet; } /** *

Start DateTime ISO 8601 format

*/ inline void SetStartDateTime(const Aws::String& value) { m_startDateTimeHasBeenSet = true; m_startDateTime = value; } /** *

Start DateTime ISO 8601 format

*/ inline void SetStartDateTime(Aws::String&& value) { m_startDateTimeHasBeenSet = true; m_startDateTime = std::move(value); } /** *

Start DateTime ISO 8601 format

*/ inline void SetStartDateTime(const char* value) { m_startDateTimeHasBeenSet = true; m_startDateTime.assign(value); } /** *

Start DateTime ISO 8601 format

*/ inline ClosedDaysRule& WithStartDateTime(const Aws::String& value) { SetStartDateTime(value); return *this;} /** *

Start DateTime ISO 8601 format

*/ inline ClosedDaysRule& WithStartDateTime(Aws::String&& value) { SetStartDateTime(std::move(value)); return *this;} /** *

Start DateTime ISO 8601 format

*/ inline ClosedDaysRule& WithStartDateTime(const char* value) { SetStartDateTime(value); return *this;} /** *

End DateTime ISO 8601 format

*/ inline const Aws::String& GetEndDateTime() const{ return m_endDateTime; } /** *

End DateTime ISO 8601 format

*/ inline bool EndDateTimeHasBeenSet() const { return m_endDateTimeHasBeenSet; } /** *

End DateTime ISO 8601 format

*/ inline void SetEndDateTime(const Aws::String& value) { m_endDateTimeHasBeenSet = true; m_endDateTime = value; } /** *

End DateTime ISO 8601 format

*/ inline void SetEndDateTime(Aws::String&& value) { m_endDateTimeHasBeenSet = true; m_endDateTime = std::move(value); } /** *

End DateTime ISO 8601 format

*/ inline void SetEndDateTime(const char* value) { m_endDateTimeHasBeenSet = true; m_endDateTime.assign(value); } /** *

End DateTime ISO 8601 format

*/ inline ClosedDaysRule& WithEndDateTime(const Aws::String& value) { SetEndDateTime(value); return *this;} /** *

End DateTime ISO 8601 format

*/ inline ClosedDaysRule& WithEndDateTime(Aws::String&& value) { SetEndDateTime(std::move(value)); return *this;} /** *

End DateTime ISO 8601 format

*/ inline ClosedDaysRule& WithEndDateTime(const char* value) { SetEndDateTime(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_startDateTime; bool m_startDateTimeHasBeenSet = false; Aws::String m_endDateTime; bool m_endDateTimeHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws