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

Date and time (UTC) format in RFC 3339 : * 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

See Also:

AWS * API Reference

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

A JSON object containing start and date time (UTC). Date and time format is * RFC 3339 : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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

A JSON object containing start and date time (UTC). Date and time format is * RFC 3339 : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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

A JSON object containing start and date time (UTC). Date and time format is * RFC 3339 : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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

A JSON object containing start and date time (UTC). Date and time format is * RFC 3339 : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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

A JSON object containing start and date time (UTC). Date and time format is * RFC 3339 : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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

A JSON object containing start and date time (UTC). Date and time format is * RFC 3339 : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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

A JSON object containing start and date time (UTC). Date and time format is * RFC 3339 : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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

A JSON object containing start and date time (UTC). Date and time format is * RFC 3339 : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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

End Date Time (UTC). RFC 3339 format : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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

End Date Time (UTC). RFC 3339 format : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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

End Date Time (UTC). RFC 3339 format : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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

End Date Time (UTC). RFC 3339 format : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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

End Date Time (UTC). RFC 3339 format : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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

End Date Time (UTC). RFC 3339 format : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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

End Date Time (UTC). RFC 3339 format : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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

End Date Time (UTC). RFC 3339 format : 'yyyy-MM-dd'T'HH:mm:ss.SSSZZ'.

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