AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
UtilizationByTime.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/DateInterval.h>
9#include <aws/ce/model/ReservationAggregates.h>
10#include <aws/ce/model/ReservationUtilizationGroup.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace CostExplorer {
23namespace Model {
24
31 public:
32 AWS_COSTEXPLORER_API UtilizationByTime() = default;
33 AWS_COSTEXPLORER_API UtilizationByTime(Aws::Utils::Json::JsonView jsonValue);
34 AWS_COSTEXPLORER_API UtilizationByTime& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline const DateInterval& GetTimePeriod() const { return m_timePeriod; }
42 inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
43 template <typename TimePeriodT = DateInterval>
44 void SetTimePeriod(TimePeriodT&& value) {
45 m_timePeriodHasBeenSet = true;
46 m_timePeriod = std::forward<TimePeriodT>(value);
47 }
48 template <typename TimePeriodT = DateInterval>
49 UtilizationByTime& WithTimePeriod(TimePeriodT&& value) {
50 SetTimePeriod(std::forward<TimePeriodT>(value));
51 return *this;
52 }
54
56
59 inline const Aws::Vector<ReservationUtilizationGroup>& GetGroups() const { return m_groups; }
60 inline bool GroupsHasBeenSet() const { return m_groupsHasBeenSet; }
61 template <typename GroupsT = Aws::Vector<ReservationUtilizationGroup>>
62 void SetGroups(GroupsT&& value) {
63 m_groupsHasBeenSet = true;
64 m_groups = std::forward<GroupsT>(value);
65 }
66 template <typename GroupsT = Aws::Vector<ReservationUtilizationGroup>>
67 UtilizationByTime& WithGroups(GroupsT&& value) {
68 SetGroups(std::forward<GroupsT>(value));
69 return *this;
70 }
71 template <typename GroupsT = ReservationUtilizationGroup>
72 UtilizationByTime& AddGroups(GroupsT&& value) {
73 m_groupsHasBeenSet = true;
74 m_groups.emplace_back(std::forward<GroupsT>(value));
75 return *this;
76 }
78
80
83 inline const ReservationAggregates& GetTotal() const { return m_total; }
84 inline bool TotalHasBeenSet() const { return m_totalHasBeenSet; }
85 template <typename TotalT = ReservationAggregates>
86 void SetTotal(TotalT&& value) {
87 m_totalHasBeenSet = true;
88 m_total = std::forward<TotalT>(value);
89 }
90 template <typename TotalT = ReservationAggregates>
91 UtilizationByTime& WithTotal(TotalT&& value) {
92 SetTotal(std::forward<TotalT>(value));
93 return *this;
94 }
96 private:
97 DateInterval m_timePeriod;
98
100
101 ReservationAggregates m_total;
102 bool m_timePeriodHasBeenSet = false;
103 bool m_groupsHasBeenSet = false;
104 bool m_totalHasBeenSet = false;
105};
106
107} // namespace Model
108} // namespace CostExplorer
109} // namespace Aws
UtilizationByTime & WithTotal(TotalT &&value)
UtilizationByTime & WithGroups(GroupsT &&value)
const Aws::Vector< ReservationUtilizationGroup > & GetGroups() const
const ReservationAggregates & GetTotal() const
AWS_COSTEXPLORER_API UtilizationByTime(Aws::Utils::Json::JsonView jsonValue)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
UtilizationByTime & AddGroups(GroupsT &&value)
AWS_COSTEXPLORER_API UtilizationByTime & operator=(Aws::Utils::Json::JsonView jsonValue)
UtilizationByTime & WithTimePeriod(TimePeriodT &&value)
AWS_COSTEXPLORER_API UtilizationByTime()=default
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue