7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/ce/model/CostCategoryRuleVersion.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ce/model/CostCategoryRule.h>
12#include <aws/ce/model/CostCategorySplitChargeRule.h>
13#include <aws/ce/model/CostCategoryProcessingStatus.h>
52 template<
typename CostCategoryArnT = Aws::String>
53 void SetCostCategoryArn(CostCategoryArnT&& value) { m_costCategoryArnHasBeenSet =
true; m_costCategoryArn = std::forward<CostCategoryArnT>(value); }
54 template<
typename CostCategoryArnT = Aws::String>
64 template<
typename EffectiveStartT = Aws::String>
65 void SetEffectiveStart(EffectiveStartT&& value) { m_effectiveStartHasBeenSet =
true; m_effectiveStart = std::forward<EffectiveStartT>(value); }
66 template<
typename EffectiveStartT = Aws::String>
76 template<
typename EffectiveEndT = Aws::String>
77 void SetEffectiveEnd(EffectiveEndT&& value) { m_effectiveEndHasBeenSet =
true; m_effectiveEnd = std::forward<EffectiveEndT>(value); }
78 template<
typename EffectiveEndT = Aws::String>
86 template<
typename NameT = Aws::String>
87 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
88 template<
typename NameT = Aws::String>
108 template<
typename RulesT = Aws::Vector<CostCategoryRule>>
109 void SetRules(RulesT&& value) { m_rulesHasBeenSet =
true; m_rules = std::forward<RulesT>(value); }
110 template<
typename RulesT = Aws::Vector<CostCategoryRule>>
112 template<
typename RulesT = CostCategoryRule>
113 CostCategory&
AddRules(RulesT&& value) { m_rulesHasBeenSet =
true; m_rules.emplace_back(std::forward<RulesT>(value));
return *
this; }
123 template<
typename SplitChargeRulesT = Aws::Vector<CostCategorySplitChargeRule>>
124 void SetSplitChargeRules(SplitChargeRulesT&& value) { m_splitChargeRulesHasBeenSet =
true; m_splitChargeRules = std::forward<SplitChargeRulesT>(value); }
125 template<
typename SplitChargeRulesT = Aws::Vector<CostCategorySplitChargeRule>>
127 template<
typename SplitChargeRulesT = CostCategorySplitChargeRule>
128 CostCategory&
AddSplitChargeRules(SplitChargeRulesT&& value) { m_splitChargeRulesHasBeenSet =
true; m_splitChargeRules.emplace_back(std::forward<SplitChargeRulesT>(value));
return *
this; }
138 template<
typename ProcessingStatusT = Aws::Vector<CostCategoryProcessingStatus>>
139 void SetProcessingStatus(ProcessingStatusT&& value) { m_processingStatusHasBeenSet =
true; m_processingStatus = std::forward<ProcessingStatusT>(value); }
140 template<
typename ProcessingStatusT = Aws::Vector<CostCategoryProcessingStatus>>
142 template<
typename ProcessingStatusT = CostCategoryProcessingStatus>
143 CostCategory&
AddProcessingStatus(ProcessingStatusT&& value) { m_processingStatusHasBeenSet =
true; m_processingStatus.emplace_back(std::forward<ProcessingStatusT>(value));
return *
this; }
150 template<
typename DefaultValueT = Aws::String>
151 void SetDefaultValue(DefaultValueT&& value) { m_defaultValueHasBeenSet =
true; m_defaultValue = std::forward<DefaultValueT>(value); }
152 template<
typename DefaultValueT = Aws::String>
158 bool m_costCategoryArnHasBeenSet =
false;
161 bool m_effectiveStartHasBeenSet =
false;
164 bool m_effectiveEndHasBeenSet =
false;
167 bool m_nameHasBeenSet =
false;
170 bool m_ruleVersionHasBeenSet =
false;
173 bool m_rulesHasBeenSet =
false;
176 bool m_splitChargeRulesHasBeenSet =
false;
179 bool m_processingStatusHasBeenSet =
false;
182 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