1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/ssm-contacts/SSMContacts_EXPORTS.h> 8 #include <aws/core/utils/DateTime.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace SSMContacts 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>A range of between two set times</p><p><h3>See Also:</h3> <a 28 * href="http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/TimeRange">AWS 29 * API Reference</a></p> 30 */ 31 class AWS_SSMCONTACTS_API TimeRange 32 { 33 public: 34 TimeRange(); 35 TimeRange(Aws::Utils::Json::JsonView jsonValue); 36 TimeRange& operator=(Aws::Utils::Json::JsonView jsonValue); 37 Aws::Utils::Json::JsonValue Jsonize() const; 38 39 40 /** 41 * <p>The start of the time range.</p> 42 */ GetStartTime()43 inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } 44 45 /** 46 * <p>The start of the time range.</p> 47 */ StartTimeHasBeenSet()48 inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } 49 50 /** 51 * <p>The start of the time range.</p> 52 */ SetStartTime(const Aws::Utils::DateTime & value)53 inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } 54 55 /** 56 * <p>The start of the time range.</p> 57 */ SetStartTime(Aws::Utils::DateTime && value)58 inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } 59 60 /** 61 * <p>The start of the time range.</p> 62 */ WithStartTime(const Aws::Utils::DateTime & value)63 inline TimeRange& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} 64 65 /** 66 * <p>The start of the time range.</p> 67 */ WithStartTime(Aws::Utils::DateTime && value)68 inline TimeRange& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} 69 70 71 /** 72 * <p>The end of the time range.</p> 73 */ GetEndTime()74 inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } 75 76 /** 77 * <p>The end of the time range.</p> 78 */ EndTimeHasBeenSet()79 inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } 80 81 /** 82 * <p>The end of the time range.</p> 83 */ SetEndTime(const Aws::Utils::DateTime & value)84 inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } 85 86 /** 87 * <p>The end of the time range.</p> 88 */ SetEndTime(Aws::Utils::DateTime && value)89 inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } 90 91 /** 92 * <p>The end of the time range.</p> 93 */ WithEndTime(const Aws::Utils::DateTime & value)94 inline TimeRange& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} 95 96 /** 97 * <p>The end of the time range.</p> 98 */ WithEndTime(Aws::Utils::DateTime && value)99 inline TimeRange& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} 100 101 private: 102 103 Aws::Utils::DateTime m_startTime; 104 bool m_startTimeHasBeenSet; 105 106 Aws::Utils::DateTime m_endTime; 107 bool m_endTimeHasBeenSet; 108 }; 109 110 } // namespace Model 111 } // namespace SSMContacts 112 } // namespace Aws 113