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>
24namespace CostExplorer {
46 template <
typename CostCategoryArnT = Aws::String>
48 m_costCategoryArnHasBeenSet =
true;
49 m_costCategoryArn = std::forward<CostCategoryArnT>(value);
51 template <
typename CostCategoryArnT = Aws::String>
64 template <
typename EffectiveStartT = Aws::String>
66 m_effectiveStartHasBeenSet =
true;
67 m_effectiveStart = std::forward<EffectiveStartT>(value);
69 template <
typename EffectiveStartT = Aws::String>
82 template <
typename EffectiveEndT = Aws::String>
84 m_effectiveEndHasBeenSet =
true;
85 m_effectiveEnd = std::forward<EffectiveEndT>(value);
87 template <
typename EffectiveEndT = Aws::String>
98 template <
typename NameT = Aws::String>
100 m_nameHasBeenSet =
true;
101 m_name = std::forward<NameT>(value);
103 template <
typename NameT = Aws::String>
105 SetName(std::forward<NameT>(value));
115 m_ruleVersionHasBeenSet =
true;
116 m_ruleVersion = value;
132 template <
typename RulesT = Aws::Vector<CostCategoryRule>>
134 m_rulesHasBeenSet =
true;
135 m_rules = std::forward<RulesT>(value);
137 template <
typename RulesT = Aws::Vector<CostCategoryRule>>
139 SetRules(std::forward<RulesT>(value));
142 template <
typename RulesT = CostCategoryRule>
144 m_rulesHasBeenSet =
true;
145 m_rules.emplace_back(std::forward<RulesT>(value));
157 template <
typename SplitChargeRulesT = Aws::Vector<CostCategorySplitChargeRule>>
159 m_splitChargeRulesHasBeenSet =
true;
160 m_splitChargeRules = std::forward<SplitChargeRulesT>(value);
162 template <
typename SplitChargeRulesT = Aws::Vector<CostCategorySplitChargeRule>>
167 template <
typename SplitChargeRulesT = CostCategorySplitChargeRule>
169 m_splitChargeRulesHasBeenSet =
true;
170 m_splitChargeRules.emplace_back(std::forward<SplitChargeRulesT>(value));
182 template <
typename ProcessingStatusT = Aws::Vector<CostCategoryProcessingStatus>>
184 m_processingStatusHasBeenSet =
true;
185 m_processingStatus = std::forward<ProcessingStatusT>(value);
187 template <
typename ProcessingStatusT = Aws::Vector<CostCategoryProcessingStatus>>
192 template <
typename ProcessingStatusT = CostCategoryProcessingStatus>
194 m_processingStatusHasBeenSet =
true;
195 m_processingStatus.emplace_back(std::forward<ProcessingStatusT>(value));
204 template <
typename DefaultValueT = Aws::String>
206 m_defaultValueHasBeenSet =
true;
207 m_defaultValue = std::forward<DefaultValueT>(value);
209 template <
typename DefaultValueT = Aws::String>
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;
bool NameHasBeenSet() const
bool SplitChargeRulesHasBeenSet() const
const Aws::String & GetName() const
CostCategory & WithRuleVersion(CostCategoryRuleVersion value)
CostCategory & WithCostCategoryArn(CostCategoryArnT &&value)
bool RuleVersionHasBeenSet() const
void SetName(NameT &&value)
CostCategory & WithProcessingStatus(ProcessingStatusT &&value)
void SetRules(RulesT &&value)
bool DefaultValueHasBeenSet() const
const Aws::String & GetCostCategoryArn() const
CostCategory & WithDefaultValue(DefaultValueT &&value)
bool EffectiveStartHasBeenSet() const
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)
bool ProcessingStatusHasBeenSet() const
bool RulesHasBeenSet() const
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
bool EffectiveEndHasBeenSet() const
const Aws::String & GetEffectiveEnd() const
CostCategory & AddRules(RulesT &&value)
bool CostCategoryArnHasBeenSet() const
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