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/codeguruprofiler/CodeGuruProfiler_EXPORTS.h> 8 #include <aws/codeguruprofiler/CodeGuruProfilerRequest.h> 9 #include <aws/core/utils/DateTime.h> 10 #include <aws/core/utils/memory/stl/AWSString.h> 11 #include <aws/codeguruprofiler/model/OrderBy.h> 12 #include <aws/codeguruprofiler/model/AggregationPeriod.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Http 18 { 19 class URI; 20 } //namespace Http 21 namespace CodeGuruProfiler 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>The structure representing the listProfileTimesRequest.</p><p><h3>See 28 * Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfileTimesRequest">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_CODEGURUPROFILER_API ListProfileTimesRequest : public CodeGuruProfilerRequest 33 { 34 public: 35 ListProfileTimesRequest(); 36 37 // Service request name is the Operation name which will send this request out, 38 // each operation should has unique request name, so that we can get operation's name from this request. 39 // Note: this is not true for response, multiple operations may have the same response name, 40 // so we can not get operation's name from response. GetServiceRequestName()41 inline virtual const char* GetServiceRequestName() const override { return "ListProfileTimes"; } 42 43 Aws::String SerializePayload() const override; 44 45 void AddQueryStringParameters(Aws::Http::URI& uri) const override; 46 47 48 /** 49 * <p>The end time of the time range from which to list the profiles.</p> 50 */ GetEndTime()51 inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } 52 53 /** 54 * <p>The end time of the time range from which to list the profiles.</p> 55 */ EndTimeHasBeenSet()56 inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } 57 58 /** 59 * <p>The end time of the time range from which to list the profiles.</p> 60 */ SetEndTime(const Aws::Utils::DateTime & value)61 inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } 62 63 /** 64 * <p>The end time of the time range from which to list the profiles.</p> 65 */ SetEndTime(Aws::Utils::DateTime && value)66 inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } 67 68 /** 69 * <p>The end time of the time range from which to list the profiles.</p> 70 */ WithEndTime(const Aws::Utils::DateTime & value)71 inline ListProfileTimesRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} 72 73 /** 74 * <p>The end time of the time range from which to list the profiles.</p> 75 */ WithEndTime(Aws::Utils::DateTime && value)76 inline ListProfileTimesRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} 77 78 79 /** 80 * <p>The maximum number of profile time results returned by 81 * <code>ListProfileTimes</code> in paginated output. When this parameter is used, 82 * <code>ListProfileTimes</code> only returns <code>maxResults</code> results in a 83 * single page with a <code>nextToken</code> response element. The remaining 84 * results of the initial request can be seen by sending another 85 * <code>ListProfileTimes</code> request with the returned <code>nextToken</code> 86 * value. </p> 87 */ GetMaxResults()88 inline int GetMaxResults() const{ return m_maxResults; } 89 90 /** 91 * <p>The maximum number of profile time results returned by 92 * <code>ListProfileTimes</code> in paginated output. When this parameter is used, 93 * <code>ListProfileTimes</code> only returns <code>maxResults</code> results in a 94 * single page with a <code>nextToken</code> response element. The remaining 95 * results of the initial request can be seen by sending another 96 * <code>ListProfileTimes</code> request with the returned <code>nextToken</code> 97 * value. </p> 98 */ MaxResultsHasBeenSet()99 inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } 100 101 /** 102 * <p>The maximum number of profile time results returned by 103 * <code>ListProfileTimes</code> in paginated output. When this parameter is used, 104 * <code>ListProfileTimes</code> only returns <code>maxResults</code> results in a 105 * single page with a <code>nextToken</code> response element. The remaining 106 * results of the initial request can be seen by sending another 107 * <code>ListProfileTimes</code> request with the returned <code>nextToken</code> 108 * value. </p> 109 */ SetMaxResults(int value)110 inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } 111 112 /** 113 * <p>The maximum number of profile time results returned by 114 * <code>ListProfileTimes</code> in paginated output. When this parameter is used, 115 * <code>ListProfileTimes</code> only returns <code>maxResults</code> results in a 116 * single page with a <code>nextToken</code> response element. The remaining 117 * results of the initial request can be seen by sending another 118 * <code>ListProfileTimes</code> request with the returned <code>nextToken</code> 119 * value. </p> 120 */ WithMaxResults(int value)121 inline ListProfileTimesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} 122 123 124 /** 125 * <p>The <code>nextToken</code> value returned from a previous paginated 126 * <code>ListProfileTimes</code> request where <code>maxResults</code> was used and 127 * the results exceeded the value of that parameter. Pagination continues from the 128 * end of the previous results that returned the <code>nextToken</code> value. </p> 129 * <p>This token should be treated as an opaque identifier that is only used 130 * to retrieve the next items in a list and not for other programmatic 131 * purposes.</p> 132 */ GetNextToken()133 inline const Aws::String& GetNextToken() const{ return m_nextToken; } 134 135 /** 136 * <p>The <code>nextToken</code> value returned from a previous paginated 137 * <code>ListProfileTimes</code> request where <code>maxResults</code> was used and 138 * the results exceeded the value of that parameter. Pagination continues from the 139 * end of the previous results that returned the <code>nextToken</code> value. </p> 140 * <p>This token should be treated as an opaque identifier that is only used 141 * to retrieve the next items in a list and not for other programmatic 142 * purposes.</p> 143 */ NextTokenHasBeenSet()144 inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } 145 146 /** 147 * <p>The <code>nextToken</code> value returned from a previous paginated 148 * <code>ListProfileTimes</code> request where <code>maxResults</code> was used and 149 * the results exceeded the value of that parameter. Pagination continues from the 150 * end of the previous results that returned the <code>nextToken</code> value. </p> 151 * <p>This token should be treated as an opaque identifier that is only used 152 * to retrieve the next items in a list and not for other programmatic 153 * purposes.</p> 154 */ SetNextToken(const Aws::String & value)155 inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } 156 157 /** 158 * <p>The <code>nextToken</code> value returned from a previous paginated 159 * <code>ListProfileTimes</code> request where <code>maxResults</code> was used and 160 * the results exceeded the value of that parameter. Pagination continues from the 161 * end of the previous results that returned the <code>nextToken</code> value. </p> 162 * <p>This token should be treated as an opaque identifier that is only used 163 * to retrieve the next items in a list and not for other programmatic 164 * purposes.</p> 165 */ SetNextToken(Aws::String && value)166 inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } 167 168 /** 169 * <p>The <code>nextToken</code> value returned from a previous paginated 170 * <code>ListProfileTimes</code> request where <code>maxResults</code> was used and 171 * the results exceeded the value of that parameter. Pagination continues from the 172 * end of the previous results that returned the <code>nextToken</code> value. </p> 173 * <p>This token should be treated as an opaque identifier that is only used 174 * to retrieve the next items in a list and not for other programmatic 175 * purposes.</p> 176 */ SetNextToken(const char * value)177 inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } 178 179 /** 180 * <p>The <code>nextToken</code> value returned from a previous paginated 181 * <code>ListProfileTimes</code> request where <code>maxResults</code> was used and 182 * the results exceeded the value of that parameter. Pagination continues from the 183 * end of the previous results that returned the <code>nextToken</code> value. </p> 184 * <p>This token should be treated as an opaque identifier that is only used 185 * to retrieve the next items in a list and not for other programmatic 186 * purposes.</p> 187 */ WithNextToken(const Aws::String & value)188 inline ListProfileTimesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} 189 190 /** 191 * <p>The <code>nextToken</code> value returned from a previous paginated 192 * <code>ListProfileTimes</code> request where <code>maxResults</code> was used and 193 * the results exceeded the value of that parameter. Pagination continues from the 194 * end of the previous results that returned the <code>nextToken</code> value. </p> 195 * <p>This token should be treated as an opaque identifier that is only used 196 * to retrieve the next items in a list and not for other programmatic 197 * purposes.</p> 198 */ WithNextToken(Aws::String && value)199 inline ListProfileTimesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} 200 201 /** 202 * <p>The <code>nextToken</code> value returned from a previous paginated 203 * <code>ListProfileTimes</code> request where <code>maxResults</code> was used and 204 * the results exceeded the value of that parameter. Pagination continues from the 205 * end of the previous results that returned the <code>nextToken</code> value. </p> 206 * <p>This token should be treated as an opaque identifier that is only used 207 * to retrieve the next items in a list and not for other programmatic 208 * purposes.</p> 209 */ WithNextToken(const char * value)210 inline ListProfileTimesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} 211 212 213 /** 214 * <p>The order (ascending or descending by start time of the profile) to use when 215 * listing profiles. Defaults to <code>TIMESTAMP_DESCENDING</code>. </p> 216 */ GetOrderBy()217 inline const OrderBy& GetOrderBy() const{ return m_orderBy; } 218 219 /** 220 * <p>The order (ascending or descending by start time of the profile) to use when 221 * listing profiles. Defaults to <code>TIMESTAMP_DESCENDING</code>. </p> 222 */ OrderByHasBeenSet()223 inline bool OrderByHasBeenSet() const { return m_orderByHasBeenSet; } 224 225 /** 226 * <p>The order (ascending or descending by start time of the profile) to use when 227 * listing profiles. Defaults to <code>TIMESTAMP_DESCENDING</code>. </p> 228 */ SetOrderBy(const OrderBy & value)229 inline void SetOrderBy(const OrderBy& value) { m_orderByHasBeenSet = true; m_orderBy = value; } 230 231 /** 232 * <p>The order (ascending or descending by start time of the profile) to use when 233 * listing profiles. Defaults to <code>TIMESTAMP_DESCENDING</code>. </p> 234 */ SetOrderBy(OrderBy && value)235 inline void SetOrderBy(OrderBy&& value) { m_orderByHasBeenSet = true; m_orderBy = std::move(value); } 236 237 /** 238 * <p>The order (ascending or descending by start time of the profile) to use when 239 * listing profiles. Defaults to <code>TIMESTAMP_DESCENDING</code>. </p> 240 */ WithOrderBy(const OrderBy & value)241 inline ListProfileTimesRequest& WithOrderBy(const OrderBy& value) { SetOrderBy(value); return *this;} 242 243 /** 244 * <p>The order (ascending or descending by start time of the profile) to use when 245 * listing profiles. Defaults to <code>TIMESTAMP_DESCENDING</code>. </p> 246 */ WithOrderBy(OrderBy && value)247 inline ListProfileTimesRequest& WithOrderBy(OrderBy&& value) { SetOrderBy(std::move(value)); return *this;} 248 249 250 /** 251 * <p> The aggregation period. This specifies the period during which an 252 * aggregation profile collects posted agent profiles for a profiling group. There 253 * are 3 valid values. </p> <ul> <li> <p> <code>P1D</code> — 1 day </p> </li> <li> 254 * <p> <code>PT1H</code> — 1 hour </p> </li> <li> <p> <code>PT5M</code> — 5 minutes 255 * </p> </li> </ul> 256 */ GetPeriod()257 inline const AggregationPeriod& GetPeriod() const{ return m_period; } 258 259 /** 260 * <p> The aggregation period. This specifies the period during which an 261 * aggregation profile collects posted agent profiles for a profiling group. There 262 * are 3 valid values. </p> <ul> <li> <p> <code>P1D</code> — 1 day </p> </li> <li> 263 * <p> <code>PT1H</code> — 1 hour </p> </li> <li> <p> <code>PT5M</code> — 5 minutes 264 * </p> </li> </ul> 265 */ PeriodHasBeenSet()266 inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; } 267 268 /** 269 * <p> The aggregation period. This specifies the period during which an 270 * aggregation profile collects posted agent profiles for a profiling group. There 271 * are 3 valid values. </p> <ul> <li> <p> <code>P1D</code> — 1 day </p> </li> <li> 272 * <p> <code>PT1H</code> — 1 hour </p> </li> <li> <p> <code>PT5M</code> — 5 minutes 273 * </p> </li> </ul> 274 */ SetPeriod(const AggregationPeriod & value)275 inline void SetPeriod(const AggregationPeriod& value) { m_periodHasBeenSet = true; m_period = value; } 276 277 /** 278 * <p> The aggregation period. This specifies the period during which an 279 * aggregation profile collects posted agent profiles for a profiling group. There 280 * are 3 valid values. </p> <ul> <li> <p> <code>P1D</code> — 1 day </p> </li> <li> 281 * <p> <code>PT1H</code> — 1 hour </p> </li> <li> <p> <code>PT5M</code> — 5 minutes 282 * </p> </li> </ul> 283 */ SetPeriod(AggregationPeriod && value)284 inline void SetPeriod(AggregationPeriod&& value) { m_periodHasBeenSet = true; m_period = std::move(value); } 285 286 /** 287 * <p> The aggregation period. This specifies the period during which an 288 * aggregation profile collects posted agent profiles for a profiling group. There 289 * are 3 valid values. </p> <ul> <li> <p> <code>P1D</code> — 1 day </p> </li> <li> 290 * <p> <code>PT1H</code> — 1 hour </p> </li> <li> <p> <code>PT5M</code> — 5 minutes 291 * </p> </li> </ul> 292 */ WithPeriod(const AggregationPeriod & value)293 inline ListProfileTimesRequest& WithPeriod(const AggregationPeriod& value) { SetPeriod(value); return *this;} 294 295 /** 296 * <p> The aggregation period. This specifies the period during which an 297 * aggregation profile collects posted agent profiles for a profiling group. There 298 * are 3 valid values. </p> <ul> <li> <p> <code>P1D</code> — 1 day </p> </li> <li> 299 * <p> <code>PT1H</code> — 1 hour </p> </li> <li> <p> <code>PT5M</code> — 5 minutes 300 * </p> </li> </ul> 301 */ WithPeriod(AggregationPeriod && value)302 inline ListProfileTimesRequest& WithPeriod(AggregationPeriod&& value) { SetPeriod(std::move(value)); return *this;} 303 304 305 /** 306 * <p>The name of the profiling group.</p> 307 */ GetProfilingGroupName()308 inline const Aws::String& GetProfilingGroupName() const{ return m_profilingGroupName; } 309 310 /** 311 * <p>The name of the profiling group.</p> 312 */ ProfilingGroupNameHasBeenSet()313 inline bool ProfilingGroupNameHasBeenSet() const { return m_profilingGroupNameHasBeenSet; } 314 315 /** 316 * <p>The name of the profiling group.</p> 317 */ SetProfilingGroupName(const Aws::String & value)318 inline void SetProfilingGroupName(const Aws::String& value) { m_profilingGroupNameHasBeenSet = true; m_profilingGroupName = value; } 319 320 /** 321 * <p>The name of the profiling group.</p> 322 */ SetProfilingGroupName(Aws::String && value)323 inline void SetProfilingGroupName(Aws::String&& value) { m_profilingGroupNameHasBeenSet = true; m_profilingGroupName = std::move(value); } 324 325 /** 326 * <p>The name of the profiling group.</p> 327 */ SetProfilingGroupName(const char * value)328 inline void SetProfilingGroupName(const char* value) { m_profilingGroupNameHasBeenSet = true; m_profilingGroupName.assign(value); } 329 330 /** 331 * <p>The name of the profiling group.</p> 332 */ WithProfilingGroupName(const Aws::String & value)333 inline ListProfileTimesRequest& WithProfilingGroupName(const Aws::String& value) { SetProfilingGroupName(value); return *this;} 334 335 /** 336 * <p>The name of the profiling group.</p> 337 */ WithProfilingGroupName(Aws::String && value)338 inline ListProfileTimesRequest& WithProfilingGroupName(Aws::String&& value) { SetProfilingGroupName(std::move(value)); return *this;} 339 340 /** 341 * <p>The name of the profiling group.</p> 342 */ WithProfilingGroupName(const char * value)343 inline ListProfileTimesRequest& WithProfilingGroupName(const char* value) { SetProfilingGroupName(value); return *this;} 344 345 346 /** 347 * <p>The start time of the time range from which to list the profiles.</p> 348 */ GetStartTime()349 inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } 350 351 /** 352 * <p>The start time of the time range from which to list the profiles.</p> 353 */ StartTimeHasBeenSet()354 inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } 355 356 /** 357 * <p>The start time of the time range from which to list the profiles.</p> 358 */ SetStartTime(const Aws::Utils::DateTime & value)359 inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } 360 361 /** 362 * <p>The start time of the time range from which to list the profiles.</p> 363 */ SetStartTime(Aws::Utils::DateTime && value)364 inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } 365 366 /** 367 * <p>The start time of the time range from which to list the profiles.</p> 368 */ WithStartTime(const Aws::Utils::DateTime & value)369 inline ListProfileTimesRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} 370 371 /** 372 * <p>The start time of the time range from which to list the profiles.</p> 373 */ WithStartTime(Aws::Utils::DateTime && value)374 inline ListProfileTimesRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} 375 376 private: 377 378 Aws::Utils::DateTime m_endTime; 379 bool m_endTimeHasBeenSet; 380 381 int m_maxResults; 382 bool m_maxResultsHasBeenSet; 383 384 Aws::String m_nextToken; 385 bool m_nextTokenHasBeenSet; 386 387 OrderBy m_orderBy; 388 bool m_orderByHasBeenSet; 389 390 AggregationPeriod m_period; 391 bool m_periodHasBeenSet; 392 393 Aws::String m_profilingGroupName; 394 bool m_profilingGroupNameHasBeenSet; 395 396 Aws::Utils::DateTime m_startTime; 397 bool m_startTimeHasBeenSet; 398 }; 399 400 } // namespace Model 401 } // namespace CodeGuruProfiler 402 } // namespace Aws 403