/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

The start day and time and the end day and time of the time range, in * UTC.

See Also:

AWS * API Reference

*/ class InstanceEventWindowTimeRange { public: AWS_EC2_API InstanceEventWindowTimeRange(); AWS_EC2_API InstanceEventWindowTimeRange(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API InstanceEventWindowTimeRange& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The day on which the time range begins.

*/ inline const WeekDay& GetStartWeekDay() const{ return m_startWeekDay; } /** *

The day on which the time range begins.

*/ inline bool StartWeekDayHasBeenSet() const { return m_startWeekDayHasBeenSet; } /** *

The day on which the time range begins.

*/ inline void SetStartWeekDay(const WeekDay& value) { m_startWeekDayHasBeenSet = true; m_startWeekDay = value; } /** *

The day on which the time range begins.

*/ inline void SetStartWeekDay(WeekDay&& value) { m_startWeekDayHasBeenSet = true; m_startWeekDay = std::move(value); } /** *

The day on which the time range begins.

*/ inline InstanceEventWindowTimeRange& WithStartWeekDay(const WeekDay& value) { SetStartWeekDay(value); return *this;} /** *

The day on which the time range begins.

*/ inline InstanceEventWindowTimeRange& WithStartWeekDay(WeekDay&& value) { SetStartWeekDay(std::move(value)); return *this;} /** *

The hour when the time range begins.

*/ inline int GetStartHour() const{ return m_startHour; } /** *

The hour when the time range begins.

*/ inline bool StartHourHasBeenSet() const { return m_startHourHasBeenSet; } /** *

The hour when the time range begins.

*/ inline void SetStartHour(int value) { m_startHourHasBeenSet = true; m_startHour = value; } /** *

The hour when the time range begins.

*/ inline InstanceEventWindowTimeRange& WithStartHour(int value) { SetStartHour(value); return *this;} /** *

The day on which the time range ends.

*/ inline const WeekDay& GetEndWeekDay() const{ return m_endWeekDay; } /** *

The day on which the time range ends.

*/ inline bool EndWeekDayHasBeenSet() const { return m_endWeekDayHasBeenSet; } /** *

The day on which the time range ends.

*/ inline void SetEndWeekDay(const WeekDay& value) { m_endWeekDayHasBeenSet = true; m_endWeekDay = value; } /** *

The day on which the time range ends.

*/ inline void SetEndWeekDay(WeekDay&& value) { m_endWeekDayHasBeenSet = true; m_endWeekDay = std::move(value); } /** *

The day on which the time range ends.

*/ inline InstanceEventWindowTimeRange& WithEndWeekDay(const WeekDay& value) { SetEndWeekDay(value); return *this;} /** *

The day on which the time range ends.

*/ inline InstanceEventWindowTimeRange& WithEndWeekDay(WeekDay&& value) { SetEndWeekDay(std::move(value)); return *this;} /** *

The hour when the time range ends.

*/ inline int GetEndHour() const{ return m_endHour; } /** *

The hour when the time range ends.

*/ inline bool EndHourHasBeenSet() const { return m_endHourHasBeenSet; } /** *

The hour when the time range ends.

*/ inline void SetEndHour(int value) { m_endHourHasBeenSet = true; m_endHour = value; } /** *

The hour when the time range ends.

*/ inline InstanceEventWindowTimeRange& WithEndHour(int value) { SetEndHour(value); return *this;} private: WeekDay m_startWeekDay; bool m_startWeekDayHasBeenSet = false; int m_startHour; bool m_startHourHasBeenSet = false; WeekDay m_endWeekDay; bool m_endWeekDayHasBeenSet = false; int m_endHour; bool m_endHourHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws