AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
CostCategory.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/CostCategoryProcessingStatus.h>
9#include <aws/ce/model/CostCategoryRule.h>
10#include <aws/ce/model/CostCategoryRuleVersion.h>
11#include <aws/ce/model/CostCategorySplitChargeRule.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace CostExplorer {
25namespace Model {
26
34 public:
35 AWS_COSTEXPLORER_API CostCategory() = default;
36 AWS_COSTEXPLORER_API CostCategory(Aws::Utils::Json::JsonView jsonValue);
37 AWS_COSTEXPLORER_API CostCategory& operator=(Aws::Utils::Json::JsonView jsonValue);
38 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline const Aws::String& GetCostCategoryArn() const { return m_costCategoryArn; }
45 inline bool CostCategoryArnHasBeenSet() const { return m_costCategoryArnHasBeenSet; }
46 template <typename CostCategoryArnT = Aws::String>
47 void SetCostCategoryArn(CostCategoryArnT&& value) {
48 m_costCategoryArnHasBeenSet = true;
49 m_costCategoryArn = std::forward<CostCategoryArnT>(value);
50 }
51 template <typename CostCategoryArnT = Aws::String>
52 CostCategory& WithCostCategoryArn(CostCategoryArnT&& value) {
53 SetCostCategoryArn(std::forward<CostCategoryArnT>(value));
54 return *this;
55 }
57
59
62 inline const Aws::String& GetEffectiveStart() const { return m_effectiveStart; }
63 inline bool EffectiveStartHasBeenSet() const { return m_effectiveStartHasBeenSet; }
64 template <typename EffectiveStartT = Aws::String>
65 void SetEffectiveStart(EffectiveStartT&& value) {
66 m_effectiveStartHasBeenSet = true;
67 m_effectiveStart = std::forward<EffectiveStartT>(value);
68 }
69 template <typename EffectiveStartT = Aws::String>
70 CostCategory& WithEffectiveStart(EffectiveStartT&& value) {
71 SetEffectiveStart(std::forward<EffectiveStartT>(value));
72 return *this;
73 }
75
77
80 inline const Aws::String& GetEffectiveEnd() const { return m_effectiveEnd; }
81 inline bool EffectiveEndHasBeenSet() const { return m_effectiveEndHasBeenSet; }
82 template <typename EffectiveEndT = Aws::String>
83 void SetEffectiveEnd(EffectiveEndT&& value) {
84 m_effectiveEndHasBeenSet = true;
85 m_effectiveEnd = std::forward<EffectiveEndT>(value);
86 }
87 template <typename EffectiveEndT = Aws::String>
88 CostCategory& WithEffectiveEnd(EffectiveEndT&& value) {
89 SetEffectiveEnd(std::forward<EffectiveEndT>(value));
90 return *this;
91 }
93
95
96 inline const Aws::String& GetName() const { return m_name; }
97 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
98 template <typename NameT = Aws::String>
99 void SetName(NameT&& value) {
100 m_nameHasBeenSet = true;
101 m_name = std::forward<NameT>(value);
102 }
103 template <typename NameT = Aws::String>
104 CostCategory& WithName(NameT&& value) {
105 SetName(std::forward<NameT>(value));
106 return *this;
107 }
109
111
112 inline CostCategoryRuleVersion GetRuleVersion() const { return m_ruleVersion; }
113 inline bool RuleVersionHasBeenSet() const { return m_ruleVersionHasBeenSet; }
115 m_ruleVersionHasBeenSet = true;
116 m_ruleVersion = value;
117 }
119 SetRuleVersion(value);
120 return *this;
121 }
123
125
130 inline const Aws::Vector<CostCategoryRule>& GetRules() const { return m_rules; }
131 inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; }
132 template <typename RulesT = Aws::Vector<CostCategoryRule>>
133 void SetRules(RulesT&& value) {
134 m_rulesHasBeenSet = true;
135 m_rules = std::forward<RulesT>(value);
136 }
137 template <typename RulesT = Aws::Vector<CostCategoryRule>>
138 CostCategory& WithRules(RulesT&& value) {
139 SetRules(std::forward<RulesT>(value));
140 return *this;
141 }
142 template <typename RulesT = CostCategoryRule>
143 CostCategory& AddRules(RulesT&& value) {
144 m_rulesHasBeenSet = true;
145 m_rules.emplace_back(std::forward<RulesT>(value));
146 return *this;
147 }
149
151
155 inline const Aws::Vector<CostCategorySplitChargeRule>& GetSplitChargeRules() const { return m_splitChargeRules; }
156 inline bool SplitChargeRulesHasBeenSet() const { return m_splitChargeRulesHasBeenSet; }
157 template <typename SplitChargeRulesT = Aws::Vector<CostCategorySplitChargeRule>>
158 void SetSplitChargeRules(SplitChargeRulesT&& value) {
159 m_splitChargeRulesHasBeenSet = true;
160 m_splitChargeRules = std::forward<SplitChargeRulesT>(value);
161 }
162 template <typename SplitChargeRulesT = Aws::Vector<CostCategorySplitChargeRule>>
163 CostCategory& WithSplitChargeRules(SplitChargeRulesT&& value) {
164 SetSplitChargeRules(std::forward<SplitChargeRulesT>(value));
165 return *this;
166 }
167 template <typename SplitChargeRulesT = CostCategorySplitChargeRule>
168 CostCategory& AddSplitChargeRules(SplitChargeRulesT&& value) {
169 m_splitChargeRulesHasBeenSet = true;
170 m_splitChargeRules.emplace_back(std::forward<SplitChargeRulesT>(value));
171 return *this;
172 }
174
176
180 inline const Aws::Vector<CostCategoryProcessingStatus>& GetProcessingStatus() const { return m_processingStatus; }
181 inline bool ProcessingStatusHasBeenSet() const { return m_processingStatusHasBeenSet; }
182 template <typename ProcessingStatusT = Aws::Vector<CostCategoryProcessingStatus>>
183 void SetProcessingStatus(ProcessingStatusT&& value) {
184 m_processingStatusHasBeenSet = true;
185 m_processingStatus = std::forward<ProcessingStatusT>(value);
186 }
187 template <typename ProcessingStatusT = Aws::Vector<CostCategoryProcessingStatus>>
188 CostCategory& WithProcessingStatus(ProcessingStatusT&& value) {
189 SetProcessingStatus(std::forward<ProcessingStatusT>(value));
190 return *this;
191 }
192 template <typename ProcessingStatusT = CostCategoryProcessingStatus>
193 CostCategory& AddProcessingStatus(ProcessingStatusT&& value) {
194 m_processingStatusHasBeenSet = true;
195 m_processingStatus.emplace_back(std::forward<ProcessingStatusT>(value));
196 return *this;
197 }
199
201
202 inline const Aws::String& GetDefaultValue() const { return m_defaultValue; }
203 inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; }
204 template <typename DefaultValueT = Aws::String>
205 void SetDefaultValue(DefaultValueT&& value) {
206 m_defaultValueHasBeenSet = true;
207 m_defaultValue = std::forward<DefaultValueT>(value);
208 }
209 template <typename DefaultValueT = Aws::String>
210 CostCategory& WithDefaultValue(DefaultValueT&& value) {
211 SetDefaultValue(std::forward<DefaultValueT>(value));
212 return *this;
213 }
215 private:
216 Aws::String m_costCategoryArn;
217
218 Aws::String m_effectiveStart;
219
220 Aws::String m_effectiveEnd;
221
222 Aws::String m_name;
223
225
227
229
231
232 Aws::String m_defaultValue;
233 bool m_costCategoryArnHasBeenSet = false;
234 bool m_effectiveStartHasBeenSet = false;
235 bool m_effectiveEndHasBeenSet = false;
236 bool m_nameHasBeenSet = false;
237 bool m_ruleVersionHasBeenSet = false;
238 bool m_rulesHasBeenSet = false;
239 bool m_splitChargeRulesHasBeenSet = false;
240 bool m_processingStatusHasBeenSet = false;
241 bool m_defaultValueHasBeenSet = false;
242};
243
244} // namespace Model
245} // namespace CostExplorer
246} // namespace Aws
const Aws::String & GetName() const
CostCategory & WithRuleVersion(CostCategoryRuleVersion value)
CostCategory & WithCostCategoryArn(CostCategoryArnT &&value)
CostCategory & WithProcessingStatus(ProcessingStatusT &&value)
const Aws::String & GetCostCategoryArn() const
CostCategory & WithDefaultValue(DefaultValueT &&value)
CostCategory & WithSplitChargeRules(SplitChargeRulesT &&value)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetDefaultValue() const
void SetProcessingStatus(ProcessingStatusT &&value)
AWS_COSTEXPLORER_API CostCategory(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< CostCategoryRule > & GetRules() const
void SetEffectiveStart(EffectiveStartT &&value)
void SetDefaultValue(DefaultValueT &&value)
const Aws::Vector< CostCategoryProcessingStatus > & GetProcessingStatus() const
AWS_COSTEXPLORER_API CostCategory & operator=(Aws::Utils::Json::JsonView jsonValue)
CostCategory & AddSplitChargeRules(SplitChargeRulesT &&value)
void SetSplitChargeRules(SplitChargeRulesT &&value)
CostCategory & AddProcessingStatus(ProcessingStatusT &&value)
CostCategoryRuleVersion GetRuleVersion() const
const Aws::String & GetEffectiveEnd() const
CostCategory & AddRules(RulesT &&value)
CostCategory & WithRules(RulesT &&value)
void SetRuleVersion(CostCategoryRuleVersion value)
const Aws::Vector< CostCategorySplitChargeRule > & GetSplitChargeRules() const
void SetCostCategoryArn(CostCategoryArnT &&value)
CostCategory & WithEffectiveEnd(EffectiveEndT &&value)
AWS_COSTEXPLORER_API CostCategory()=default
CostCategory & WithName(NameT &&value)
const Aws::String & GetEffectiveStart() const
void SetEffectiveEnd(EffectiveEndT &&value)
CostCategory & WithEffectiveStart(EffectiveStartT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue