AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
CostCategory.h
1
6#pragma once
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>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace CostExplorer
27{
28namespace Model
29{
30
38 {
39 public:
40 AWS_COSTEXPLORER_API CostCategory() = default;
41 AWS_COSTEXPLORER_API CostCategory(Aws::Utils::Json::JsonView jsonValue);
42 AWS_COSTEXPLORER_API CostCategory& operator=(Aws::Utils::Json::JsonView jsonValue);
43 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
50 inline const Aws::String& GetCostCategoryArn() const { return m_costCategoryArn; }
51 inline bool CostCategoryArnHasBeenSet() const { return m_costCategoryArnHasBeenSet; }
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>
55 CostCategory& WithCostCategoryArn(CostCategoryArnT&& value) { SetCostCategoryArn(std::forward<CostCategoryArnT>(value)); return *this;}
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) { m_effectiveStartHasBeenSet = true; m_effectiveStart = std::forward<EffectiveStartT>(value); }
66 template<typename EffectiveStartT = Aws::String>
67 CostCategory& WithEffectiveStart(EffectiveStartT&& value) { SetEffectiveStart(std::forward<EffectiveStartT>(value)); return *this;}
69
71
74 inline const Aws::String& GetEffectiveEnd() const { return m_effectiveEnd; }
75 inline bool EffectiveEndHasBeenSet() const { return m_effectiveEndHasBeenSet; }
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>
79 CostCategory& WithEffectiveEnd(EffectiveEndT&& value) { SetEffectiveEnd(std::forward<EffectiveEndT>(value)); return *this;}
81
83
84 inline const Aws::String& GetName() const { return m_name; }
85 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
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>
89 CostCategory& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
91
93
94 inline CostCategoryRuleVersion GetRuleVersion() const { return m_ruleVersion; }
95 inline bool RuleVersionHasBeenSet() const { return m_ruleVersionHasBeenSet; }
96 inline void SetRuleVersion(CostCategoryRuleVersion value) { m_ruleVersionHasBeenSet = true; m_ruleVersion = value; }
99
101
106 inline const Aws::Vector<CostCategoryRule>& GetRules() const { return m_rules; }
107 inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; }
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>>
111 CostCategory& WithRules(RulesT&& value) { SetRules(std::forward<RulesT>(value)); return *this;}
112 template<typename RulesT = CostCategoryRule>
113 CostCategory& AddRules(RulesT&& value) { m_rulesHasBeenSet = true; m_rules.emplace_back(std::forward<RulesT>(value)); return *this; }
115
117
121 inline const Aws::Vector<CostCategorySplitChargeRule>& GetSplitChargeRules() const { return m_splitChargeRules; }
122 inline bool SplitChargeRulesHasBeenSet() const { return m_splitChargeRulesHasBeenSet; }
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>>
126 CostCategory& WithSplitChargeRules(SplitChargeRulesT&& value) { SetSplitChargeRules(std::forward<SplitChargeRulesT>(value)); return *this;}
127 template<typename SplitChargeRulesT = CostCategorySplitChargeRule>
128 CostCategory& AddSplitChargeRules(SplitChargeRulesT&& value) { m_splitChargeRulesHasBeenSet = true; m_splitChargeRules.emplace_back(std::forward<SplitChargeRulesT>(value)); return *this; }
130
132
136 inline const Aws::Vector<CostCategoryProcessingStatus>& GetProcessingStatus() const { return m_processingStatus; }
137 inline bool ProcessingStatusHasBeenSet() const { return m_processingStatusHasBeenSet; }
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>>
141 CostCategory& WithProcessingStatus(ProcessingStatusT&& value) { SetProcessingStatus(std::forward<ProcessingStatusT>(value)); return *this;}
142 template<typename ProcessingStatusT = CostCategoryProcessingStatus>
143 CostCategory& AddProcessingStatus(ProcessingStatusT&& value) { m_processingStatusHasBeenSet = true; m_processingStatus.emplace_back(std::forward<ProcessingStatusT>(value)); return *this; }
145
147
148 inline const Aws::String& GetDefaultValue() const { return m_defaultValue; }
149 inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; }
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>
153 CostCategory& WithDefaultValue(DefaultValueT&& value) { SetDefaultValue(std::forward<DefaultValueT>(value)); return *this;}
155 private:
156
157 Aws::String m_costCategoryArn;
158 bool m_costCategoryArnHasBeenSet = false;
159
160 Aws::String m_effectiveStart;
161 bool m_effectiveStartHasBeenSet = false;
162
163 Aws::String m_effectiveEnd;
164 bool m_effectiveEndHasBeenSet = false;
165
166 Aws::String m_name;
167 bool m_nameHasBeenSet = false;
168
170 bool m_ruleVersionHasBeenSet = false;
171
173 bool m_rulesHasBeenSet = false;
174
176 bool m_splitChargeRulesHasBeenSet = false;
177
179 bool m_processingStatusHasBeenSet = false;
180
181 Aws::String m_defaultValue;
182 bool m_defaultValueHasBeenSet = false;
183 };
184
185} // namespace Model
186} // namespace CostExplorer
187} // 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