AWS SDK for C++

AWS SDK for C++ Version 1.11.608

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/core/utils/memory/stl/AWSVector.h>
10#include <aws/ce/model/ReservationAggregates.h>
11#include <aws/ce/model/ReservationUtilizationGroup.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace CostExplorer
25{
26namespace Model
27{
28
35 {
36 public:
37 AWS_COSTEXPLORER_API UtilizationByTime() = default;
38 AWS_COSTEXPLORER_API UtilizationByTime(Aws::Utils::Json::JsonView jsonValue);
39 AWS_COSTEXPLORER_API UtilizationByTime& operator=(Aws::Utils::Json::JsonView jsonValue);
40 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
41
42
44
47 inline const DateInterval& GetTimePeriod() const { return m_timePeriod; }
48 inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
49 template<typename TimePeriodT = DateInterval>
50 void SetTimePeriod(TimePeriodT&& value) { m_timePeriodHasBeenSet = true; m_timePeriod = std::forward<TimePeriodT>(value); }
51 template<typename TimePeriodT = DateInterval>
52 UtilizationByTime& WithTimePeriod(TimePeriodT&& value) { SetTimePeriod(std::forward<TimePeriodT>(value)); return *this;}
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) { m_groupsHasBeenSet = true; m_groups = std::forward<GroupsT>(value); }
63 template<typename GroupsT = Aws::Vector<ReservationUtilizationGroup>>
64 UtilizationByTime& WithGroups(GroupsT&& value) { SetGroups(std::forward<GroupsT>(value)); return *this;}
65 template<typename GroupsT = ReservationUtilizationGroup>
66 UtilizationByTime& AddGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups.emplace_back(std::forward<GroupsT>(value)); return *this; }
68
70
73 inline const ReservationAggregates& GetTotal() const { return m_total; }
74 inline bool TotalHasBeenSet() const { return m_totalHasBeenSet; }
75 template<typename TotalT = ReservationAggregates>
76 void SetTotal(TotalT&& value) { m_totalHasBeenSet = true; m_total = std::forward<TotalT>(value); }
77 template<typename TotalT = ReservationAggregates>
78 UtilizationByTime& WithTotal(TotalT&& value) { SetTotal(std::forward<TotalT>(value)); return *this;}
80 private:
81
82 DateInterval m_timePeriod;
83 bool m_timePeriodHasBeenSet = false;
84
86 bool m_groupsHasBeenSet = false;
87
89 bool m_totalHasBeenSet = false;
90 };
91
92} // namespace Model
93} // namespace CostExplorer
94} // 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