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/xray/XRay_EXPORTS.h>
8 #include <aws/xray/XRayRequest.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <aws/core/utils/DateTime.h>
12 #include <aws/xray/model/InsightState.h>
13 #include <utility>
14 
15 namespace Aws
16 {
17 namespace XRay
18 {
19 namespace Model
20 {
21 
22   /**
23    */
24   class AWS_XRAY_API GetInsightSummariesRequest : public XRayRequest
25   {
26   public:
27     GetInsightSummariesRequest();
28 
29     // Service request name is the Operation name which will send this request out,
30     // each operation should has unique request name, so that we can get operation's name from this request.
31     // Note: this is not true for response, multiple operations may have the same response name,
32     // so we can not get operation's name from response.
GetServiceRequestName()33     inline virtual const char* GetServiceRequestName() const override { return "GetInsightSummaries"; }
34 
35     Aws::String SerializePayload() const override;
36 
37 
38     /**
39      * <p>The list of insight states. </p>
40      */
GetStates()41     inline const Aws::Vector<InsightState>& GetStates() const{ return m_states; }
42 
43     /**
44      * <p>The list of insight states. </p>
45      */
StatesHasBeenSet()46     inline bool StatesHasBeenSet() const { return m_statesHasBeenSet; }
47 
48     /**
49      * <p>The list of insight states. </p>
50      */
SetStates(const Aws::Vector<InsightState> & value)51     inline void SetStates(const Aws::Vector<InsightState>& value) { m_statesHasBeenSet = true; m_states = value; }
52 
53     /**
54      * <p>The list of insight states. </p>
55      */
SetStates(Aws::Vector<InsightState> && value)56     inline void SetStates(Aws::Vector<InsightState>&& value) { m_statesHasBeenSet = true; m_states = std::move(value); }
57 
58     /**
59      * <p>The list of insight states. </p>
60      */
WithStates(const Aws::Vector<InsightState> & value)61     inline GetInsightSummariesRequest& WithStates(const Aws::Vector<InsightState>& value) { SetStates(value); return *this;}
62 
63     /**
64      * <p>The list of insight states. </p>
65      */
WithStates(Aws::Vector<InsightState> && value)66     inline GetInsightSummariesRequest& WithStates(Aws::Vector<InsightState>&& value) { SetStates(std::move(value)); return *this;}
67 
68     /**
69      * <p>The list of insight states. </p>
70      */
AddStates(const InsightState & value)71     inline GetInsightSummariesRequest& AddStates(const InsightState& value) { m_statesHasBeenSet = true; m_states.push_back(value); return *this; }
72 
73     /**
74      * <p>The list of insight states. </p>
75      */
AddStates(InsightState && value)76     inline GetInsightSummariesRequest& AddStates(InsightState&& value) { m_statesHasBeenSet = true; m_states.push_back(std::move(value)); return *this; }
77 
78 
79     /**
80      * <p>The Amazon Resource Name (ARN) of the group. Required if the GroupName isn't
81      * provided.</p>
82      */
GetGroupARN()83     inline const Aws::String& GetGroupARN() const{ return m_groupARN; }
84 
85     /**
86      * <p>The Amazon Resource Name (ARN) of the group. Required if the GroupName isn't
87      * provided.</p>
88      */
GroupARNHasBeenSet()89     inline bool GroupARNHasBeenSet() const { return m_groupARNHasBeenSet; }
90 
91     /**
92      * <p>The Amazon Resource Name (ARN) of the group. Required if the GroupName isn't
93      * provided.</p>
94      */
SetGroupARN(const Aws::String & value)95     inline void SetGroupARN(const Aws::String& value) { m_groupARNHasBeenSet = true; m_groupARN = value; }
96 
97     /**
98      * <p>The Amazon Resource Name (ARN) of the group. Required if the GroupName isn't
99      * provided.</p>
100      */
SetGroupARN(Aws::String && value)101     inline void SetGroupARN(Aws::String&& value) { m_groupARNHasBeenSet = true; m_groupARN = std::move(value); }
102 
103     /**
104      * <p>The Amazon Resource Name (ARN) of the group. Required if the GroupName isn't
105      * provided.</p>
106      */
SetGroupARN(const char * value)107     inline void SetGroupARN(const char* value) { m_groupARNHasBeenSet = true; m_groupARN.assign(value); }
108 
109     /**
110      * <p>The Amazon Resource Name (ARN) of the group. Required if the GroupName isn't
111      * provided.</p>
112      */
WithGroupARN(const Aws::String & value)113     inline GetInsightSummariesRequest& WithGroupARN(const Aws::String& value) { SetGroupARN(value); return *this;}
114 
115     /**
116      * <p>The Amazon Resource Name (ARN) of the group. Required if the GroupName isn't
117      * provided.</p>
118      */
WithGroupARN(Aws::String && value)119     inline GetInsightSummariesRequest& WithGroupARN(Aws::String&& value) { SetGroupARN(std::move(value)); return *this;}
120 
121     /**
122      * <p>The Amazon Resource Name (ARN) of the group. Required if the GroupName isn't
123      * provided.</p>
124      */
WithGroupARN(const char * value)125     inline GetInsightSummariesRequest& WithGroupARN(const char* value) { SetGroupARN(value); return *this;}
126 
127 
128     /**
129      * <p>The name of the group. Required if the GroupARN isn't provided.</p>
130      */
GetGroupName()131     inline const Aws::String& GetGroupName() const{ return m_groupName; }
132 
133     /**
134      * <p>The name of the group. Required if the GroupARN isn't provided.</p>
135      */
GroupNameHasBeenSet()136     inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; }
137 
138     /**
139      * <p>The name of the group. Required if the GroupARN isn't provided.</p>
140      */
SetGroupName(const Aws::String & value)141     inline void SetGroupName(const Aws::String& value) { m_groupNameHasBeenSet = true; m_groupName = value; }
142 
143     /**
144      * <p>The name of the group. Required if the GroupARN isn't provided.</p>
145      */
SetGroupName(Aws::String && value)146     inline void SetGroupName(Aws::String&& value) { m_groupNameHasBeenSet = true; m_groupName = std::move(value); }
147 
148     /**
149      * <p>The name of the group. Required if the GroupARN isn't provided.</p>
150      */
SetGroupName(const char * value)151     inline void SetGroupName(const char* value) { m_groupNameHasBeenSet = true; m_groupName.assign(value); }
152 
153     /**
154      * <p>The name of the group. Required if the GroupARN isn't provided.</p>
155      */
WithGroupName(const Aws::String & value)156     inline GetInsightSummariesRequest& WithGroupName(const Aws::String& value) { SetGroupName(value); return *this;}
157 
158     /**
159      * <p>The name of the group. Required if the GroupARN isn't provided.</p>
160      */
WithGroupName(Aws::String && value)161     inline GetInsightSummariesRequest& WithGroupName(Aws::String&& value) { SetGroupName(std::move(value)); return *this;}
162 
163     /**
164      * <p>The name of the group. Required if the GroupARN isn't provided.</p>
165      */
WithGroupName(const char * value)166     inline GetInsightSummariesRequest& WithGroupName(const char* value) { SetGroupName(value); return *this;}
167 
168 
169     /**
170      * <p>The beginning of the time frame in which the insights started. The start time
171      * can't be more than 30 days old.</p>
172      */
GetStartTime()173     inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
174 
175     /**
176      * <p>The beginning of the time frame in which the insights started. The start time
177      * can't be more than 30 days old.</p>
178      */
StartTimeHasBeenSet()179     inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
180 
181     /**
182      * <p>The beginning of the time frame in which the insights started. The start time
183      * can't be more than 30 days old.</p>
184      */
SetStartTime(const Aws::Utils::DateTime & value)185     inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
186 
187     /**
188      * <p>The beginning of the time frame in which the insights started. The start time
189      * can't be more than 30 days old.</p>
190      */
SetStartTime(Aws::Utils::DateTime && value)191     inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
192 
193     /**
194      * <p>The beginning of the time frame in which the insights started. The start time
195      * can't be more than 30 days old.</p>
196      */
WithStartTime(const Aws::Utils::DateTime & value)197     inline GetInsightSummariesRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
198 
199     /**
200      * <p>The beginning of the time frame in which the insights started. The start time
201      * can't be more than 30 days old.</p>
202      */
WithStartTime(Aws::Utils::DateTime && value)203     inline GetInsightSummariesRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
204 
205 
206     /**
207      * <p>The end of the time frame in which the insights ended. The end time can't be
208      * more than 30 days old.</p>
209      */
GetEndTime()210     inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
211 
212     /**
213      * <p>The end of the time frame in which the insights ended. The end time can't be
214      * more than 30 days old.</p>
215      */
EndTimeHasBeenSet()216     inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
217 
218     /**
219      * <p>The end of the time frame in which the insights ended. The end time can't be
220      * more than 30 days old.</p>
221      */
SetEndTime(const Aws::Utils::DateTime & value)222     inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
223 
224     /**
225      * <p>The end of the time frame in which the insights ended. The end time can't be
226      * more than 30 days old.</p>
227      */
SetEndTime(Aws::Utils::DateTime && value)228     inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
229 
230     /**
231      * <p>The end of the time frame in which the insights ended. The end time can't be
232      * more than 30 days old.</p>
233      */
WithEndTime(const Aws::Utils::DateTime & value)234     inline GetInsightSummariesRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
235 
236     /**
237      * <p>The end of the time frame in which the insights ended. The end time can't be
238      * more than 30 days old.</p>
239      */
WithEndTime(Aws::Utils::DateTime && value)240     inline GetInsightSummariesRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
241 
242 
243     /**
244      * <p>The maximum number of results to display.</p>
245      */
GetMaxResults()246     inline int GetMaxResults() const{ return m_maxResults; }
247 
248     /**
249      * <p>The maximum number of results to display.</p>
250      */
MaxResultsHasBeenSet()251     inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
252 
253     /**
254      * <p>The maximum number of results to display.</p>
255      */
SetMaxResults(int value)256     inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
257 
258     /**
259      * <p>The maximum number of results to display.</p>
260      */
WithMaxResults(int value)261     inline GetInsightSummariesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
262 
263 
264     /**
265      * <p>Pagination token.</p>
266      */
GetNextToken()267     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
268 
269     /**
270      * <p>Pagination token.</p>
271      */
NextTokenHasBeenSet()272     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
273 
274     /**
275      * <p>Pagination token.</p>
276      */
SetNextToken(const Aws::String & value)277     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
278 
279     /**
280      * <p>Pagination token.</p>
281      */
SetNextToken(Aws::String && value)282     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
283 
284     /**
285      * <p>Pagination token.</p>
286      */
SetNextToken(const char * value)287     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
288 
289     /**
290      * <p>Pagination token.</p>
291      */
WithNextToken(const Aws::String & value)292     inline GetInsightSummariesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
293 
294     /**
295      * <p>Pagination token.</p>
296      */
WithNextToken(Aws::String && value)297     inline GetInsightSummariesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
298 
299     /**
300      * <p>Pagination token.</p>
301      */
WithNextToken(const char * value)302     inline GetInsightSummariesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
303 
304   private:
305 
306     Aws::Vector<InsightState> m_states;
307     bool m_statesHasBeenSet;
308 
309     Aws::String m_groupARN;
310     bool m_groupARNHasBeenSet;
311 
312     Aws::String m_groupName;
313     bool m_groupNameHasBeenSet;
314 
315     Aws::Utils::DateTime m_startTime;
316     bool m_startTimeHasBeenSet;
317 
318     Aws::Utils::DateTime m_endTime;
319     bool m_endTimeHasBeenSet;
320 
321     int m_maxResults;
322     bool m_maxResultsHasBeenSet;
323 
324     Aws::String m_nextToken;
325     bool m_nextTokenHasBeenSet;
326   };
327 
328 } // namespace Model
329 } // namespace XRay
330 } // namespace Aws
331