AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
CoverageByTime.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/Coverage.h>
11#include <aws/ce/model/ReservationCoverageGroup.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
36 {
37 public:
38 AWS_COSTEXPLORER_API CoverageByTime() = default;
39 AWS_COSTEXPLORER_API CoverageByTime(Aws::Utils::Json::JsonView jsonValue);
40 AWS_COSTEXPLORER_API CoverageByTime& operator=(Aws::Utils::Json::JsonView jsonValue);
41 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
48 inline const DateInterval& GetTimePeriod() const { return m_timePeriod; }
49 inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
50 template<typename TimePeriodT = DateInterval>
51 void SetTimePeriod(TimePeriodT&& value) { m_timePeriodHasBeenSet = true; m_timePeriod = std::forward<TimePeriodT>(value); }
52 template<typename TimePeriodT = DateInterval>
53 CoverageByTime& WithTimePeriod(TimePeriodT&& value) { SetTimePeriod(std::forward<TimePeriodT>(value)); return *this;}
55
57
60 inline const Aws::Vector<ReservationCoverageGroup>& GetGroups() const { return m_groups; }
61 inline bool GroupsHasBeenSet() const { return m_groupsHasBeenSet; }
62 template<typename GroupsT = Aws::Vector<ReservationCoverageGroup>>
63 void SetGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups = std::forward<GroupsT>(value); }
64 template<typename GroupsT = Aws::Vector<ReservationCoverageGroup>>
65 CoverageByTime& WithGroups(GroupsT&& value) { SetGroups(std::forward<GroupsT>(value)); return *this;}
66 template<typename GroupsT = ReservationCoverageGroup>
67 CoverageByTime& AddGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups.emplace_back(std::forward<GroupsT>(value)); return *this; }
69
71
74 inline const Coverage& GetTotal() const { return m_total; }
75 inline bool TotalHasBeenSet() const { return m_totalHasBeenSet; }
76 template<typename TotalT = Coverage>
77 void SetTotal(TotalT&& value) { m_totalHasBeenSet = true; m_total = std::forward<TotalT>(value); }
78 template<typename TotalT = Coverage>
79 CoverageByTime& WithTotal(TotalT&& value) { SetTotal(std::forward<TotalT>(value)); return *this;}
81 private:
82
83 DateInterval m_timePeriod;
84 bool m_timePeriodHasBeenSet = false;
85
87 bool m_groupsHasBeenSet = false;
88
89 Coverage m_total;
90 bool m_totalHasBeenSet = false;
91 };
92
93} // namespace Model
94} // namespace CostExplorer
95} // namespace Aws
const Aws::Vector< ReservationCoverageGroup > & GetGroups() const
CoverageByTime & AddGroups(GroupsT &&value)
const DateInterval & GetTimePeriod() const
AWS_COSTEXPLORER_API CoverageByTime & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetTimePeriod(TimePeriodT &&value)
AWS_COSTEXPLORER_API CoverageByTime(Aws::Utils::Json::JsonView jsonValue)
AWS_COSTEXPLORER_API CoverageByTime()=default
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
CoverageByTime & WithGroups(GroupsT &&value)
CoverageByTime & WithTimePeriod(TimePeriodT &&value)
CoverageByTime & WithTotal(TotalT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue