AWS SDK for C++  1.8.71
AWS SDK for C++
GetReservationUtilizationRequest.h
Go to the documentation of this file.
1 
6 #pragma once
15 #include <utility>
16 
17 namespace Aws
18 {
19 namespace CostExplorer
20 {
21 namespace Model
22 {
23 
27  {
28  public:
30 
31  // Service request name is the Operation name which will send this request out,
32  // each operation should has unique request name, so that we can get operation's name from this request.
33  // Note: this is not true for response, multiple operations may have the same response name,
34  // so we can not get operation's name from response.
35  inline virtual const char* GetServiceRequestName() const override { return "GetReservationUtilization"; }
36 
37  Aws::String SerializePayload() const override;
38 
39  Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
40 
41 
50  inline const DateInterval& GetTimePeriod() const{ return m_timePeriod; }
51 
60  inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
61 
70  inline void SetTimePeriod(const DateInterval& value) { m_timePeriodHasBeenSet = true; m_timePeriod = value; }
71 
80  inline void SetTimePeriod(DateInterval&& value) { m_timePeriodHasBeenSet = true; m_timePeriod = std::move(value); }
81 
90  inline GetReservationUtilizationRequest& WithTimePeriod(const DateInterval& value) { SetTimePeriod(value); return *this;}
91 
100  inline GetReservationUtilizationRequest& WithTimePeriod(DateInterval&& value) { SetTimePeriod(std::move(value)); return *this;}
101 
102 
106  inline const Aws::Vector<GroupDefinition>& GetGroupBy() const{ return m_groupBy; }
107 
111  inline bool GroupByHasBeenSet() const { return m_groupByHasBeenSet; }
112 
116  inline void SetGroupBy(const Aws::Vector<GroupDefinition>& value) { m_groupByHasBeenSet = true; m_groupBy = value; }
117 
121  inline void SetGroupBy(Aws::Vector<GroupDefinition>&& value) { m_groupByHasBeenSet = true; m_groupBy = std::move(value); }
122 
126  inline GetReservationUtilizationRequest& WithGroupBy(const Aws::Vector<GroupDefinition>& value) { SetGroupBy(value); return *this;}
127 
131  inline GetReservationUtilizationRequest& WithGroupBy(Aws::Vector<GroupDefinition>&& value) { SetGroupBy(std::move(value)); return *this;}
132 
136  inline GetReservationUtilizationRequest& AddGroupBy(const GroupDefinition& value) { m_groupByHasBeenSet = true; m_groupBy.push_back(value); return *this; }
137 
141  inline GetReservationUtilizationRequest& AddGroupBy(GroupDefinition&& value) { m_groupByHasBeenSet = true; m_groupBy.push_back(std::move(value)); return *this; }
142 
143 
153  inline const Granularity& GetGranularity() const{ return m_granularity; }
154 
164  inline bool GranularityHasBeenSet() const { return m_granularityHasBeenSet; }
165 
175  inline void SetGranularity(const Granularity& value) { m_granularityHasBeenSet = true; m_granularity = value; }
176 
186  inline void SetGranularity(Granularity&& value) { m_granularityHasBeenSet = true; m_granularity = std::move(value); }
187 
197  inline GetReservationUtilizationRequest& WithGranularity(const Granularity& value) { SetGranularity(value); return *this;}
198 
208  inline GetReservationUtilizationRequest& WithGranularity(Granularity&& value) { SetGranularity(std::move(value)); return *this;}
209 
210 
224  inline const Expression& GetFilter() const{ return m_filter; }
225 
239  inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
240 
254  inline void SetFilter(const Expression& value) { m_filterHasBeenSet = true; m_filter = value; }
255 
269  inline void SetFilter(Expression&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); }
270 
284  inline GetReservationUtilizationRequest& WithFilter(const Expression& value) { SetFilter(value); return *this;}
285 
299  inline GetReservationUtilizationRequest& WithFilter(Expression&& value) { SetFilter(std::move(value)); return *this;}
300 
301 
307  inline const Aws::String& GetNextPageToken() const{ return m_nextPageToken; }
308 
314  inline bool NextPageTokenHasBeenSet() const { return m_nextPageTokenHasBeenSet; }
315 
321  inline void SetNextPageToken(const Aws::String& value) { m_nextPageTokenHasBeenSet = true; m_nextPageToken = value; }
322 
328  inline void SetNextPageToken(Aws::String&& value) { m_nextPageTokenHasBeenSet = true; m_nextPageToken = std::move(value); }
329 
335  inline void SetNextPageToken(const char* value) { m_nextPageTokenHasBeenSet = true; m_nextPageToken.assign(value); }
336 
342  inline GetReservationUtilizationRequest& WithNextPageToken(const Aws::String& value) { SetNextPageToken(value); return *this;}
343 
349  inline GetReservationUtilizationRequest& WithNextPageToken(Aws::String&& value) { SetNextPageToken(std::move(value)); return *this;}
350 
356  inline GetReservationUtilizationRequest& WithNextPageToken(const char* value) { SetNextPageToken(value); return *this;}
357 
358  private:
359 
360  DateInterval m_timePeriod;
361  bool m_timePeriodHasBeenSet;
362 
364  bool m_groupByHasBeenSet;
365 
366  Granularity m_granularity;
367  bool m_granularityHasBeenSet;
368 
369  Expression m_filter;
370  bool m_filterHasBeenSet;
371 
372  Aws::String m_nextPageToken;
373  bool m_nextPageTokenHasBeenSet;
374  };
375 
376 } // namespace Model
377 } // namespace CostExplorer
378 } // namespace Aws
GetReservationUtilizationRequest & AddGroupBy(GroupDefinition &&value)
GetReservationUtilizationRequest & WithFilter(const Expression &value)
GetReservationUtilizationRequest & WithNextPageToken(Aws::String &&value)
GetReservationUtilizationRequest & WithGroupBy(Aws::Vector< GroupDefinition > &&value)
GetReservationUtilizationRequest & WithGranularity(const Granularity &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:17
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
Definition: HttpTypes.h:53
GetReservationUtilizationRequest & WithTimePeriod(DateInterval &&value)
GetReservationUtilizationRequest & AddGroupBy(const GroupDefinition &value)
GetReservationUtilizationRequest & WithNextPageToken(const char *value)
GetReservationUtilizationRequest & WithTimePeriod(const DateInterval &value)
GetReservationUtilizationRequest & WithGranularity(Granularity &&value)
GetReservationUtilizationRequest & WithGroupBy(const Aws::Vector< GroupDefinition > &value)
GetReservationUtilizationRequest & WithFilter(Expression &&value)
#define AWS_COSTEXPLORER_API
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
void SetGroupBy(const Aws::Vector< GroupDefinition > &value)
GetReservationUtilizationRequest & WithNextPageToken(const Aws::String &value)