/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include <aws/pinpoint/Pinpoint_EXPORTS.h> #include <aws/core/utils/DateTime.h> #include <aws/core/utils/memory/stl/AWSString.h> #include <utility> namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Pinpoint { namespace Model { /** * <p>Specifies the schedule settings for a journey.</p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/JourneySchedule">AWS * API Reference</a></p> */ class JourneySchedule { public: AWS_PINPOINT_API JourneySchedule(); AWS_PINPOINT_API JourneySchedule(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINT_API JourneySchedule& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINT_API Aws::Utils::Json::JsonValue Jsonize() const; /** * <p>The scheduled time, in ISO 8601 format, when the journey ended or will * end.</p> */ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** * <p>The scheduled time, in ISO 8601 format, when the journey ended or will * end.</p> */ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** * <p>The scheduled time, in ISO 8601 format, when the journey ended or will * end.</p> */ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** * <p>The scheduled time, in ISO 8601 format, when the journey ended or will * end.</p> */ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** * <p>The scheduled time, in ISO 8601 format, when the journey ended or will * end.</p> */ inline JourneySchedule& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** * <p>The scheduled time, in ISO 8601 format, when the journey ended or will * end.</p> */ inline JourneySchedule& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} /** * <p>The scheduled time, in ISO 8601 format, when the journey began or will * begin.</p> */ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** * <p>The scheduled time, in ISO 8601 format, when the journey began or will * begin.</p> */ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** * <p>The scheduled time, in ISO 8601 format, when the journey began or will * begin.</p> */ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** * <p>The scheduled time, in ISO 8601 format, when the journey began or will * begin.</p> */ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** * <p>The scheduled time, in ISO 8601 format, when the journey began or will * begin.</p> */ inline JourneySchedule& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** * <p>The scheduled time, in ISO 8601 format, when the journey began or will * begin.</p> */ inline JourneySchedule& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** * <p>The starting UTC offset for the journey schedule, if the value of the * journey's LocalTime property is true. Valid values are: UTC, * UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, * UTC+05:45, UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, * UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02, * UTC-02:30, UTC-03, UTC-03:30, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, * UTC-09:30, UTC-10, and UTC-11.</p> */ inline const Aws::String& GetTimezone() const{ return m_timezone; } /** * <p>The starting UTC offset for the journey schedule, if the value of the * journey's LocalTime property is true. Valid values are: UTC, * UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, * UTC+05:45, UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, * UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02, * UTC-02:30, UTC-03, UTC-03:30, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, * UTC-09:30, UTC-10, and UTC-11.</p> */ inline bool TimezoneHasBeenSet() const { return m_timezoneHasBeenSet; } /** * <p>The starting UTC offset for the journey schedule, if the value of the * journey's LocalTime property is true. Valid values are: UTC, * UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, * UTC+05:45, UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, * UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02, * UTC-02:30, UTC-03, UTC-03:30, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, * UTC-09:30, UTC-10, and UTC-11.</p> */ inline void SetTimezone(const Aws::String& value) { m_timezoneHasBeenSet = true; m_timezone = value; } /** * <p>The starting UTC offset for the journey schedule, if the value of the * journey's LocalTime property is true. Valid values are: UTC, * UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, * UTC+05:45, UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, * UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02, * UTC-02:30, UTC-03, UTC-03:30, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, * UTC-09:30, UTC-10, and UTC-11.</p> */ inline void SetTimezone(Aws::String&& value) { m_timezoneHasBeenSet = true; m_timezone = std::move(value); } /** * <p>The starting UTC offset for the journey schedule, if the value of the * journey's LocalTime property is true. Valid values are: UTC, * UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, * UTC+05:45, UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, * UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02, * UTC-02:30, UTC-03, UTC-03:30, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, * UTC-09:30, UTC-10, and UTC-11.</p> */ inline void SetTimezone(const char* value) { m_timezoneHasBeenSet = true; m_timezone.assign(value); } /** * <p>The starting UTC offset for the journey schedule, if the value of the * journey's LocalTime property is true. Valid values are: UTC, * UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, * UTC+05:45, UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, * UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02, * UTC-02:30, UTC-03, UTC-03:30, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, * UTC-09:30, UTC-10, and UTC-11.</p> */ inline JourneySchedule& WithTimezone(const Aws::String& value) { SetTimezone(value); return *this;} /** * <p>The starting UTC offset for the journey schedule, if the value of the * journey's LocalTime property is true. Valid values are: UTC, * UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, * UTC+05:45, UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, * UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02, * UTC-02:30, UTC-03, UTC-03:30, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, * UTC-09:30, UTC-10, and UTC-11.</p> */ inline JourneySchedule& WithTimezone(Aws::String&& value) { SetTimezone(std::move(value)); return *this;} /** * <p>The starting UTC offset for the journey schedule, if the value of the * journey's LocalTime property is true. Valid values are: UTC, * UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, * UTC+05:45, UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, * UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02, * UTC-02:30, UTC-03, UTC-03:30, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, * UTC-09:30, UTC-10, and UTC-11.</p> */ inline JourneySchedule& WithTimezone(const char* value) { SetTimezone(value); return *this;} private: Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::String m_timezone; bool m_timezoneHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws