AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
SavingsPlansCoverage.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/DateInterval.h>
9#include <aws/ce/model/SavingsPlansCoverageData.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/core/utils/memory/stl/AWSString.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
33 public:
34 AWS_COSTEXPLORER_API SavingsPlansCoverage() = default;
35 AWS_COSTEXPLORER_API SavingsPlansCoverage(Aws::Utils::Json::JsonView jsonValue);
37 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
43 inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const { return m_attributes; }
44 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
45 template <typename AttributesT = Aws::Map<Aws::String, Aws::String>>
46 void SetAttributes(AttributesT&& value) {
47 m_attributesHasBeenSet = true;
48 m_attributes = std::forward<AttributesT>(value);
49 }
50 template <typename AttributesT = Aws::Map<Aws::String, Aws::String>>
51 SavingsPlansCoverage& WithAttributes(AttributesT&& value) {
52 SetAttributes(std::forward<AttributesT>(value));
53 return *this;
54 }
55 template <typename AttributesKeyT = Aws::String, typename AttributesValueT = Aws::String>
56 SavingsPlansCoverage& AddAttributes(AttributesKeyT&& key, AttributesValueT&& value) {
57 m_attributesHasBeenSet = true;
58 m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value));
59 return *this;
60 }
62
64
68 inline const SavingsPlansCoverageData& GetCoverage() const { return m_coverage; }
69 inline bool CoverageHasBeenSet() const { return m_coverageHasBeenSet; }
70 template <typename CoverageT = SavingsPlansCoverageData>
71 void SetCoverage(CoverageT&& value) {
72 m_coverageHasBeenSet = true;
73 m_coverage = std::forward<CoverageT>(value);
74 }
75 template <typename CoverageT = SavingsPlansCoverageData>
76 SavingsPlansCoverage& WithCoverage(CoverageT&& value) {
77 SetCoverage(std::forward<CoverageT>(value));
78 return *this;
79 }
81
83
84 inline const DateInterval& GetTimePeriod() const { return m_timePeriod; }
85 inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
86 template <typename TimePeriodT = DateInterval>
87 void SetTimePeriod(TimePeriodT&& value) {
88 m_timePeriodHasBeenSet = true;
89 m_timePeriod = std::forward<TimePeriodT>(value);
90 }
91 template <typename TimePeriodT = DateInterval>
92 SavingsPlansCoverage& WithTimePeriod(TimePeriodT&& value) {
93 SetTimePeriod(std::forward<TimePeriodT>(value));
94 return *this;
95 }
97 private:
99
100 SavingsPlansCoverageData m_coverage;
101
102 DateInterval m_timePeriod;
103 bool m_attributesHasBeenSet = false;
104 bool m_coverageHasBeenSet = false;
105 bool m_timePeriodHasBeenSet = false;
106};
107
108} // namespace Model
109} // namespace CostExplorer
110} // namespace Aws
SavingsPlansCoverage & WithCoverage(CoverageT &&value)
const SavingsPlansCoverageData & GetCoverage() const
SavingsPlansCoverage & AddAttributes(AttributesKeyT &&key, AttributesValueT &&value)
AWS_COSTEXPLORER_API SavingsPlansCoverage(Aws::Utils::Json::JsonView jsonValue)
SavingsPlansCoverage & WithAttributes(AttributesT &&value)
AWS_COSTEXPLORER_API SavingsPlansCoverage & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_COSTEXPLORER_API SavingsPlansCoverage()=default
SavingsPlansCoverage & WithTimePeriod(TimePeriodT &&value)
const Aws::Map< Aws::String, Aws::String > & GetAttributes() const
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
Aws::Utils::Json::JsonValue JsonValue