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/pinpoint/Pinpoint_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.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 Pinpoint
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Specifies the start and end times that define a time range when messages
28    * aren't sent to endpoints.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/QuietTime">AWS
30    * API Reference</a></p>
31    */
32   class AWS_PINPOINT_API QuietTime
33   {
34   public:
35     QuietTime();
36     QuietTime(Aws::Utils::Json::JsonView jsonValue);
37     QuietTime& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The specific time when quiet time ends. This value has to use 24-hour
43      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
44      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
45      * or 14:30 to represent 2:30 PM.</p>
46      */
GetEnd()47     inline const Aws::String& GetEnd() const{ return m_end; }
48 
49     /**
50      * <p>The specific time when quiet time ends. This value has to use 24-hour
51      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
52      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
53      * or 14:30 to represent 2:30 PM.</p>
54      */
EndHasBeenSet()55     inline bool EndHasBeenSet() const { return m_endHasBeenSet; }
56 
57     /**
58      * <p>The specific time when quiet time ends. This value has to use 24-hour
59      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
60      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
61      * or 14:30 to represent 2:30 PM.</p>
62      */
SetEnd(const Aws::String & value)63     inline void SetEnd(const Aws::String& value) { m_endHasBeenSet = true; m_end = value; }
64 
65     /**
66      * <p>The specific time when quiet time ends. This value has to use 24-hour
67      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
68      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
69      * or 14:30 to represent 2:30 PM.</p>
70      */
SetEnd(Aws::String && value)71     inline void SetEnd(Aws::String&& value) { m_endHasBeenSet = true; m_end = std::move(value); }
72 
73     /**
74      * <p>The specific time when quiet time ends. This value has to use 24-hour
75      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
76      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
77      * or 14:30 to represent 2:30 PM.</p>
78      */
SetEnd(const char * value)79     inline void SetEnd(const char* value) { m_endHasBeenSet = true; m_end.assign(value); }
80 
81     /**
82      * <p>The specific time when quiet time ends. This value has to use 24-hour
83      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
84      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
85      * or 14:30 to represent 2:30 PM.</p>
86      */
WithEnd(const Aws::String & value)87     inline QuietTime& WithEnd(const Aws::String& value) { SetEnd(value); return *this;}
88 
89     /**
90      * <p>The specific time when quiet time ends. This value has to use 24-hour
91      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
92      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
93      * or 14:30 to represent 2:30 PM.</p>
94      */
WithEnd(Aws::String && value)95     inline QuietTime& WithEnd(Aws::String&& value) { SetEnd(std::move(value)); return *this;}
96 
97     /**
98      * <p>The specific time when quiet time ends. This value has to use 24-hour
99      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
100      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
101      * or 14:30 to represent 2:30 PM.</p>
102      */
WithEnd(const char * value)103     inline QuietTime& WithEnd(const char* value) { SetEnd(value); return *this;}
104 
105 
106     /**
107      * <p>The specific time when quiet time begins. This value has to use 24-hour
108      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
109      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
110      * or 14:30 to represent 2:30 PM.</p>
111      */
GetStart()112     inline const Aws::String& GetStart() const{ return m_start; }
113 
114     /**
115      * <p>The specific time when quiet time begins. This value has to use 24-hour
116      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
117      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
118      * or 14:30 to represent 2:30 PM.</p>
119      */
StartHasBeenSet()120     inline bool StartHasBeenSet() const { return m_startHasBeenSet; }
121 
122     /**
123      * <p>The specific time when quiet time begins. This value has to use 24-hour
124      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
125      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
126      * or 14:30 to represent 2:30 PM.</p>
127      */
SetStart(const Aws::String & value)128     inline void SetStart(const Aws::String& value) { m_startHasBeenSet = true; m_start = value; }
129 
130     /**
131      * <p>The specific time when quiet time begins. This value has to use 24-hour
132      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
133      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
134      * or 14:30 to represent 2:30 PM.</p>
135      */
SetStart(Aws::String && value)136     inline void SetStart(Aws::String&& value) { m_startHasBeenSet = true; m_start = std::move(value); }
137 
138     /**
139      * <p>The specific time when quiet time begins. This value has to use 24-hour
140      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
141      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
142      * or 14:30 to represent 2:30 PM.</p>
143      */
SetStart(const char * value)144     inline void SetStart(const char* value) { m_startHasBeenSet = true; m_start.assign(value); }
145 
146     /**
147      * <p>The specific time when quiet time begins. This value has to use 24-hour
148      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
149      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
150      * or 14:30 to represent 2:30 PM.</p>
151      */
WithStart(const Aws::String & value)152     inline QuietTime& WithStart(const Aws::String& value) { SetStart(value); return *this;}
153 
154     /**
155      * <p>The specific time when quiet time begins. This value has to use 24-hour
156      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
157      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
158      * or 14:30 to represent 2:30 PM.</p>
159      */
WithStart(Aws::String && value)160     inline QuietTime& WithStart(Aws::String&& value) { SetStart(std::move(value)); return *this;}
161 
162     /**
163      * <p>The specific time when quiet time begins. This value has to use 24-hour
164      * notation and be in HH:MM format, where HH is the hour (with a leading zero, if
165      * applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM,
166      * or 14:30 to represent 2:30 PM.</p>
167      */
WithStart(const char * value)168     inline QuietTime& WithStart(const char* value) { SetStart(value); return *this;}
169 
170   private:
171 
172     Aws::String m_end;
173     bool m_endHasBeenSet;
174 
175     Aws::String m_start;
176     bool m_startHasBeenSet;
177   };
178 
179 } // namespace Model
180 } // namespace Pinpoint
181 } // namespace Aws
182